Dirkjan Ochtman
1ea990b9b5
Handle retry packets inside receiving Connection
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
080b1e1b26
Move Endpoint::handle_connected() into Connection type
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
c3a931e72e
Move handshake_close() function into connection module
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
8e665ab7c0
Extract packet loss function from timeout handler
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
29cd0e60e4
Move more Endpoint::write() code into Connection type
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
50780c8473
Consistently rename connection ID variables
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
f338404f37
Add helper method to encode connection ids
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
23cd264cf6
Refactor header decoding method
...
Prevent rightward drift and prepare for adding Retry header type.
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
02c607b0e6
Use enum for long packet type values
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
204635275c
Use assert_eq!() in tests where possible
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
3e92c2b89f
Rename random value field in VersionNegotiate header variant
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
8a7841280f
Move Header decoding code into Header type
2018-11-09 07:15:01 +01:00
Dirkjan Ochtman
a286fddeda
Reorder code in packet module
...
Ordered by higher level/public, dependent API first, simpler stuff later.
2018-11-09 07:15:01 +01:00
Benjamin Saunders
2d25904bdd
Improve a log message and ConnectionId Debug impl
2018-11-02 17:32:37 -07:00
Dirkjan Ochtman
39267e8d54
Fix warnings about unnecessary macro imports
2018-10-30 19:31:41 -07:00
Dirkjan Ochtman
b6def268de
Update formatting for rust 1.30.0
2018-10-30 19:31:41 -07:00
Benjamin Saunders
a2922b4828
Move TLS out of state enum
...
Simplifies many signatures.
2018-10-30 19:31:41 -07:00
kryptan
1523bbea91
Fix typo in readme
2018-10-25 21:24:25 -07:00
Benjamin Saunders
963a4bb473
Fix panic on Endpoint::connect
...
Simple RefCell borrow error. Could have corrected this with a clone to get a
much smaller diff, but this saves the clone and keeps information where it needs
to be anyway.
2018-10-20 00:56:49 -07:00
Dirkjan Ochtman
aeacba5a2b
Try to fix code coverage reporting
2018-10-19 20:21:40 +02:00
Dirkjan Ochtman
f17f0b54e9
Add a little guide to running the example code
2018-10-18 10:45:03 +02:00
Dirkjan Ochtman
c9dfed3b7b
Add note about stable Rust
2018-10-18 10:45:03 +02:00
Dirkjan Ochtman
a65292b37d
Collapse implementation details in README features list
2018-10-18 10:45:03 +02:00
Dirkjan Ochtman
14e5e93eeb
Remove status from features
2018-10-18 10:45:03 +02:00
Benjamin Saunders
a10e6ee140
Remove required feature from client example, tweak CLI docs
2018-10-18 01:20:16 -07:00
Benjamin Saunders
d28a702ab6
More use of constants
2018-10-17 23:52:13 -07:00
Benjamin Saunders
10c09ef64f
Fix handling of unset idle timeout
2018-10-17 23:52:13 -07:00
Benjamin Saunders
e66d71d815
Fix panics on invalid transport parameters
2018-10-17 23:52:13 -07:00
Tyler Wilcock
dc41b8bff0
Prior to this patch, we had duplicated lots of error handling logic inside handle_connected_inner, mostly in the way of event recording. This patch simplifies this by instead returning a Result, which allows the caller to handle either case and create events more succinctly than handle_connected_inner could.
...
Also, this changeset moves the app_closed property from connection::State to connection::Connection itself, as it is much simpler to manage that piece of state on the Connection itself.
Closes #51 .
2018-10-17 10:09:02 +02:00
Benjamin Saunders
6741657e02
Client configuration API
...
- Allow configuration of individual clients within an endpoint
- Implement feature-gated config helper for untrusted connections
- Don't enable keylogging by default
- Test rejection of invalid certs
2018-10-15 02:06:25 -07:00
Benjamin Saunders
3492f61142
Derive Clone for Connection and Endpoint
...
This makes it easier to construct multiple futures that interact with the same
connection.
2018-10-15 01:53:57 -07:00
Benjamin Saunders
f04f059893
Implement backpressure on incoming connections
...
This was already supported by the endpoint state machine, but was defeated by
the high-level API.
2018-10-14 09:13:31 -07:00
Benjamin Saunders
02b536336b
Test and debug stream ID flow control
...
Corrects a fencepost error in initiator-side flow control budget checking, and a
bug that caused remote streams that weren't initially open to never be opened.
2018-10-14 09:12:51 -07:00
Benjamin Saunders
2085b0a7f8
Improve debug formatting for transport errors and frame types
2018-10-14 09:12:27 -07:00
Dirkjan Ochtman
c0e0603cd2
Upgrade to blake2-0.8
2018-10-12 21:09:58 +02:00
Dirkjan Ochtman
1045617dee
Copy ConnectionIds instead of cloning them
2018-10-12 21:09:51 +02:00
stammw
57bb05cd96
Handle ALPN with &[u8] instead of Strings
2018-10-12 14:47:20 +02:00
stammw
f9d64e783e
use a constant for ALPN QUIC_HTTP value
2018-10-12 14:47:20 +02:00
Jean-Christophe BEGUE
6e1eab4bed
Let the user select ALPN protocols values #32
2018-10-12 14:47:20 +02:00
Tyler Wilcock
d4ec5ca865
Remove ArrayVec in favor of a simple array
...
Prior to this commit, we used ArrayVec to store the bytes of the ConnectionId. This commit switches to the usage of a simple array, which allows us to remove an external dependency, and allows ConnectionId to implement the Copy trait.
2018-10-07 18:47:46 +02:00
Benjamin Saunders
4807a970a0
Fix panic when closing a connection during handshake
2018-10-06 11:21:23 -07:00
Dirkjan Ochtman
977397ef1e
Get ConnectionHandle from self
2018-10-05 08:30:39 +02:00
Dirkjan Ochtman
6729f26cd3
Store ConnectionHandle in Connection
2018-10-05 08:30:39 +02:00
Simon Heath
ac7424b151
Remove lingering references to quicr.
2018-10-05 07:29:37 +02:00
Dirkjan Ochtman
0d25cd7686
Apply clippy suggestions
2018-10-04 10:37:12 +02:00
Dirkjan Ochtman
d4bf4bcb1a
Fix formatting
2018-10-04 10:37:12 +02:00
Dirkjan Ochtman
2c11eb71dd
Check formatting in CI
2018-10-04 10:37:12 +02:00
Benjamin Saunders
e5cb4e3abc
Fix stateless resets
2018-10-03 23:25:10 -07:00
Benjamin Saunders
9bb759fe0b
README cleanup
2018-10-03 23:04:41 -07:00
Andrii Radyk
1b3906555c
Close #29 rename Value trait to Codec
2018-10-04 08:01:04 +02:00