Commit Graph

150 Commits

Author SHA1 Message Date
Lucas Clemente
d0e6b993bb use new error codes throughout the server
fixes #86
2016-05-17 12:49:59 +02:00
Lucas Clemente
466d50345a move error conversion from session to qerr.ToQuicError 2016-05-17 10:38:34 +02:00
Lucas Clemente
bfaa4200df move all error things to new qerr package, replacing errorcodes 2016-05-17 10:38:34 +02:00
Lucas Clemente
69e302812d move ErrorCode type to errorcodes package 2016-05-17 00:25:51 +02:00
Lucas Clemente
dd13836aa9 rename NewQuicError to Error 2016-05-17 00:11:48 +02:00
Lucas Clemente
f624592198 remove unused error codes and name the constants according to go style
ref #86
2016-05-16 20:41:56 +02:00
Marten Seemann
d5c7a62066 don't send internal error messages to the client
fixes #107
2016-05-16 19:14:11 +07:00
Marten Seemann
0d4dd8869d detect stream flow control violations
fixes #97
2016-05-16 18:15:40 +07:00
Marten Seemann
de871f0a4f ignore WindowUpdate frames for already closed streams
fixes #104
2016-05-16 13:36:35 +07:00
Lucas Clemente
d469a19b62 rename {New,GetOrCreate}Stream stream to {,GetOr}OpenStream 2016-05-15 18:51:23 +02:00
Lucas Clemente
af522c1538 privatize session.updateReceiveFlowControlWindow
ref #60
2016-05-15 18:50:04 +02:00
Lucas Clemente
a10d58c8ca privatize session.run
ref #60
2016-05-15 18:49:09 +02:00
Lucas Clemente
2fb42afc8a privatize session.queueStreamFrame
ref #60
2016-05-15 18:49:01 +02:00
Lucas Clemente
028615b8f0 privatize session.handlePacket
ref #60
2016-05-15 18:48:11 +02:00
Lucas Clemente
ce1f7b2aaf privatize closeCallback
ref #60
2016-05-15 15:58:35 +02:00
Lucas Clemente
9cc4bb3ccf privatize publicHeader
ref #60
2016-05-15 15:44:14 +02:00
Lucas Clemente
f79f7f7724 privatize newSession
ref #60
2016-05-15 15:33:36 +02:00
Lucas Clemente
b558bb8a75 privatize packetHandler
ref #60
2016-05-15 15:32:41 +02:00
Lucas Clemente
5fab9b5326 privatize windowUpdateManager
ref #60
2016-05-15 15:29:21 +02:00
Lucas Clemente
d4de18c472 only delete streams once we are done reading AND writing
fixes #98
2016-05-15 15:03:02 +02:00
Marten Seemann
089582dd9f improve sending of WindowUpdate frames
fixes #96
2016-05-15 18:05:15 +07:00
Marten Seemann
a3ff4dd891 send WindowUpdate frames
fixes #19
2016-05-15 16:48:42 +07: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
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
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
Lucas Clemente
060df6be7d refactor stream to remove a couple of race conditions
fixes #42
2016-05-11 22:30:14 +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
Marten Seemann
7169584ff9 implement sending of shortened packet numbers 2016-05-10 17:25:52 +07: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
b42bad8481 fix flaky server tests
ref #65
2016-05-09 17:57:20 +02:00
Lucas Clemente
c3ff781f08 use cubic for congestion control
fixes #23
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
Lucas Clemente
16b12328fc make sent packet handler return acked and lost packets for congestion 2016-05-07 00:46:00 +02:00
Lucas Clemente
afa3047ce3 treat retransmission logging as debug info 2016-05-06 21:13:41 +02:00
Marten Seemann
bb807fa5bd implement sending of truncated ConnectionIDs 2016-05-06 21:53:21 +07:00
Lucas Clemente
a1f6289587 cleanup logs 2016-05-06 14:31:54 +02:00
Lucas Clemente
02ab3480ff keep bytesInFlight as protocol.ByteCount 2016-05-06 12:59:32 +02:00
Lucas Clemente
aa46fa06a0 add very basic congestion window implementation
fixes #22
2016-05-06 12:05:04 +02:00
Lucas Clemente
7e0d59a5e6 make session timeout according to ICSL
fixes #54
2016-05-05 23:16:49 +02:00
Marten Seemann
6556e2f695 use protocol.ByteCount in frames, streams and session 2016-05-05 11:53:10 +07:00
Marten Seemann
77f34a9207 set initial flow control window from handshake parameters
fixes #50
2016-05-05 11:29:12 +07:00
Lucas Clemente
ef6e8cf1b4 make server delete sessions when they are closed
fixes #46
2016-05-04 16:34:08 +02:00
Lucas Clemente
150795d702 make session send packets immediately 2016-05-04 15:23:59 +02:00
Lucas Clemente
df5143d561 remove newlines from log messages 2016-05-04 14:24:36 +02:00