Commit Graph

  • 8cb546d3eb temporary workaround for server handing when session chan is full Lucas Clemente 2016-04-29 16:50:39 +02:00
  • 480d339f9a implement public reset sending in session Lucas Clemente 2016-04-29 16:49:45 +02:00
  • 1e8d1453a8 implement public reset packet writing Lucas Clemente 2016-04-29 16:12:17 +02:00
  • a38735f8fc improve debug log Lucas Clemente 2016-04-29 12:35:18 +02:00
  • 64b5567eaa calculate RTT in session Lucas Clemente 2016-04-29 12:19:07 +02:00
  • 2878e47317 use time.Duration as delay time type in ackframe Lucas Clemente 2016-04-29 12:18:35 +02:00
  • 3a18452a93 add gitignore Lucas Clemente 2016-04-29 12:00:38 +02:00
  • d608a232e6 add very simple dockerfile for example server Lucas Clemente 2016-04-29 12:00:22 +02:00
  • 74f7576391 implement a StopWaitingManager Marten Seemann 2016-04-29 16:53:47 +07:00
  • 88a82be2fa fix http2 error handling Lucas Clemente 2016-04-29 11:53:15 +02:00
  • 5dddd9303f implement proper http request header handling Lucas Clemente 2016-04-29 11:49:46 +02:00
  • 42a1de6ba8 congestion interface cosmetics Lucas Clemente 2016-04-28 22:30:57 +02:00
  • 1535663fc5 add bytes-in-flight calculation to SentPacketHandler Lucas Clemente 2016-04-28 22:28:42 +02:00
  • 34b2e5129c move congestion clock to new file and implement default clock Lucas Clemente 2016-04-28 21:53:47 +02:00
  • ac1affb940 make SentPacketHandler compute the delta between sent and ack time Lucas Clemente 2016-04-28 18:52:12 +02:00
  • c07ad6ab76 implement reading and writing of ACK delay time Lucas Clemente 2016-04-28 18:08:43 +02:00
  • a079b3e662 add -www option to example server Lucas Clemente 2016-04-28 17:00:58 +02:00
  • 8dea856cad fix flag parsing in example server Lucas Clemente 2016-04-28 16:37:49 +02:00
  • 9f79d4bf0a add commented cubic tests copied from chrome for unsupported experiments Lucas Clemente 2016-04-28 14:46:40 +02:00
  • ea9d5dd884 add more cubic sender tests Lucas Clemente 2016-04-28 14:45:30 +02:00
  • 7f1e85a977 implement CubicSender.RetransmissionDelay Lucas Clemente 2016-04-28 14:32:48 +02:00
  • f209e87135 add support for slow start large reduction to cubic sender Lucas Clemente 2016-04-28 14:22:46 +02:00
  • 1722fc17be implement cubic sender connection migration Lucas Clemente 2016-04-28 14:06:52 +02:00
  • 1164726cb1 add more cubic sender tests Lucas Clemente 2016-04-28 13:40:02 +02:00
  • b4ffc67937 fix and add more cubic test cases Lucas Clemente 2016-04-28 13:31:42 +02:00
  • 0a4f0e201a add command line option for certificate path Marten Seemann 2016-04-28 17:45:02 +07:00
  • 595311e255 use certPath and keyPath variables when setting up the server Marten Seemann 2016-04-28 17:41:21 +07:00
  • b6a2f72b29 implement more cubic sender tests Lucas Clemente 2016-04-28 12:03:49 +02:00
  • 153ff598d9 add command line option which address to bind to Marten Seemann 2016-04-28 16:24:43 +07:00
  • f869be1eb1 implement cubic "exponential slow start" test Lucas Clemente 2016-04-28 10:34:27 +02:00
  • 2da6f1860e add congestion.Bandwidth Lucas Clemente 2016-04-28 10:33:58 +02:00
  • f16d30a20c implement another CubicSender test Lucas Clemente 2016-04-27 18:17:55 +02:00
  • 991834c5bf change cubic to use PacketNumbers Lucas Clemente 2016-04-27 18:09:49 +02:00
  • 23b5c6264b fix rtt logging Lucas Clemente 2016-04-27 18:09:30 +02:00
  • 2b928ed116 add protocol.{Min,Max}ProtocolNumber Lucas Clemente 2016-04-27 18:09:19 +02:00
  • 85ca2a3245 add rtt stats Lucas Clemente 2016-04-27 17:19:57 +02:00
  • 6a7f331269 implement a StreamFrame Queue to handle high priority StreamFrames for retransmission Marten Seemann 2016-04-27 21:05:58 +07:00
  • c641e24e8c add cubic_sender plus initial test Lucas Clemente 2016-04-25 11:49:37 +02:00
  • 6eeccfd123 retransmit lost packets, send StopWaiting frames Marten Seemann 2016-04-27 18:56:21 +07:00
  • bd67f537c9 add support for receiving BLOCKED frames Lucas Clemente 2016-04-27 13:02:00 +02:00
  • 0d6642464d remove some debug messages Lucas Clemente 2016-04-27 12:52:06 +02:00
  • 607ab843d6 close session when crypto stream errors Lucas Clemente 2016-04-27 12:49:55 +02:00
  • 2056960e07 only delete a Packet from history in SentPacketHandler once it has been ACKed Marten Seemann 2016-04-27 17:19:54 +07:00
  • 2c95141ee1 add Len() and ContainsPacketNumber() to NackRange Marten Seemann 2016-04-27 16:04:50 +07:00
  • a4debcac71 implement contiguous NACK frame writing Marten Seemann 2016-04-27 15:39:07 +07:00
  • 936d34f875 implement contiguous NACK frame parsing Marten Seemann 2016-04-27 13:55:34 +07:00
  • 67a36870ea check for maximum packet size when packing control frames Marten Seemann 2016-04-27 11:40:20 +07:00
  • 160db13bdb close the connection on an MapAccess error in SentPacketHandler Marten Seemann 2016-04-27 11:34:35 +07:00
  • 3f6b228d07 fix splitting of StreamFrames in PacketPacker Marten Seemann 2016-04-27 10:09:54 +07:00
  • e4fc732d37 only increase packet number in PacketPacker when actually sending a packet Marten Seemann 2016-04-27 09:46:13 +07:00
  • 6db8ea285a handle SentPacketHandler errors when sending packets Marten Seemann 2016-04-27 09:33:52 +07:00
  • 729505738b add session tests Lucas Clemente 2016-04-26 22:11:27 +02:00
  • c5197bf42e fix server test Lucas Clemente 2016-04-26 19:13:26 +02:00
  • 5d8293716e add includeStreamFrames option to PacketPacker Lucas Clemente 2016-04-26 19:04:42 +02:00
  • 270b2f0f99 stop session go-routine on Close() Lucas Clemente 2016-04-26 18:20:49 +02:00
  • a5a06a25c2 remove udp references from session to simplify testing Lucas Clemente 2016-04-26 18:00:41 +02:00
  • 8339f210cb handle control frames and Stream frames separately in PacketPacker Marten Seemann 2016-04-26 23:30:43 +07:00
  • a962c63642 don't queue ACK frames Marten Seemann 2016-04-26 22:46:39 +07:00
  • e27d3ea3f8 ReceivedPacketHandler only generates ACKs if packets were received after the last ACK Marten Seemann 2016-04-26 22:38:10 +07:00
  • 43a16a8fce add session test for closing with errors Lucas Clemente 2016-04-26 16:49:11 +02:00
  • df08f109e7 add support for reading and writing QUIC's ufloat16 Lucas Clemente 2016-04-26 16:47:26 +02:00
  • 83df3be65e close streams when Session.Close() is called Lucas Clemente 2016-04-26 15:36:45 +02:00
  • 9fc874be53 add newline to crypto error messages Lucas Clemente 2016-04-26 15:36:09 +02:00
  • 4659bf7acb store the payload of sent packets as a slice of Frames Marten Seemann 2016-04-26 20:35:30 +07:00
  • eada642cc1 make PacketPacker assemble frames to pack into a Packet Marten Seemann 2016-04-26 20:18:50 +07:00
  • 6f38ae3da2 implement handling of RST_STREAM frames Lucas Clemente 2016-04-26 14:57:34 +02:00
  • 5db81d8874 make stream.Write() return remote errors Lucas Clemente 2016-04-26 14:41:02 +02:00
  • b9f37f9618 accept truncated packet numbers Lucas Clemente 2016-04-26 12:13:21 +02:00
  • f204b088a6 rename frame.MaxLength() to frame.MinLength() Marten Seemann 2016-04-26 17:02:00 +07:00
  • 8f221e6eab improve error handling in session Lucas Clemente 2016-04-26 10:27:11 +02:00
  • 7e9f185f79 close connection if the entropy of a received ACK is incorrect Marten Seemann 2016-04-26 11:06:00 +07:00
  • c8f48fe5bc ignore duplicate ACK and out-of-order ACK errors in Session Marten Seemann 2016-04-26 10:48:14 +07:00
  • b4fae00880 rename IncomingPacketAckHandler to ReceivedPacketHandler Marten Seemann 2016-04-26 10:17:18 +07:00
  • 0088636798 rename OutgoingPacketAckHandler to SentPacketHandler Marten Seemann 2016-04-26 10:07:00 +07:00
  • ccc6d23a7d fix a number of races and bugs with stream closing Lucas Clemente 2016-04-25 22:19:02 +02:00
  • 23a1e08e90 make stream private Lucas Clemente 2016-04-25 17:50:35 +02:00
  • a79f7c4dc6 rewrite of OutgoingPacketAckHandler Marten Seemann 2016-04-25 22:43:42 +07:00
  • f9c90382a4 make some session fields private Lucas Clemente 2016-04-25 17:40:55 +02:00
  • ecbec2dcc6 add stream tests and fix bug with stream.ReadByte Lucas Clemente 2016-04-25 17:33:41 +02:00
  • e253cbe02f remove closed streams from session Lucas Clemente 2016-04-25 16:56:07 +02:00
  • f8b804d2c1 add some session tests Lucas Clemente 2016-04-25 16:38:53 +02:00
  • 6ac3ab7504 simplify stream Lucas Clemente 2016-04-25 16:25:22 +02:00
  • 284ffc6665 add support for closing streams, either with FinBit or remote error Lucas Clemente 2016-04-25 16:18:53 +02:00
  • 9a13c7eec6 add utils tests Lucas Clemente 2016-04-25 16:17:48 +02:00
  • a126e0e606 refactor session to support very basic packet pacing Lucas Clemente 2016-04-25 14:59:18 +02:00
  • c6b69e632e add Substract method for EntropyAccumulator Marten Seemann 2016-04-25 19:04:15 +07:00
  • a3ecf2ee69 more tests for LargestObserved in OutgoingPacketAckHandler Marten Seemann 2016-04-25 18:05:48 +07:00
  • a1d0056867 implement handling of STOP_WAITING frames for incoming packets Lucas Clemente 2016-04-25 12:38:15 +02:00
  • 4be2ef710c actually store LargestObserved in OutgoingPacketAckHandler Marten Seemann 2016-04-25 17:06:38 +07:00
  • 47d7f98383 implement Writing of StopWaitingFrames Marten Seemann 2016-04-25 15:29:19 +07:00
  • bf7875426a better test structurve for OutgoingPacketAckHandler Marten Seemann 2016-04-25 12:17:49 +07:00
  • c9b01a3785 implemenet OutgoingPacketAckHandler.DequeuePacketForRetransmission(), fix minor error Marten Seemann 2016-04-25 11:45:29 +07:00
  • f2eafb7179 pass packet number and packet number length to frames.Write Marten Seemann 2016-04-25 11:34:18 +07:00
  • 7467e7ebff OutgoingPacketAckHandler queues packets for retransmission Marten Seemann 2016-04-24 20:28:37 +07:00
  • 76d4b7a931 implement prr sender Lucas Clemente 2016-04-24 13:27:01 +02:00
  • 3feb288817 continue hybrid slow start implementation Lucas Clemente 2016-04-24 12:39:40 +02:00
  • 4806807caa initial hybrid slow start implementation Lucas Clemente 2016-04-24 12:24:13 +02:00
  • c72c9336b0 add cubic implementation ported from chrome Lucas Clemente 2016-04-23 15:59:33 +02:00
  • 50d38eac39 fix bug in OutgoingPacketAckHandler entropy calculation for simple ACKs Marten Seemann 2016-04-23 10:57:44 +07:00
  • a9c00a4303 add WindowUpdate frame parsing Marten Seemann 2016-04-22 19:52:33 +07:00