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
Dirkjan Ochtman
43f3ec0fc8
Clarify status of HTTP as unimplemented
2018-10-03 20:53:07 +02:00
Dirkjan Ochtman
c07561744f
Fix method name for set_certificate_authority()
2018-10-03 20:50:21 +02:00
Dirkjan Ochtman
042266aa81
Upgrade to rand-0.5
2018-10-03 20:34:46 +02:00
Dirkjan Ochtman
4e747108f0
Add CodeCov and Travis badges to Cargo manifest
2018-10-03 20:03:22 +02:00
Dirkjan Ochtman
f4231eaa7d
Use latest version of blake2
...
Instead of relying on digest directly, this uses the version of digest
exposed through the blake2 API. Since we're no longer using digest
for other crypto, this seems a simpler way to do things.
2018-10-03 20:00:14 +02:00
Dirkjan Ochtman
06e65f7c1e
Reorder badges in README
2018-10-03 13:51:19 +02:00
Dirkjan Ochtman
00ecf41200
Add docs.rs badge
2018-10-03 13:51:19 +02:00
Dirkjan Ochtman
f194663f94
Fix crates.io badge image URL
2018-10-03 13:51:19 +02:00
Dirkjan Ochtman
b6489cdf83
Merge branch 'master' into quicr
2018-10-02 22:22:42 +02:00
Dirkjan Ochtman
487c389536
Order extern crate statements
0.1.0
2018-10-02 22:16:40 +02:00
Dirkjan Ochtman
d9f0d93017
Restart version numbers from 0.1.0
2018-10-02 22:12:14 +02:00
Dirkjan Ochtman
3da54b178c
Rename crates from quicr{,-core} to quinn{,-proto}
2018-10-02 21:58:17 +02:00
Dirkjan Ochtman
0a5a9fa70e
Update rustls to 0.14
2018-10-02 21:52:42 +02:00
Dirkjan Ochtman
dcfdf53f24
Merged README
2018-10-02 21:50:53 +02:00
Dirkjan Ochtman
eb94a0a983
Order dependencies in Cargo manifests
2018-10-02 21:30:33 +02:00
Dirkjan Ochtman
62a9bf66e0
Add myself as crate author
2018-10-02 21:26:54 +02:00
Dirkjan Ochtman
e26b47f371
Rename get_servername() to get_server_name() for consistency
2018-10-02 21:19:49 +02:00
Dirkjan Ochtman
ed74848168
Fix deprecations
2018-10-02 21:19:49 +02:00
Dirkjan Ochtman
a04dc1e4b9
Add Travis-CI configuration
2018-10-02 21:19:49 +02:00
Dirkjan Ochtman
3f09e982ff
Flatten the workspace
2018-10-02 21:19:49 +02:00
Dirkjan Ochtman
8fc5fbbfc2
Pump test packets through sockets
2018-10-02 21:19:49 +02:00
Dirkjan Ochtman
9412d47762
Replace TLS backend with rustls
2018-10-02 21:19:49 +02:00
Dirkjan Ochtman
bcdf6d6f21
Move set_payload_length() into packet module
2018-09-10 12:02:56 +02:00
Dirkjan Ochtman
97e4d584d4
Move most of Endpoint::close() into Connection
2018-09-09 14:02:00 +02:00