Commit Graph

48 Commits

Author SHA1 Message Date
Dirkjan Ochtman 5484d37c76 Migrate to directories-next
directories is no longer being maintained and the final released version
causes a dependency conflict (cfg-if, versus tracing).
2020-06-22 14:46:13 +02:00
Benjamin Saunders 5774071b48 Spawn driver tasks implicitly 2020-01-13 09:54:26 +01:00
Dirkjan Ochtman 102f537d40 Fix remaining lints 2019-12-22 14:28:02 -08:00
daxpedda 7233455078 Update tokio, futures and bytes. (#528) 2019-12-02 10:42:05 +01:00
Benjamin Saunders f48aa59512 Document a NewConnection footgun and the meaning of server_name
Non-obvious details identified in the course of assisting a new user.
2019-11-29 22:14:16 +01:00
Benjamin Saunders 4902bfe6ba Use anyhow instead of failure in examples
Anyhow was already in our depgraph and is more modern and actively
maintained.
2019-11-19 11:46:43 -08:00
Timon Post ac810125c1 merge imports 2019-11-19 08:23:35 +01:00
Benjamin Saunders a957bf4aa2 Replace slog with tracing 2019-10-29 10:36:50 +01:00
Benjamin Saunders 8e1c6b605e Remove ToSocketAddrs from EndpointBuilder::bind
Improves consistency with Endpoint::connect and removes the
possibility of silent blocking should the user pass in a domain
name. The generic API was originally motivated by the convenience of
passing in numeric addresses as strings, but `.parse().unwrap()` is
pretty easy too.
2019-09-29 07:21:06 +02:00
Benjamin Saunders d07dc907ad Update for async/await 2019-09-28 10:23:26 +02:00
Benjamin Saunders f50dd9f54a Restore NewConnection struct for parts of a connection
This enables forwards-compatibility with future extensions such as
a datagram stream.
2019-08-25 14:50:01 -07:00
Dirkjan Ochtman 01b9d212be Upgrade to url 2 2019-07-24 21:29:48 +02:00
Benjamin Saunders e7929713cd Handle unclear interop ALPN 2019-07-11 20:52:19 +02:00
Benjamin Saunders 5fbe96f46a Public VarInt type
Ensures correctness of application error codes without panics or
adding new internal failure paths.
2019-07-11 20:52:19 +02:00
Benjamin Saunders b502306ab3 Refactor ReadToEnd helper to work after reads 2019-07-05 08:35:26 +02:00
Benjamin Saunders 747d5a263b Colorful logging in examples 2019-06-24 19:31:38 +02:00
Dirkjan Ochtman 7b507d82b1 Move ALPN_QUIC_HTTP from library to examples/interop code 2019-06-20 12:30:02 -07:00
Benjamin Saunders dcaa80c170 Define helper future for finishing streams
More convenient than the tokio::io shutdown helper, and preserves
specific error information.
2019-04-27 20:57:19 +02:00
Benjamin Saunders 9eea392e35 Restrict read_to_end to unread streams 2019-04-25 06:46:09 +02:00
Benjamin Saunders 8966c7e2d1 Don't yield stream from ReadToEnd
This was left over from before bidirectional streams were decoupled.
2019-04-25 06:46:09 +02:00
Dirkjan Ochtman 734978e59e Rename quinn::Endpoint::new() to builder() 2019-04-16 17:55:13 -07:00
Dirkjan Ochtman 16e4b96f4b Simplify high-level streams API 2019-04-12 19:59:23 +02:00
Benjamin Saunders 6ec3b021cb Move ClientConfig into quinn-proto 2019-04-08 07:12:21 +02:00
Benjamin Saunders 6b15147891 Graceful close in HTTP/0.9 client example 2019-04-07 00:34:15 -07:00
Dirkjan Ochtman aae9edecd4 Return new connections as tuples 2019-04-01 10:56:38 +02:00
Dirkjan Ochtman c0c40891b4 Return driver as first member of endpoint tuple 2019-04-01 10:56:38 +02:00
Benjamin Saunders 25d60cca9f Refactor close behavior
Closing the connection is now considered an instantaneous operation,
which causes outstanding I/O futures to fail immediately with a
distinct error and gracefully terminates IncomingStreams and, one
draining has completed, ConnectionDriver.
2019-03-30 16:34:16 -07:00
Benjamin Saunders 3e56beee3c Spawn connection driver in client example and interop tool 2019-03-28 08:28:01 +01:00
Benjamin Saunders 15de1a933a Add some useful testing options to the example client 2019-01-29 07:22:37 +01:00
Benjamin Saunders b8e6ff127c Tweak builder method naming
Most builder methods are setters, so this prefix doesn't carry its weight.
2019-01-27 07:19:47 +01:00
Benjamin Saunders f31bb03cc0 Delete obsolete commented code 2019-01-14 22:56:07 -08:00
Benjamin Saunders 06474e9ee3 Automatic certificate generation in examples 2019-01-10 06:48:20 +01:00
Benjamin Saunders 576613a222 Remove built-in support for disabling certificate verification
This can already be done by constructing a `ClientConfig` manually,
and probably shouldn't be made too convenient.
2019-01-10 06:48:20 +01:00
Benjamin Saunders 117b556243 Expand certificate API 2019-01-10 06:48:20 +01:00
Benjamin Saunders 6615366afe Prettier client status output 2019-01-10 06:48:20 +01:00
Dirkjan Ochtman e555d11a43 Adopt 2018 idiom 2018-12-07 23:02:32 +01:00
Dirkjan Ochtman a45cf6db82 Upgrade to rustfmt 1.31.0 2018-12-07 23:02:32 +01:00
Benjamin Saunders ff7bc6e1bf High level API cosmetic/convenience improvements 2018-11-30 11:07:14 -08:00
Benjamin Saunders f4d55ed623 Move server-only configuration into its own struct 2018-11-30 11:07:14 -08: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 a10e6ee140 Remove required feature from client example, tweak CLI docs 2018-10-18 01:20:16 -07: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
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
Dirkjan Ochtman c07561744f Fix method name for set_certificate_authority() 2018-10-03 20:50:21 +02:00
Dirkjan Ochtman 3da54b178c Rename crates from quicr{,-core} to quinn{,-proto} 2018-10-02 21:58:17 +02:00