Commit Graph

2191 Commits

Author SHA1 Message Date
Dirkjan Ochtman 545cfbd4e5 Move local_max_data state into Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 261d0f7f54 Move data_recvd state into Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman eef5baca82 Move handling of MaxStreams frames into Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman be720e1315 Privatize many more streams APIs 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman aec6f7208c Move call to on_stream_frame() into Streams::reset() 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman ea8b59c9f3 Move incoming ResetStream handling into Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 41dd45da66 Call on_stream_frame() directly from increase_max_stream_data() 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman d108cefc0d Handle received stream frames in Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 65429d6097 Move on_stream_frame() into Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 20c8ee1a69 Keep side state in Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 4eedff0653 Handle MaxStreamData frame in Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman b65e78009d Let Streams::reset() prepare events 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman ccf6a0b5e0 Let Streams::ack() prepare events 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman fb544ad43f Store stream events in Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 682c5863d5 Introduce separate StreamEvent enum 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 9b7757664e Move stream opened state into Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 6482674762 Move Streams update from parameters into Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 7f883511bf Move acked stream reset logic into Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 0aebc7592f Split config module out of shared module 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 2541e56961 Group modules used to build Connection 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 349925bd95 Collect Connection public API together at the top 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman a7a54bd778 Encode stream frames from inside Streams 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 9693504d94 Derive Default for Recv 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 403702c643 Derive Default for Assembler 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman 1c45dfdeac Derive Default for SendBuffer 2020-04-28 13:06:10 -07:00
Dirkjan Ochtman f6904d6140 Apply suggestions from clippy 2020-04-25 09:43:13 -07:00
Dirkjan Ochtman 3a414cc288 Prevent rustfmt from mucking with macro call style 2020-04-25 09:43:13 -07:00
Jesse Lucas 11a7c77992 Add usage documentation to quinn/examples/server.rs 2020-04-25 18:06:04 +02:00
Benjamin Saunders ddc8d432e6 Fix broken doc link 2020-04-22 06:58:01 +02:00
Benjamin Saunders 8200c97522 Set FIN bit on all eligible stream frames
Improves performance when a frame bearing a FIN is lost but the loss
is not detected until after a trailing segment of data is
retransmitted due to prior loss.
2020-04-19 14:10:57 -07:00
Benjamin Saunders 8c0db7466a Simplify tracking of stream data acknowledgement completeness 2020-04-19 14:10:57 -07:00
Benjamin Saunders 703ab27cc6 Clarify logic when a blocked or finishing stream is stopped 2020-04-19 14:10:57 -07:00
Benjamin Saunders 1533cc45b1 Rearrange Streams methods 2020-04-19 14:10:57 -07:00
Benjamin Saunders 7c15b939dc Move connection-level flow control into streams module 2020-04-19 14:10:57 -07:00
Benjamin Saunders 784b40f4d4 Move stream finish logic into streams module 2020-04-19 14:10:57 -07:00
Benjamin Saunders 094029b7cc Privatize streams::Send.pending 2020-04-19 14:10:57 -07:00
Benjamin Saunders 4deb982483 Move stream-level flow control logic into streams module 2020-04-19 14:10:57 -07:00
Benjamin Saunders 6c1673104d Move stream transmit logic into Streams 2020-04-19 14:10:57 -07:00
Benjamin Saunders cb6c35526f Move stream frame ACK handling into Streams 2020-04-19 14:10:57 -07:00
Benjamin Saunders 14bd135d56 Buffer outgoing data separately per stream 2020-04-19 14:10:57 -07:00
Benjamin Saunders f757bfbb7e Update send window to account for reset streams immediately
Frees resources sooner and opens the way for per-stream send buffers
without compromising send window tracking when streams are destroyed.
2020-04-19 14:10:57 -07:00
Benjamin Saunders d438d9a041 Move stream send buffer into Streams 2020-04-19 14:10:57 -07:00
Benjamin Saunders 6c41446849 Move reset state transitions into streams module 2020-04-19 14:10:57 -07:00
Benjamin Saunders 71866632d5 More detailed logging for finish_acked test 2020-04-19 14:10:57 -07:00
Benjamin Saunders 632fba7d20 Clarify comment 2020-04-19 14:10:57 -07:00
stammw b524f6ac4c H3: request benchmarks 2020-04-19 21:47:53 +02:00
stammw 2aa424a3ce H3: impl default for bench context 2020-04-19 21:47:53 +02:00
stammw 10cde920f6 H3: build benchmark context with settings 2020-04-19 21:47:53 +02:00
stammw f3cc67601f H3: isolate throughput bench and helpers 2020-04-19 21:47:53 +02:00
stammw 963695db1d H3: upload benchmarks 2020-04-19 21:47:53 +02:00