Marten Seemann
|
be34c9e3f4
|
never write too much data in Stream.Write()
ref #145
|
2016-05-26 09:13:14 +07:00 |
|
Lucas Clemente
|
17865dbba7
|
fix a panic in stream with large window updates
fixes #143
|
2016-05-25 13:12:06 +02:00 |
|
Marten Seemann
|
d571c0bfd5
|
remove stream from BlockManager when a WindowUpdate increases its offset
fixes #130
|
2016-05-20 12:26:10 +07:00 |
|
Marten Seemann
|
c748a8dfc0
|
create FlowController interface
|
2016-05-19 19:49:33 +07: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
|
b185ea04e1
|
add CloseRemote method to stream
ref #109
|
2016-05-18 13:33:36 +02:00 |
|
Marten Seemann
|
f147ebc9bb
|
implement basic connection level flow control
fixes #39
|
2016-05-18 17:30:08 +07:00 |
|
Marten Seemann
|
9ecbfa65ac
|
add methods needed for connection-level FlowController
ref #39
|
2016-05-18 12:30:25 +07:00 |
|
Marten Seemann
|
e0801262bc
|
actually send Blocked frames
fixes #100
|
2016-05-18 12:06:14 +07:00 |
|
Marten Seemann
|
daeb601cdc
|
keep track of highest byte received in FlowController
ref #39
|
2016-05-18 09:32:36 +07:00 |
|
Marten Seemann
|
b9e141d277
|
make the FlowController thread-safe
|
2016-05-18 00:11:52 +07:00 |
|
Marten Seemann
|
42f3091e1b
|
send Blocked frames for flow control blocked streams
fixes #100
|
2016-05-17 19:00:11 +07:00 |
|
Lucas Clemente
|
d0e6b993bb
|
use new error codes throughout the server
fixes #86
|
2016-05-17 12:49:59 +02:00 |
|
Marten Seemann
|
62da35d613
|
implement a basic flow controller
needed for #39, #100, #106
|
2016-05-17 15:21:30 +07:00 |
|
Marten Seemann
|
0d4dd8869d
|
detect stream flow control violations
fixes #97
|
2016-05-16 18:15:40 +07:00 |
|
Marten Seemann
|
4de41d0737
|
set offset in WindowUpdates based on read position and window increment
fixes #105
|
2016-05-16 17:00:06 +07:00 |
|
Lucas Clemente
|
af522c1538
|
privatize session.updateReceiveFlowControlWindow
ref #60
|
2016-05-15 18:50:04 +02:00 |
|
Lucas Clemente
|
2fb42afc8a
|
privatize session.queueStreamFrame
ref #60
|
2016-05-15 18:49:01 +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
|
a3ff4dd891
|
send WindowUpdate frames
fixes #19
|
2016-05-15 16:48:42 +07:00 |
|
Lucas Clemente
|
9f63cdbd91
|
add stream.StreamID()
|
2016-05-14 13:35:43 +02: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 |
|
Lucas Clemente
|
060df6be7d
|
refactor stream to remove a couple of race conditions
fixes #42
|
2016-05-11 22:30:14 +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 |
|
Marten Seemann
|
6700672440
|
handle remote errors in Stream Write
|
2016-05-03 16:34:46 +07:00 |
|
Marten Seemann
|
f240df6ea5
|
implement basic flow control
fixes #37
|
2016-05-03 12:07:01 +07:00 |
|
Marten Seemann
|
ad467ade58
|
fix several linter warnings and misspellings
|
2016-05-02 16:33:32 +07:00 |
|
Lucas Clemente
|
0d6642464d
|
remove some debug messages
|
2016-04-27 12:52:06 +02:00 |
|
Marten Seemann
|
8339f210cb
|
handle control frames and Stream frames separately in PacketPacker
|
2016-04-26 23:30:43 +07:00 |
|
Lucas Clemente
|
5db81d8874
|
make stream.Write() return remote errors
|
2016-04-26 14:41:02 +02:00 |
|
Lucas Clemente
|
ccc6d23a7d
|
fix a number of races and bugs with stream closing
|
2016-04-25 22:19:02 +02:00 |
|
Lucas Clemente
|
23a1e08e90
|
make stream private
|
2016-04-25 17:54:00 +02:00 |
|
Lucas Clemente
|
ecbec2dcc6
|
add stream tests and fix bug with stream.ReadByte
|
2016-04-25 17:33:41 +02:00 |
|
Lucas Clemente
|
e253cbe02f
|
remove closed streams from session
|
2016-04-25 16:56:07 +02:00 |
|
Lucas Clemente
|
6ac3ab7504
|
simplify stream
|
2016-04-25 16:25:22 +02:00 |
|
Lucas Clemente
|
284ffc6665
|
add support for closing streams, either with FinBit or remote error
|
2016-04-25 16:18:53 +02:00 |
|
Lucas Clemente
|
a126e0e606
|
refactor session to support very basic packet pacing
|
2016-04-25 14:59:26 +02:00 |
|
Lucas Clemente
|
e4bcf6f933
|
log stream closes
|
2016-04-21 21:38:21 +02:00 |
|
Lucas Clemente
|
1260faba4a
|
handle stream offset properly when receiving data
|
2016-04-19 23:23:21 +02:00 |
|
Lucas Clemente
|
f2db542b3f
|
copy data in Stream.Write
|
2016-04-19 14:34:11 +02:00 |
|
Lucas Clemente
|
dc4e3c73e4
|
remove Session.SendFrames
|
2016-04-18 14:10:22 +02:00 |
|
Lucas Clemente
|
9757ad62f2
|
add stream.Close
|
2016-04-18 14:08:56 +02:00 |
|
Lucas Clemente
|
52268753e9
|
implement Stream.ReadByte
|
2016-04-18 11:00:26 +02:00 |
|
Marten Seemann
|
a90c9ba173
|
add a Write method for Streams
|
2016-04-17 16:53:04 +07:00 |
|
Marten Seemann
|
3eabb4a46c
|
use Stream object in the Session
|
2016-04-17 00:19:23 +07:00 |
|
Marten Seemann
|
3e59ede7a7
|
use channels to properly implement the Stream.Read function
|
2016-04-16 23:47:57 +07:00 |
|
Marten Seemann
|
1da9b86da0
|
add a Stream class
|
2016-04-16 22:12:27 +07:00 |
|