Commit Graph

426 Commits

Author SHA1 Message Date
Marten Seemann
878d6a7140 negotiate maximum number of streams per connection
fixes #20
2016-05-14 17:10:49 +07:00
Marten Seemann
16bd559d9a negotiate idle connection state lifetime
work towards #20
2016-05-14 16:48:19 +07:00
Marten Seemann
43621c9c25 keep separate flow control windows for sending and receiving in ConnectionParametersManager
work towards #19, #20, #39
2016-05-14 15:29:15 +07:00
Marten Seemann
ea22fa6346 split protocol constants into protocol and server parameters 2016-05-14 15:15:52 +07:00
Lucas Clemente
9abda1c91f cleanup and improve tests of utils package 2016-05-13 14:55:42 +02:00
Lucas Clemente
d1272650c3 add support for http client uploads
fixes #27
2016-05-13 13:01:45 +02:00
Lucas Clemente
c0c7650431 improve debug log 2016-05-13 12:14:52 +02:00
Marten Seemann
ba799cef01 delay transmission of small packets to wait for new data
fixes #9, fixes #61
2016-05-13 17:06:30 +07:00
Marten Seemann
c0c7be16e3 add method to get ACK from ReceivedPacketHandler without dequeueing it 2016-05-13 15:55:56 +07:00
Marten Seemann
f8dc78967a add method to ask SendPacketHandler if any retransmissions queued 2016-05-13 12:56:58 +07:00
Marten Seemann
16cb525dc4 calculate byte length of StreamFrameQueue 2016-05-13 12:00:33 +07:00
Marten Seemann
83f71e379e implement WindowUpdateFrame writing
work towards #19
2016-05-13 00:59:02 +07:00
Lucas Clemente
c7126137d1 queue undecryptable packets for later decryption & possibly send PRST
fixes #38, fixes #69, fixes #73
2016-05-12 16:46:18 +02:00
Marten Seemann
0df44e46e5 shorten LargestObserved in ACK frames
fixes #82
2016-05-12 20:01:23 +07:00
Marten Seemann
076349554f move packet number calculations to protocol package 2016-05-12 18:18:15 +07:00
Marten Seemann
3683763dc0 send DelayTime in ACK frames
fixes #81
2016-05-12 17:43:48 +07:00
Marten Seemann
2f6e2c1201 remove PacketNumber from Frame interface Write method 2016-05-12 16:22:08 +07:00
Marten Seemann
e782f28b2b save timestamp when a packet arrives in ReceivedPacketHandler
work towards #10, #81
2016-05-12 15:12:51 +07:00
Marten Seemann
33c0f3a5df set LeastUnackedDelta length in StopWaitingFrame
fixes #79
2016-05-12 13:05:42 +07:00
Marten Seemann
aaf4b0ae9e remove PacketNumberLen from Frame interface Write method 2016-05-12 11:22:31 +07:00
Lucas Clemente
060df6be7d refactor stream to remove a couple of race conditions
fixes #42
2016-05-11 22:30:14 +02:00
Lucas Clemente
8b1009d482 fix ack frame length calculation for version <32 2016-05-11 17:09:39 +02:00
Lucas Clemente
d17d597ebe implement certificate compression using common certificate sets
fixes #47
2016-05-11 16:30:04 +02:00
Lucas Clemente
ea83ca8950 implement cert compression with cached certificates 2016-05-11 16:30:04 +02:00
Marten Seemann
552efb57de fix StreamID validation
closes #78
2016-05-11 19:15:10 +07:00
Marten Seemann
e957ad6184 check that all new Streams initiated by the client have an odd StreamID
work towards #78
2016-05-11 18:47:06 +07:00
Lucas Clemente
8cdf832aa0 add support for sending intermediate certificate
fixes #76
2016-05-11 12:23:09 +02:00
Lucas Clemente
7c1e1cde56 rename GetCertCompressed to GetCertsCompressed 2016-05-11 11:41:44 +02:00
Lucas Clemente
20655bac5a rename GetCertUncompressed to GetLeafCert 2016-05-11 11:40:20 +02:00
Marten Seemann
b1731773cf only send Data length field in StreamFrames when necessary
fixes #77
2016-05-11 13:25:51 +07:00
Marten Seemann
41fa096480 add option to write StreamFrames without Data length field
work towards #77
2016-05-11 10:32:18 +07:00
Marten Seemann
bdf53744ac code cleanup in StreamFrame writing 2016-05-11 10:09:29 +07:00
Marten Seemann
4c087c48e4 send shorter offsets in StreamFrames
fixes #75
2016-05-11 10:01:26 +07:00
Marten Seemann
9a99df48a6 send shorter StreamIDs
fixes #74
2016-05-11 01:00:28 +07:00
Marten Seemann
e345270e84 use ByteCount type for Frame, Packet and PublicHeader lengths 2016-05-10 23:40:22 +07:00
Marten Seemann
174095d5aa make use of shorter PublicHeaders when packing a packet
fixes #67
2016-05-10 23:17:04 +07:00
Marten Seemann
b05b52a2a8 determine the length of the PublicHeader
work towards #67
2016-05-10 21:33:05 +07:00
Lucas Clemente
a26c42c4a4 add support for multiple udp connections per server 2016-05-10 15:34:54 +02:00
Marten Seemann
7169584ff9 implement sending of shortened packet numbers 2016-05-10 17:25:52 +07:00
Lucas Clemente
7609246b45 re-add support for version 30
fixes #72
2016-05-10 11:05:52 +02:00
Lucas Clemente
a4cdc97fb1 update version support in readme 2016-05-09 19:58:24 +02:00
Lucas Clemente
a3d77bae33 add support for FEC acks in version 31
fixes #68
2016-05-09 19:57:26 +02:00
Lucas Clemente
14b16a429c add version number to Frame.Write 2016-05-09 19:50:15 +02:00
Lucas Clemente
a219b72968 improve flaky goroutine tests
hopefully fixes #65
2016-05-09 19:21:39 +02:00
Lucas Clemente
b42bad8481 fix flaky server tests
ref #65
2016-05-09 17:57:20 +02:00
Marten Seemann
476acc2966 fix PublicHeader of VersionNegotiation and PublicReset packets
fixes #71
2016-05-09 22:27:55 +07:00
Marten Seemann
7bf94df817 Revert "fix FlagByte in PublicHeader"
This reverts commit 44e19787f3.
2016-05-09 21:28:00 +07:00
Marten Seemann
44e19787f3 fix FlagByte in PublicHeader 2016-05-09 18:25:12 +07:00
Marten Seemann
e8ba73f275 introduce PacketNumberLen type 2016-05-09 17:31:12 +07:00
Lucas Clemente
a141c31c69 add usage instructions to readme 2016-05-09 10:59:38 +02:00