384 Commits

Author SHA1 Message Date
Toralf Wittner
4cfe1e1882 Fix deadlock. 2018-07-17 21:04:18 +02:00
Toralf Wittner
b2104369a4 Merge pull request #5 from paritytech/reserve_buf
Reserve buffer capacity when decoding frames.
2018-07-16 12:52:11 +02:00
Toralf Wittner
bf7e152f68 Collapse if expression. 2018-07-14 11:44:03 +02:00
Toralf Wittner
86118f4084 Reserve buffer capacity when decoding frames. 2018-07-14 11:41:49 +02:00
Pierre Krieger
0d6903bca8 Merge pull request #4 from paritytech/fix-next-id
Bugfix
2018-07-10 14:49:07 +02:00
Toralf Wittner
8f6c9c0c25 Bugfix 2018-07-10 14:41:58 +02:00
Toralf Wittner
78eaf99f37 Merge pull request #3 from paritytech/tw/refactor
Refactor to not use mpsc channels.
2018-07-09 17:04:23 +02:00
Toralf Wittner
328e8fb3f2 Implement review suggestions. 2018-07-09 16:17:13 +02:00
Toralf Wittner
21c3689ffc Only log frame header frame and reduce trace logs. 2018-07-05 16:55:51 +02:00
Toralf Wittner
8245d73741 Refactor to not use mpsc channels. 2018-07-05 14:03:02 +02:00
Toralf Wittner
aecd62969a Merge pull request #2 from paritytech/tw/local-remote-close
Distinguish local and remote closed state.
2018-06-22 16:16:30 +02:00
Toralf Wittner
44a2e88c58 Distinguish local and remote closed state.
If a stream has received an `Item::Reset` from remote it is not
necessary to send one back when dropping the stream.
2018-06-22 16:10:21 +02:00
Toralf Wittner
42897778a9 Merge pull request #1 from paritytech/tw/develop
tw/develop
2018-06-22 13:14:49 +02:00
Toralf Wittner
00e9577d45 Better state transition handling. 2018-06-22 13:10:12 +02:00
Toralf Wittner
800b901e70 Assert on internal use of Body::from_bytes. 2018-06-22 11:21:55 +02:00
Toralf Wittner
4de7cd103d Notify all pending tasks that wish to write. 2018-06-22 11:05:15 +02:00
Toralf Wittner
5c6ade64a0 Allow reading from stream buffer even if closed. 2018-06-22 08:30:09 +02:00
Toralf Wittner
25c6b54b49 Use u32 for Connection::id_counter. 2018-06-21 17:52:01 +02:00
Toralf Wittner
2600f987d8 Reformat ack assignment. 2018-06-21 17:21:55 +02:00
Toralf Wittner
280517d284 Copy instead of pass by reference. 2018-06-21 17:16:23 +02:00
Toralf Wittner
3468dbe22a Inline get_header. 2018-06-21 17:14:25 +02:00
Toralf Wittner
1de2892b06 Ensure incoming data does not exceed receive window. 2018-06-21 17:10:22 +02:00
Toralf Wittner
3897644f76 Ensure initial data body size is never too big. 2018-06-21 16:50:51 +02:00
Toralf Wittner
e12f5a5e53 Expose stream state. 2018-06-21 16:19:17 +02:00
Toralf Wittner
3fd915e2d6 Add MIT headers. 2018-06-20 15:17:01 +02:00
Toralf Wittner
88d8298045 AsyncRead/AsyncWrite instead of Stream/Sink 2018-06-20 14:57:51 +02:00
Toralf Wittner
a75be99929 Stream: Send Reset on Drop. 2018-06-18 10:24:06 +02:00
Toralf Wittner
3b1be9b64f Add more tracing. 2018-06-15 15:44:30 +02:00
Toralf Wittner
8630e0f445 Minor cleanup. 2018-06-15 00:42:01 +02:00
Toralf Wittner
eea825c8d7 Save decoded header if body can not decoded fully. 2018-06-14 15:41:25 +02:00
Toralf Wittner
1fb3075c23 Simplify Stream::start_send 2018-06-14 15:04:30 +02:00
Toralf Wittner
394f778617 Use tokio-codec crate. 2018-06-14 14:03:33 +02:00
Toralf Wittner
038d2c536c Initial yamux implementation. 2018-06-14 13:55:52 +02:00
Toralf Wittner
298cda7f4e Initial commit. 2018-06-14 13:52:41 +02:00