Lucas Clemente
|
f96282b4d4
|
don't set RTO and small packet timeout when we can't actually send
fixes #126
|
2016-05-19 14:24:35 +02:00 |
|
Lucas Clemente
|
bd6d893cc4
|
replace time.After in session with a single timer
fixes #128, fixes #127
|
2016-05-19 14:24:35 +02:00 |
|
Marten Seemann
|
9930de68c8
|
send stream-level Blocked frames at the right time
fixes #110
|
2016-05-19 11:53:51 +07:00 |
|
Lucas Clemente
|
838291cd14
|
don't set the small packets timer when no packet is ready for sending
|
2016-05-18 23:22:23 +02: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 |
|
Marten Seemann
|
f147ebc9bb
|
implement basic connection level flow control
fixes #39
|
2016-05-18 17:30:08 +07:00 |
|
Lucas Clemente
|
d6ef71a54c
|
simplify and reorganize session tests
|
2016-05-17 19:37:16 +02:00 |
|
Lucas Clemente
|
2864c97a70
|
remove outdated TODOs
|
2016-05-17 19:24:49 +02:00 |
|
Lucas Clemente
|
8451fcf39b
|
slightly simplify public reset writing
|
2016-05-17 19:24:49 +02:00 |
|
Marten Seemann
|
1ef224d9bf
|
make the BlockedFrame queue thread-safe
|
2016-05-18 00:20:43 +07:00 |
|
Marten Seemann
|
b9e141d277
|
make the FlowController thread-safe
|
2016-05-18 00:11:52 +07:00 |
|
Lucas Clemente
|
15e7fe6c73
|
don't block the server when too many packets are queued in a session
fixes #35
|
2016-05-17 16:52:55 +02:00 |
|
Lucas Clemente
|
68b529a54c
|
refactor session to remove second Close parameter
fixes #102
|
2016-05-17 14:56:33 +02:00 |
|
Marten Seemann
|
42f3091e1b
|
send Blocked frames for flow control blocked streams
fixes #100
|
2016-05-17 19:00:11 +07:00 |
|
Lucas Clemente
|
078b563526
|
don't ignore window updates for unknown streams, see #108
|
2016-05-17 13:11:57 +02:00 |
|
Lucas Clemente
|
90abb40ffc
|
ignore data for closed streams
|
2016-05-17 12:56:29 +02:00 |
|
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 |
|