Commit Graph

787 Commits

Author SHA1 Message Date
Lucas Clemente
44acb8ca82 remove session.maybeSendPacket, restrict small frame detection to ACKs
ref #217
2016-07-26 13:44:07 +02:00
Lucas Clemente
d9a3980efc remove streamFramer.HasData()
ref #217
2016-07-26 13:43:18 +02:00
Lucas Clemente
136a1c574c remove call to streamFramer.HasData in packet packer
ref #217
2016-07-26 13:42:31 +02:00
Lucas Clemente
7adf760fa4 change streamFramer to pop as many stream frames as possible at once
ref #217
2016-07-26 13:42:30 +02:00
Lucas Clemente
6f657c02e4 fix some linter warnings 2016-07-26 13:42:30 +02:00
Marten Seemann
03bad0e86b use the same interface for new and legacy AckHandlers
ref #55
2016-07-26 18:31:54 +07:00
Marten Seemann
50a7e55c72 rename AckHandlerNew to AckHandler
ref #55
2016-07-26 13:48:13 +07:00
Marten Seemann
ef194015de use wrapped legacy ACK frame
ref #55
2016-07-26 12:30:48 +07:00
Marten Seemann
516500e156 wrap legacy AckFrame in new AckFrame 2016-07-26 12:05:31 +07:00
Marten Seemann
fb172297eb rename AckFrameNew to AckFrame 2016-07-26 10:42:25 +07:00
Marten Seemann
03e25d1e85 send shorter Missing Packet Sequence Number Delta in new ACK frames
fixes #184
2016-07-25 17:43:31 +07:00
Marten Seemann
99d22b0908 open new stream when receiving a WindowUpdate for an unknown stream
fixes #203
2016-07-25 16:37:27 +07:00
Marten Seemann
f2b54869ed add tests for SentPacketHandlers for belated ACKs after RTO retransmissions
closes #191
2016-07-25 16:12:31 +07:00
Lucas Clemente
9ef936c941 switch to custom selenium chrome image with current stable chrome 2016-07-22 16:25:01 +02:00
Lucas Clemente
6ea4f4b6e3 update go version for CIs to 1.7rc2 2016-07-21 09:10:49 +02:00
Marten Seemann
c44e01a8e6 correctly write new ACK frames with more than 255 ACK ranges
fixes #193
2016-07-20 14:12:36 +08:00
Lucas Clemente
f1766f6cfd Merge pull request #221 from aead/master
Replace ChaCha20Poly1305 implementation
2016-07-18 13:01:15 +02:00
Andreas Auernhammer
c5be7d0d62 Replace ChaCha20Poly1305 implementation
Improve AEAD speed with slightly faster poly1305 implementation.
Avoid memory allocations whenever possible. (AEAD)
But currently missing AVX2 support.

BenchmarkSeal64B-8     1561 ns/op       40.97 MB/s
BenchmarkSeal1K-8      5570 ns/op      183.82 MB/s
BenchmarkSeal64K-8     161271 ns/op    406.37 MB/s
BenchmarkOpen64B-8     1747 ns/op       45.79 MB/s
BenchmarkOpen1K-8      5741 ns/op      181.14 MB/s
BenchmarkOpen64K-8     157116 ns/op    417.22 MB/s
2016-07-17 23:23:30 +02:00
Lucas Clemente
0412926b3d update crypto and caddy links in readme 2016-07-14 01:42:05 +02:00
Lucas Clemente
6449afe605 add a set of integration tests with 10ms simulated RTT 2016-07-13 22:46:07 +02:00
Marten Seemann
8413c00b48 fix handling of ACKs sent for a belated packet in new SentPacketHandler
fixes #219
2016-07-14 00:16:11 +08:00
Marten Seemann
f03f9c9a1c handle ACKs sent for a belated packet in legacy SentPacketHandler
ref #219
2016-07-14 00:09:41 +08:00
Lucas Clemente
546ba27013 add an error when attempting to write empty stream frames 2016-07-13 16:12:14 +02:00
Marten Seemann
903130da20 ignore repeated ACKs in new SentPacketHandler
fixes #218
2016-07-13 22:03:14 +08:00
Marten Seemann
21746d7e06 ignore repeated ACKs in legacy SentPacketHandler
ref #218
2016-07-13 21:57:19 +08:00
Lucas Clemente
38098954f4 reduce calls to framer.getFCAllowance 2016-07-12 15:01:14 +02:00
Lucas Clemente
58ec83c4ba remove unneeded function call to framer.HasData 2016-07-12 14:42:53 +02:00
Lucas Clemente
73db4d7a04 remove stream.contributesToConnectionFlowControl 2016-07-11 17:54:22 +02:00
Lucas Clemente
1bc8c882c9 remove session pointer from stream and use a lambda to signal new data 2016-07-11 14:57:54 +02:00
Lucas Clemente
f04d14ac3e use flow controller for window update handling, remove windowUpdateMgr 2016-07-11 14:54:32 +02:00
Lucas Clemente
e303a7f578 send CONNECTION_CLOSE from the normal run loop
fixes #199
2016-07-10 15:24:26 +02:00
Lucas Clemente
2d828fe6e2 use an RWMutex in flowControlManager 2016-07-09 18:11:41 +02:00
Lucas Clemente
80f4a68602 remove mutex from flowController; locking is ensured by the manager 2016-07-09 18:10:09 +02:00
Lucas Clemente
8dc330f818 remove MaybeTriggerBlocked from flowController 2016-07-09 18:09:37 +02:00
Lucas Clemente
a09de18f56 fix alignment of 64bit atomic for x86, see atomic package BUGs section 2016-07-09 15:10:35 +02:00
Lucas Clemente
91f1eb1561 re-enable BLOCKED frame sending
fixes #113, fixes #172, fixes #211
2016-07-09 14:37:16 +02:00
Lucas Clemente
bdbf8d3ebe add BLOCKED frame management to streamFramer
ref #211
2016-07-09 14:29:56 +02:00
Lucas Clemente
d547034ed3 Merge pull request #212 from lucas-clemente/stream-write
Refactor stream.Write
2016-07-09 14:03:46 +02:00
Lucas Clemente
4750924b27 improve tiles demo and remove an empty file 2016-07-08 18:21:46 +02:00
Lucas Clemente
37f2066933 remove caching of streamID lengths in StreamFrame
fixes the final failing test of #83
2016-07-08 18:21:46 +02:00
Lucas Clemente
87c1a2f004 remove sentPacketHandler from packetPacker 2016-07-08 18:21:46 +02:00
Lucas Clemente
66594f7a8a fix flaky session tests
ref #83
2016-07-08 18:21:45 +02:00
Lucas Clemente
50aa7ec52c re-enable most integration tests 2016-07-08 18:21:45 +02:00
Lucas Clemente
c672f461de improve integration test error handling 2016-07-08 18:21:45 +02:00
Lucas Clemente
f43c4c7f1a respect flow control in streamFramer estimated length and HasData()
ref #83
2016-07-08 18:21:45 +02:00
Lucas Clemente
bb8464efe0 copy the slice passed to stream.Write 2016-07-08 18:21:45 +02:00
Lucas Clemente
f8130288a3 fix early garbage collection of streams
ref #83
2016-07-08 18:21:45 +02:00
Lucas Clemente
5cc88f60dc fix handling of connection level window updates 2016-07-08 18:21:45 +02:00
Lucas Clemente
3cbf16b66f add flow control to streamFramer
ref #83
2016-07-08 18:21:45 +02:00
Lucas Clemente
81ae6d44ec introduce protocol.VersionWhatever for when the version doesn't matter
ref #83
2016-07-08 18:21:45 +02:00