58 Commits

Author SHA1 Message Date
Dirkjan Ochtman 0a4bca7049 Remove old authentication data APIs 2020-03-07 12:12:01 -08:00
Benjamin Saunders 5774071b48 Spawn driver tasks implicitly 2020-01-13 09:54:26 +01:00
Benjamin Saunders 09729ebd23 Opaque config structs
Only exposing setters improves forwards compatibility and error
checking.
2020-01-13 08:53:05 +01:00
Benjamin Saunders 03cd3e27f2 Correct style for latest rustfmt 2019-12-22 09:30:02 +01:00
daxpedda 7233455078 Update tokio, futures and bytes. (#528) 2019-12-02 10:42:05 +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
Benjamin Saunders 93690aa4c9 Fix buggy non-async-style tracing span in server example 2019-11-19 20:01:49 +01: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 2dcb084347 Decouple incoming streams of differing directionalities 2019-09-29 07:38:30 +02: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 82b9455caf Use multithreaded tokio runtime for server example
Illustrates our support for more typical tokio patterns
2019-09-28 10:23:26 +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
Benjamin Saunders e7929713cd Handle unclear interop ALPN 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
Benjamin Saunders cf319d562f Helper functions for unwrapping incoming streams of known type 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
Dirkjan Ochtman 45ee97bd5a Upgrade to rcgen 0.4 2019-06-18 14:11:40 -07:00
Benjamin Saunders 264904f692 Don't expose 0.5-RTT connections to servers by default
0.5-RTT connections have reduced security guarantees and hence must
only be exposed by opt-in.
2019-04-28 21:13:20 +02: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 0428c8693d More consistent config filed naming 2019-04-08 07:12:21 +02:00
Benjamin Saunders 7fce27d84a Ignore trailing garbage in HTTP/0.9 example server 2019-04-07 00:34:15 -07:00
Dirkjan Ochtman 0cf709114c Log listening address in example server 2019-04-01 21:06:53 +02: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
Dirkjan Ochtman d2f454ebc6 Return Connections from Endpoints after creation 2019-03-27 18:20:24 -07: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 06b4873257 Isolate per-endpoint and per-connection configuration
This makes it easier to speak different application protocols on
different connections using the same endpoint
2019-01-27 07:19:47 +01:00
Benjamin Saunders ef64df4664 Disable unidirectional streams explicitly in server example 2019-01-23 08:35:23 +01:00
Benjamin Saunders e73fadaa6f Support user-supplied DER certificates in the server example
This is the type we generate and cache by default, so it's weird not
to handle it.
2019-01-18 08:08:19 +01:00
Benjamin Saunders 2b96ccee36 Typo fix 2019-01-18 08:08:19 +01:00
Benjamin Saunders 06474e9ee3 Automatic certificate generation in examples 2019-01-10 06:48:20 +01:00
Benjamin Saunders 6bf6b462ee Permit incoming streams by default
This should reduce the odds of new user confusion at little cost.
2019-01-08 08:21:10 +01:00
Benjamin Saunders e8347a34ee Rename Config::max_remote_streams_* to stream_window_* 2019-01-08 08:21:10 +01:00
Benjamin Saunders 37c664ec0a Fix copy-paste error 2019-01-04 01:22:55 -08:00
Benjamin Saunders 32b4ed7c8e Hide rustls certificate types and parsing methods
This decouples an important part of the API from rustls, and greatly
simplifies the task of robustly reading a certificate from disk.
2019-01-03 23:10:22 -08:00
Dirkjan Ochtman ace2b168e8 Reorder code in example server to improve locality 2018-12-30 12:43:17 -08:00
Benjamin Saunders aeb58b2d81 Restore stateless retry support to the example server 2018-12-30 07:30:32 +01:00
Benjamin Saunders 4096cdc19c Issue new connection IDs on connection established 2018-12-25 12:42:06 +01:00
Benjamin Saunders 6ba840281c Naming consistency 2018-12-23 23:52:24 -08: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