Commit Graph

67 Commits

Author SHA1 Message Date
Benjamin Saunders 044eab53ff Update clap 2023-05-11 14:10:19 +02:00
Benjamin Saunders 092a7686a4 Enable PMTUD by default when appropriate 2023-05-06 08:05:17 +02:00
Adolfo Ochagavía 2d48482180 Use PLPMTUD in bench, perf and examples
Sponsored by Stormshield
2023-04-04 17:40:20 -07:00
Benjamin Saunders 90a99193a9 Borrow self in read_to_end, rather than consuming
Allows `RecvStream::stop` to be called with custom error codes if
`ReadToEndError::TooLong` is encountered.
2023-03-05 08:52:31 +01:00
Dirkjan Ochtman f7354ef6ac Inline format arguments 2023-02-27 07:34:35 +01:00
Dirkjan Ochtman 2c6aa43610 Apply clippy suggestions from Rust 1.66 2022-12-19 10:13:01 -08:00
Benjamin Saunders 6e4bcbb2fc Drop NewConnection in favor of simpler API 2022-09-27 11:08:26 +02:00
Benjamin Saunders fe93a68108 Replace structopt with its successor, clap 3 2022-07-03 21:02:33 +02:00
Benjamin Saunders 1159ae3c65 Non-exhaustive ClientConfig 2021-11-10 11:25:19 +01:00
Benjamin Saunders b923c4c8b0 Pass SocketAddr by value
We always consume this by value in the end, and it's a little more
ergonomic.
2021-10-29 20:12:45 +02:00
Benjamin Saunders 5d1b6a101b Remove EndpointBuilder
Now that rustls configuration is more straightforward, this is not
adding significant value.
2021-10-29 20:12:45 +02:00
Benjamin Saunders 34ca6cff61 Privatize crypto config helpers
We're now sufficiently compatible with rustls defaults that these
aren't worth the API surface area.
2021-10-29 08:02:13 +02:00
Benjamin Saunders 4927355049 Remove config builders
These aren't significantly more convenient than working with rustls
directly at this point.
2021-10-27 17:49:48 -07:00
Dirkjan Ochtman a7efd92044 Require explicit construction of ClientConfigs 2021-09-29 10:12:44 -07:00
Dirkjan Ochtman d78b3187a9 Apply clippy suggestions from Rust 1.54 2021-07-30 13:29:32 -07:00
Benjamin Saunders 612c9ac2b8 Remove unnecessary dropping in client/server examples 2021-01-26 06:46:32 +01:00
Benjamin Saunders 03de1d0374 Ensure graceful close in client example 2021-01-26 06:46:32 +01:00
Dirkjan Ochtman 4420b61aaa quinn: print socket addresses in example client/server 2020-12-11 16:17:48 -08:00
Timon 83cff80908 Create example README (#910) 2020-11-15 21:43:28 +01:00
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