Commit Graph

95 Commits

Author SHA1 Message Date
Lucas Clemente
c8bb818e4d fix some typos 2016-08-06 14:46:09 +02:00
Lucas Clemente
2097509d16 fix go vet warning 2016-08-06 14:45:11 +02:00
Lucas Clemente
3b5d10b1f2 properly increase LargestInOrderAcked past retransmitted packets 2016-08-05 15:07:13 +02:00
Lucas Clemente
ba3b293811 don't NACK already retransmitted packets in v34
ref #243, #248, #251
2016-08-04 22:24:43 +02:00
Marten Seemann
19f627af6f fix NACKing of packets below lowest ACK range in new SentPacketHandler
This did not cause an error, since the packet didn't exist in the
packetHistory. With this fix, it is more consistent and it saves one
loop iteration.
2016-08-03 13:13:32 +07:00
Marten Seemann
0c873d69ec fix lowestInreceivedTimes index in new ReceivedPacketHandler 2016-08-03 13:09:52 +07:00
Marten Seemann
af3f69c0f1 always delete packets from packetHistory when receiving a StopWaiting
in new AckHandler

fixes #239
2016-08-02 13:38:13 +07:00
Marten Seemann
955234487b delete receivedTimes when receiving a StopWaiting in new AckHandler
ref #239
2016-08-02 12:13:41 +07:00
Marten Seemann
e8a2c497e9 update StopWaitings when queueing retransmissions
fixes #231
2016-07-30 15:15:51 +07:00
Marten Seemann
71243ccccb don't send the same StopWaitingFrame twice
fixes #229
2016-07-30 14:15:45 +07:00
Marten Seemann
7604f7927d send a StopWaiting with every ACK in QUIC 34
fixes #185
2016-07-29 18:02:43 +07:00
Marten Seemann
73a64fde5f remove StopWaitingManager from new AckHandler 2016-07-29 18:02:43 +07: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
eb03ed5334 rename AckHandler package to AckHandlerLegacy 2016-06-21 19:51:26 +07:00
Marten Seemann
288cb9e143 rename AckFrame to AckFrameLegacy 2016-06-21 19:51:26 +07:00
Marten Seemann
c095261749 limit number of tracked packets in ReceivedPacketHandler
fixes #132
2016-06-11 13:57:54 +07:00
Lucas Clemente
4d5ff5d61e call OnCongestionEvent when packets are retransmitted due to an RTO
fixes #168
2016-06-06 11:56:32 +02:00
Lucas Clemente
6a46465092 reduce calls to Debugf when not debugging to reduce slice allocs
ref #129
2016-06-04 15:13:46 +02:00
Marten Seemann
d906492ae7 don't retransmit a packet after receiving a belated ACK
fixes #139
2016-05-27 18:36:28 +07:00
Lucas Clemente
9e0d211f5e fix and optimize RTO computation
fixes #144
2016-05-25 12:34:54 +02:00
Lucas Clemente
d4a189b2d1 refactor timer calculation in sesssion to reduce syscalls 2016-05-24 17:42:47 +02:00
Marten Seemann
e2254f1bbd limit number of packets stored in SentPacketHandler
fixes #140
2016-05-24 16:06:48 +07:00
Marten Seemann
931687e9a4 better function name in SentPacketHandler 2016-05-24 15:39:48 +07:00
Marten Seemann
5dc7f8b0ca add missing test for StopWaitingManager call in SentPacketHandler 2016-05-22 23:59:23 +07:00
Marten Seemann
f33058c504 move the RetransmissionThreshold to the server parameters 2016-05-22 23:45:09 +07:00
Marten Seemann
a1ba23aebd add garbage collector for ReceivedPacketHandler
fixes #7
2016-05-20 17:09:47 +07:00
Lucas Clemente
4822def788 implement timeout-based retransmission (RTO)
fixes #56
2016-05-18 23:21:33 +02:00
Lucas Clemente
753f219638 implement RTO computation in sentPacketHandler
ref #56
2016-05-18 20:50:22 +02:00
Lucas Clemente
a0228a9049 move congestion control from session to ackhandler
this simplifies things a bit, especially in prep for #56
2016-05-18 19:35:31 +02:00
Lucas Clemente
7a97f34fac don't panic 🤓
fixes #93
2016-05-18 18:29:42 +02:00
Lucas Clemente
e8b2d9748a capitalize TODOs 2016-05-17 19:24:49 +02:00
Lucas Clemente
d0e6b993bb use new error codes throughout the server
fixes #86
2016-05-17 12:49:59 +02:00
Marten Seemann
712e682d21 improve errors in SentPacketHandler 2016-05-16 18:44:11 +07:00
Marten Seemann
fb6d90b813 cosmetic changes in tests 2016-05-16 18:32:08 +07:00
Lucas Clemente
c12a12518e run gofmt -s on tests 2016-05-15 14:42:34 +02:00
Marten Seemann
540941117e cosmetic changes in tests 2016-05-15 13:08:56 +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
3683763dc0 send DelayTime in ACK frames
fixes #81
2016-05-12 17:43:48 +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
7169584ff9 implement sending of shortened packet numbers 2016-05-10 17:25:52 +07:00
Lucas Clemente
c3f51af850 reset retransmissionTimeout after sentPacketHandler tests 2016-05-08 18:29:08 +02:00
Marten Seemann
dbcf5b8cce send retransmission in the right order
fixes #62
2016-05-08 23:04:41 +07:00
Marten Seemann
833475a2ed ensure that StopWaitingManager only gives StopWaitingFrames with increasing LeastUnacked
fixes #49
2016-05-08 22:37:25 +07:00
Lucas Clemente
16b12328fc make sent packet handler return acked and lost packets for congestion 2016-05-07 00:46:00 +02:00
Lucas Clemente
02ab3480ff keep bytesInFlight as protocol.ByteCount 2016-05-06 12:59:32 +02:00
Marten Seemann
08d96d2a69 calculate NACK ranges in the correct order expected by the ACK frame writer
fixes #43
2016-05-03 18:31:02 +07:00
Marten Seemann
d1a3d14cf1 fix typo in EntropyAccumulator function 2016-05-02 16:36:48 +07:00