Benjamin Saunders
|
6f1ea7b783
|
core: ensure read sanity
|
2018-04-28 17:43:35 -07:00 |
|
Benjamin Saunders
|
73d9e3470e
|
tokio: impl AsyncRead for RecvStream
|
2018-04-28 16:02:21 -07:00 |
|
Benjamin Saunders
|
b6cc9c2345
|
core: implement ordered reads
|
2018-04-28 15:47:09 -07:00 |
|
Benjamin Saunders
|
c0100f3c2a
|
core: bitfield-based stream assembly
|
2018-04-28 15:47:06 -07:00 |
|
Benjamin Saunders
|
69cf45062a
|
tokio: fix panic on connection loss
|
2018-04-28 14:02:37 -07:00 |
|
Benjamin Saunders
|
1c84faa0e5
|
core: clean up write
|
2018-04-28 14:02:13 -07:00 |
|
Benjamin Saunders
|
af3d0e472a
|
Don't copy potentially large buffers on write
|
2018-04-28 12:16:48 -07:00 |
|
Dirkjan Ochtman
|
7ea2aa231a
|
Add test for encoding roundtrip
|
2018-04-27 14:44:11 +02:00 |
|
Dirkjan Ochtman
|
de4f35b5e6
|
Derive PartialEq for more types to support testing
|
2018-04-27 14:43:59 +02:00 |
|
Dirkjan Ochtman
|
7e9bed3672
|
Store buffer in PartialDecode
|
2018-04-27 08:22:01 +02:00 |
|
Dirkjan Ochtman
|
46d70f0170
|
Use slices instead of manipulating buffer sizes
|
2018-04-27 08:14:30 +02:00 |
|
Benjamin Saunders
|
df3aa5eb8c
|
Move StreamAssembler to stream::Assembler
|
2018-04-26 21:11:43 -07:00 |
|
Benjamin Saunders
|
9865c0a9bc
|
Fix inadvertent use of default reactor
|
2018-04-26 20:57:15 -07:00 |
|
Dirkjan Ochtman
|
bb193a27c3
|
Construct endpoint inside ServerStreamState
|
2018-04-26 17:29:35 +02:00 |
|
Dirkjan Ochtman
|
b153eb448a
|
Add new() method for ClientStreamState
|
2018-04-26 17:25:56 +02:00 |
|
Dirkjan Ochtman
|
390181a0ad
|
Stop passing around ThreadRng explicitly
|
2018-04-26 17:25:56 +02:00 |
|
Dirkjan Ochtman
|
624d4d9fd1
|
Properly reset server input buffer after handling packet
|
2018-04-26 17:12:09 +02:00 |
|
Dirkjan Ochtman
|
5cd6d4efc1
|
Set up framework for testing protocol flow
|
2018-04-26 16:14:35 +02:00 |
|
Dirkjan Ochtman
|
d8a68fb005
|
Make high-level stream state struct APIs pub(crate)
|
2018-04-26 16:14:35 +02:00 |
|
Dirkjan Ochtman
|
3a9192847d
|
Allow TLS client to be parametrized with trust anchors
|
2018-04-26 16:14:35 +02:00 |
|
Dirkjan Ochtman
|
a6b24891c4
|
Add TLS test certificates and CA
|
2018-04-26 16:14:35 +02:00 |
|
Dirkjan Ochtman
|
4787bac2c7
|
Rename Connection to ServerStreamState
|
2018-04-26 14:39:02 +02:00 |
|
Dirkjan Ochtman
|
0f65671013
|
Fix formatting some more
|
2018-04-26 13:42:58 +02:00 |
|
Dirkjan Ochtman
|
08cbec9d0f
|
Give handle() methods the same type
|
2018-04-26 13:41:47 +02:00 |
|
Dirkjan Ochtman
|
69b90cf349
|
Move creation of Initial packet into ClientStreamState
|
2018-04-26 13:27:34 +02:00 |
|
Dirkjan Ochtman
|
5b08057740
|
Move packet handling into ClientStreamState
|
2018-04-26 13:22:09 +02:00 |
|
Dirkjan Ochtman
|
6884a3b91e
|
Move client's stream state into a separate struct
|
2018-04-26 13:16:54 +02:00 |
|
Dirkjan Ochtman
|
fa2e68009e
|
Move Connection initialization into new() method
|
2018-04-26 13:03:54 +02:00 |
|
Benjamin Saunders
|
769eb512d3
|
Extensive bugfixing, HTTP/0.9 server
|
2018-04-25 19:38:55 -07:00 |
|
Dirkjan Ochtman
|
985ee13cb4
|
Simplify offset types in decoding
|
2018-04-25 18:14:25 +02:00 |
|
Dirkjan Ochtman
|
5e709018b8
|
Improve formatting with cargo fmt
|
2018-04-25 18:00:36 +02:00 |
|
Dirkjan Ochtman
|
9dde05ae8f
|
Split decoding in order to allow header-dependent packet keys
|
2018-04-25 17:56:55 +02:00 |
|
Dirkjan Ochtman
|
214c9ce99d
|
Use Endpoint in server Connection objects
|
2018-04-25 17:18:50 +02:00 |
|
Dirkjan Ochtman
|
71e5ab38d7
|
Don't return from poll() while making progress
|
2018-04-25 16:03:12 +02:00 |
|
Dirkjan Ochtman
|
d581ea2291
|
Let client send follow-up Handshake package
|
2018-04-25 16:03:12 +02:00 |
|
Dirkjan Ochtman
|
3d23a3b814
|
Add new tls::Client::process_handshake_messages() method
|
2018-04-25 16:03:12 +02:00 |
|
Dirkjan Ochtman
|
e4bacedd7a
|
Store separate handshake CID in Endpoint
|
2018-04-25 16:03:12 +02:00 |
|
Dirkjan Ochtman
|
d3de8da259
|
Decode server-originated handshake packets
|
2018-04-25 16:03:12 +02:00 |
|
Dirkjan Ochtman
|
cb602de2a6
|
Pass in key type when decoding packets
|
2018-04-25 16:03:12 +02:00 |
|
Dirkjan Ochtman
|
06b5191d00
|
Move client code into new client module
|
2018-04-25 16:02:18 +02:00 |
|
Dirkjan Ochtman
|
8634105ac9
|
Rebuild client connect as a future
|
2018-04-25 16:02:18 +02:00 |
|
Dirkjan Ochtman
|
63655d1032
|
Add intermediate certificates to example server chain
|
2018-04-25 14:55:15 +02:00 |
|
Benjamin Saunders
|
59876386ab
|
Fold PersistentState into ListenConfig
It's only needed for servers, so no sense cluttering the arguments on
its own.
|
2018-04-25 01:02:54 -07:00 |
|
Benjamin Saunders
|
96db2f4d20
|
Trivial request processing server
|
2018-04-24 23:27:07 -07:00 |
|
Benjamin Saunders
|
cdacfccfb9
|
API tweak
|
2018-04-24 23:26:56 -07:00 |
|
Benjamin Saunders
|
14061422ec
|
Fix spurious finishing of blocked streams
|
2018-04-24 23:26:33 -07:00 |
|
Benjamin Saunders
|
bc6fc09446
|
Fix initial remotely initiated send stream max data
|
2018-04-24 23:20:08 -07:00 |
|
Benjamin Saunders
|
c14c59dc7e
|
Rearrange names
This should improve discoverability.
|
2018-04-24 23:19:49 -07:00 |
|
Benjamin Saunders
|
94f3c63959
|
examples: support fetching arbitrary URLs
|
2018-04-24 22:21:01 -07:00 |
|
Benjamin Saunders
|
3d30b104b4
|
tokio: separate send/recv stream types
|
2018-04-24 22:09:19 -07:00 |
|