77 Commits

Author SHA1 Message Date
Dirkjan Ochtman 58aa76bead Upgrade to http 0.2 2019-12-03 13:05:37 +01:00
Timon 73b1011ba0 Fixed Clippy Warnings (#531)
* Fixed clippy errors

* removed statement
2019-12-02 19:31:32 +01:00
Dirkjan Ochtman a72ab73614 Sort dependencies again 2019-12-02 08:00:26 -08:00
daxpedda 7233455078 Update tokio, futures and bytes. (#528) 2019-12-02 10:42:05 +01:00
Dirkjan Ochtman 68cb67ca37 Update the dependency on http to a rebased commit
The 0.2.x branch got rebased to master, invalidating the commit we were
depending on previously. Depend on an older commit that has the HTTP 3
version but has not upgraded to bytes-0.5 for now.
2019-11-28 10:07:04 +01:00
Benjamin Saunders 8d3a5958f4 Update version to draft 24 2019-11-25 15:08:39 +01:00
Benjamin Saunders 9522b44600 Remove quinn-proto rustls config newtypes
These were not successful at removing rustls from our public API, and
made specifying custom cryptographic configurations
unintuitive. Removing them reduces the scope of our public API while
preserving the friendliness of the high-level quinn API.
2019-11-23 20:20:54 +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 e5a7e90f64 Expose 0-RTT handshake completion and success to applications 2019-10-04 09:22:52 +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 9c4b21d1e8 Refactor interop tool 2019-09-28 10:23:26 +02:00
stammw f5e014dae1 h3: std futures 2019-09-28 10:23:26 +02:00
Benjamin Saunders d07dc907ad Update for async/await 2019-09-28 10:23:26 +02:00
dependabot-preview[bot] 7326d2ef33 Update structopt requirement from 0.2.7 to 0.3.0
Updates the requirements on [structopt](https://github.com/TeXitoi/structopt) to permit the latest version.
- [Release notes](https://github.com/TeXitoi/structopt/releases)
- [Changelog](https://github.com/TeXitoi/structopt/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TeXitoi/structopt/compare/v0.2.7...v0.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-02 07:05:29 +02:00
Dirkjan Ochtman a6cc48a23b Upgrade to ring 0.16 2019-08-27 07:57:50 -07: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 3921be6fd9 Don't test key update until after 1-RTT data has been exchanged 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 1885904782 Fix warnings in tests 2019-06-26 07:10:37 +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
Dirkjan Ochtman 886a137703 Move H3 ALPN token into quinn-h3 2019-06-20 12:30:02 -07:00
stammw 79d07bd67f H3: let encoder pass an iterator instead of a slice 2019-06-07 20:13:27 +02:00
stammw eab98c19f8 H3: move codecs to a new proto module 2019-06-07 20:13:27 +02:00
stammw 2053e564f4 H3: add QPACK Settings in h3::frame::Settings 2019-06-07 20:13:27 +02:00
Dirkjan Ochtman 32188d429f Add ClientConfig::new() method for use in interop 2019-06-04 19:50:57 +02:00
Dirkjan Ochtman 2254203e0f Parametrize protocol types with crypto implementations 2019-06-04 19:50:57 +02:00
Dirkjan Ochtman a00de7894d Add local wrappers around rustls ClientConfig and ServerConfig 2019-06-04 19:50:57 +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
Dirkjan Ochtman 41c3162276 Fix clippy suggestions in qif interop code 2019-04-27 07:02:14 +02:00
Dirkjan Ochtman c544a0d7a1 Fix clippy suggestions in interop tool 2019-04-26 22:01:17 +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
stammw ba2eff5fe9 QPACK: fix default values for settings 2019-04-18 14:36:14 +02:00
Dirkjan Ochtman 734978e59e Rename quinn::Endpoint::new() to builder() 2019-04-16 17:55:13 -07:00
Benjamin Saunders fab7522af0 Remove a gratuitous Box<[u8]>
Converting from Vec to Box will introduce an unnecessary copy if the
capacity is not exactly equal to the length.
2019-04-13 20:58:16 +02:00
Benjamin Saunders c10de33593 Test 0-RTT in interop tool 2019-04-13 20:58:16 +02: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
Артём Павлов [Artyom Pavlov] e4f5a75867 if let cleanup 2019-04-05 08:50:04 +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
Benjamin Saunders 6c0c72b1f1 Fast idle timeout in interop tool 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
stammw 9c1128aa3f Remove useless assert 2019-02-08 20:33:17 +01:00