Commit Graph

  • 619246f4a4 Make some members of Streams private Dirkjan Ochtman 2019-03-28 20:36:57 +01:00
  • 6ae1e9f4a8 Move initialization of Streams type into new() method Dirkjan Ochtman 2019-03-28 20:36:39 +01:00
  • 5ea7cc97cf Move stream reset code into Streams type Dirkjan Ochtman 2019-03-28 20:36:18 +01:00
  • 16210a1646 Move stream acceptance into Streams type Dirkjan Ochtman 2019-03-28 20:36:02 +01:00
  • 81cc247206 Move remote stream allocation into Streams type Dirkjan Ochtman 2019-03-28 20:35:40 +01:00
  • 749859517e Move stream creation into Streams type Dirkjan Ochtman 2019-03-28 20:35:22 +01:00
  • f74629be74 Move stream-related frame handling into Recv method Dirkjan Ochtman 2019-03-28 20:34:49 +01:00
  • 64ed16300e Fix builds on musl environment Nikita Baksalyar 2019-03-28 11:26:01 +00:00
  • e784fe6e1d Don't fail tests on normal connection shutdown Benjamin Saunders 2019-03-27 22:25:42 -07:00
  • d17d2b1e01 Drive connections until they're drained, even with errors Benjamin Saunders 2019-03-27 21:42:00 -07:00
  • a873f55911 Report draining complete when stateless reset follows close Benjamin Saunders 2019-03-27 21:41:14 -07:00
  • 233425160c Fix unreliable timers Benjamin Saunders 2019-03-27 21:18:24 -07:00
  • 3e56beee3c Spawn connection driver in client example and interop tool Benjamin Saunders 2019-03-27 21:18:04 -07:00
  • 08f663b1c6 More readable timer diagnostics Benjamin Saunders 2019-03-27 21:08:19 -07:00
  • 5b7b0d1173 Simplify timer handling Benjamin Saunders 2019-03-27 20:58:41 -07:00
  • de43f8e477 More convenient Timer iterator Benjamin Saunders 2019-03-27 20:47:17 -07:00
  • 82f6c2e14f Close unreferenced connections Benjamin Saunders 2019-03-27 20:36:53 -07:00
  • 399d6d58a2 Detailed must_use diagnostic Benjamin Saunders 2019-03-27 19:45:10 -07:00
  • 3195c757c3 Clean up after prematurely dropped connections Benjamin Saunders 2019-03-27 19:35:06 -07:00
  • 9fc7ddf129 Silence spurious warning Benjamin Saunders 2019-03-27 19:25:46 -07:00
  • cd4240e2a2 Improve key_update_reordered test robustness Benjamin Saunders 2019-03-27 19:25:25 -07:00
  • 29587e8552 Clarify handling of a lost endpoint driver Benjamin Saunders 2019-03-27 19:10:56 -07:00
  • f949a5981c Tweak comment Benjamin Saunders 2019-03-27 19:10:07 -07:00
  • 237e405889 Fix handling of STOP_SENDING on closed or unopened streams Benjamin Saunders 2019-03-27 18:46:40 -07:00
  • 1ed29db73b Fix receiving MAX_STREAM_DATA after closing the stream Benjamin Saunders 2019-03-27 18:33:53 -07:00
  • 21b8b99c53 Avoid redundant recv stream lookup Benjamin Saunders 2019-03-27 18:21:36 -07:00
  • d2f454ebc6 Return Connections from Endpoints after creation Dirkjan Ochtman 2019-03-23 21:56:17 +01:00
  • 6c8f3e0ea0 Enable key log in quinn tests Dirkjan Ochtman 2019-03-27 20:56:02 +01:00
  • 1a4eb4793d Optimize stream assembler (see #258) Dirkjan Ochtman 2019-03-26 17:25:07 +01:00
  • 75d5c730de Fix unreliable unblocking of ordered reads Benjamin Saunders 2019-03-26 19:55:06 -07:00
  • 1c24492c86 Don't start close timer on stateless reset Benjamin Saunders 2019-03-26 17:12:03 -07:00
  • bf6cf7387e Less error-prone timer cleanup Benjamin Saunders 2019-03-26 17:11:44 -07:00
  • 67de213a5a Only send PING in 1-RTT packets Benjamin Saunders 2019-03-26 17:09:02 -07:00
  • bc8bc6a17a Clarify logging Benjamin Saunders 2019-03-26 17:07:43 -07:00
  • 8be6ec3661 Don't set keep-alive during handshake Benjamin Saunders 2019-03-26 17:07:02 -07:00
  • 662b9483b8 Don't reset streams on dead connections Benjamin Saunders 2019-03-25 19:02:57 -07:00
  • 2fb452259b Don't send PING in Handshake packets Benjamin Saunders 2019-03-25 19:02:30 -07:00
  • 762bcf277b Add more debug info for the PROTOCOL_VIOLATION error Nikita Baksalyar 2019-03-25 17:55:53 +00:00
  • eade6f4d9a Initialize EndpointInner in same file as definition Dirkjan Ochtman 2019-03-11 15:01:17 +01:00
  • b9410ce895 Import mpsc module for shorter type paths Dirkjan Ochtman 2019-03-11 14:37:25 +01:00
  • 5872661b8d Split up Driver::poll() into manageable parts Dirkjan Ochtman 2019-03-10 21:23:50 +01:00
  • ef0fb2b869 Pass datagram to Connection as a ConnectionEvent Dirkjan Ochtman 2019-03-10 21:22:12 +01:00
  • a6fec82b44 Change variable names in Endpoint that match Connection usage Dirkjan Ochtman 2019-03-10 21:21:46 +01:00
  • 5bbaf6d4b4 Tweak formatting for better readability Dirkjan Ochtman 2019-03-05 22:03:50 +01:00
  • 46ad36e34b Trigger connection forgetting through EndpointEvent Dirkjan Ochtman 2019-02-26 21:24:40 +01:00
  • 149bec5f8c Handle timer events as ConnectionEvent variants Dirkjan Ochtman 2019-03-10 21:18:52 +01:00
  • d29f186418 Rename poll_io() and remove unnecessary Io wrapper enum Dirkjan Ochtman 2019-03-10 21:15:51 +01:00
  • 753bddadb2 Retire connection identifiers through EndpointEvent Dirkjan Ochtman 2019-03-10 21:13:42 +01:00
  • 11cf1336a5 Send new connection IDs as a single event Dirkjan Ochtman 2019-03-06 08:52:19 +01:00
  • b689cfcecd Use events to communicate from Connection to Endpoint Dirkjan Ochtman 2019-01-19 21:45:59 +01:00
  • 18cfea2145 Keep local CIDs state in Endpoint Dirkjan Ochtman 2019-03-07 08:54:48 +01:00
  • d28dc2bb64 Move Endpoint-only state from Connection into Endpoint Dirkjan Ochtman 2019-02-28 08:50:01 +01:00
  • 41f7551e10 Leave debugging hint for stupid future me Dirkjan Ochtman 2019-03-05 22:04:43 +01:00
  • 481e7286c7 Return new ConnectionHandle from Endpoint::handle() Dirkjan Ochtman 2019-03-08 21:16:29 +01:00
  • 385fd39411 Clarify connection setup flow Dirkjan Ochtman 2019-02-26 17:16:47 +01:00
  • e4bd3f1597 Disable dual-stack IP test for now Dirkjan Ochtman 2019-03-06 11:48:04 +01:00
  • cada5cc194 Update quinn/src/lib.rs Benjamin Saunders 2019-03-21 09:54:25 +00:00
  • e468390802 API for obtaining our local endpoint ustulation 2019-03-19 16:53:38 +00:00
  • 0a967f66e2 Relax 0-RTT frame type restrictions Benjamin Saunders 2019-03-12 18:08:34 -07:00
  • f5b066574a Move maybe_cleanup() method into Streams Dirkjan Ochtman 2019-03-06 08:32:54 +01:00
  • 65c3f2c7c6 Let Connection handle stream cleanup if necessary Dirkjan Ochtman 2019-02-27 21:28:42 +01:00
  • 27b5dfe541 Account for all UDP datagram bytes in anti-amplification Benjamin Saunders 2019-03-04 18:52:21 -08:00
  • 5a3034b957 Update persistent congestion detection logic Benjamin Saunders 2019-02-27 17:35:14 -08:00
  • 7da5188ba8 Enable backtraces in CI Benjamin Saunders 2019-02-27 17:31:06 -08:00
  • d50edb67fb Expand ECN support Benjamin Saunders 2019-02-02 12:58:11 -08:00
  • 92deb61f60 Move Streams type into stream module Dirkjan Ochtman 2019-02-27 09:31:56 +01:00
  • 694b94a877 Reduce duplication of logic in stream read handling Dirkjan Ochtman 2019-02-27 09:17:06 +01:00
  • a22d79d6d2 Don't panic on reads of unknown streams Dirkjan Ochtman 2019-02-27 08:33:04 +01:00
  • 53143ad12a Limit volume of unacked stream data Benjamin Saunders 2019-02-26 21:04:29 -08:00
  • 1585247830 Reduce send/recv starvation when CPU bound Benjamin Saunders 2019-02-22 20:21:04 -08:00
  • 7512d17e94 Don't rely on type inference in assert Benjamin Saunders 2019-02-22 20:46:07 -08:00
  • f6563b26b9 Ensure cmsg buffer alignment Benjamin Saunders 2019-02-13 18:38:00 -08:00
  • feafacbf45 More robust cmsg handling Benjamin Saunders 2019-02-13 18:37:43 -08:00
  • cbf87e401f Fix version negotiation on outgoing connections Benjamin Saunders 2019-02-18 13:34:18 -08:00
  • aa8c293f1d Refactor cmsg write helper Benjamin Saunders 2019-02-11 19:16:35 -08:00
  • 455322e4a5 Fix sending ECN for IPv4 peers on dual-stack sockets Benjamin Saunders 2019-02-11 17:59:01 -08:00
  • 663650cca1 Merge pull request #233 from djc/dependabot/cargo/proptest-0.9.1 Jean-Christophe BEGUE 2019-02-11 08:43:14 +01:00
  • 90b5311fff Update proptest requirement from 0.6.0 to 0.9.1 dependabot[bot] 2019-02-11 04:48:21 +00:00
  • 547fda3d6f Remove stale proptest dir stammw 2019-02-09 10:38:18 +01:00
  • 9c1128aa3f Remove useless assert stammw 2019-02-08 19:21:47 +01:00
  • 7c1664c86c Update draft number in ALPNs stammw 2019-02-08 15:02:30 +01:00
  • d99f332dd3 Use a separate client for H3 interop test stammw 2019-02-08 14:59:27 +01:00
  • f939f8ebe4 H3: StreamType for unidirectional streams stammw 2019-02-08 08:40:33 +01:00
  • f874a8dad6 QIF: use max blocked stream in encoding and check validity on decoding stammw 2019-02-06 08:24:14 +01:00
  • 5561effe56 Simple H3 get for the interop tool stammw 2019-02-05 08:21:29 +01:00
  • dafe685995 QPACK: use err_derive for public errors stammw 2019-02-04 20:13:26 +01:00
  • 2fec389480 QPACK: fix visibilities stammw 2019-02-04 13:39:20 +01:00
  • eca2af1604 QPACK: remove dead_code stammw 2019-02-04 13:21:59 +01:00
  • 550bf55717 QPACK: fix typo stammw 2019-02-01 20:55:26 +01:00
  • fd2940c5da Add jc.begue contributor name stammw 2019-02-01 20:06:53 +01:00
  • b3263c38ec QPACK: rename HeaderBloc{,k}Field stammw 2019-02-01 19:12:53 +01:00
  • d62b5fe06a QPACK: fix prefix string byte count when it fits 8 bit multiple stammw 2019-02-01 12:39:26 +01:00
  • 15b3cbb346 QIF: Handle blocked streams stammw 2019-02-01 07:43:06 +01:00
  • e56758dcac QPACK: fix 0 required ref case on encoding block stammw 2019-01-31 22:36:03 +01:00
  • bdb3f557ac QPACK: fix a prefi_int bug when integer encoding has a perfect fit stammw 2019-01-31 19:58:03 +01:00
  • 9dc05fe5d8 QIF: use cli args when encoding a single file stammw 2019-01-31 17:29:56 +01:00
  • 98a06b336f QPACK: remove evicted fields from dynamic reference map stammw 2019-01-31 14:52:27 +01:00
  • 7b47683347 QPACK: know if an index has been evicted, drop one by one stammw 2019-01-31 14:43:54 +01:00
  • 0c37a8a994 QIF: get encoder settings from cli args stammw 2019-01-31 08:21:53 +01:00
  • b710fcc1a5 QIF: gather encoding results stammw 2019-01-31 07:54:47 +01:00