1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-25 15:43:13 +03:00
Commit Graph

8 Commits

Author SHA1 Message Date
Konstantin Tsoy
d98c90c48d Change onReadData() to return an error
Summary:
All according to plan: https://fburl.com/gdoc/pebccgi1
Changing function definitions to return errors while still throwing.

Reviewed By: sharmafb

Differential Revision: D69567329

fbshipit-source-id: 5d40ee32fe185d5674785632a9a13e4cef996988
2025-02-14 19:21:05 -08:00
Konstantin Tsoy
9418c93c02 Expose getPeerCertificate() in client
Summary: Expose getPeerCertificate() in client

Reviewed By: sharmafb

Differential Revision: D69485548

fbshipit-source-id: de6bd480554c51ad6209bc77eefc8fecd773c796
2025-02-12 16:15:02 -08:00
Konstantin Tsoy
476607c217 Clean up inline writes param
Summary: Clean up inline writes param

Differential Revision: D68977602

fbshipit-source-id: 4edb4ca08605fab76b56e706c2ccc85836018594
2025-02-04 23:51:44 -08:00
Aman Sharma
afee69d577 Remove unused iovec in QuicClientTransportLite::recvFrom
Summary: Nothing is using this. Don't know why it's here

Reviewed By: jbeshay

Differential Revision: D67988403

fbshipit-source-id: 5619d49b31c0ed72fa6b3fef6584e54a4c8fabe3
2025-01-13 15:01:59 -08:00
Aman Sharma
0411554224 Throw exception upon receiving reliable reset
Summary: For now, we're going to throw an exception when we get a RESET_STREAM_AT frame, which would terminate the connection. Later on, this logic is going to be gated on whether we and the peer support reliable resets (and we get to know this through the transport parameters).

Reviewed By: jbeshay

Differential Revision: D67866393

fbshipit-source-id: 6b2888c026fadf0f2aa5dad52314ed8250959cf6
2025-01-07 13:33:37 -08:00
Aman Sharma
ae011587d5 Add reliable_stream_reset transport parameter
Summary: This diff adds the reliable_stream_reset transport parameter to mvfst.

Reviewed By: hanidamlaj

Differential Revision: D65383676

fbshipit-source-id: cb2f6a1a90004ea489447b67ed3cfc12ca90b804
2024-12-17 11:53:15 -08:00
Aman Sharma
fca90d483b Keep track of the minimum reliable size ACKed
Summary:
With normal resets, we transition from `StreamSendState::ResetSent` to `StreamSendState::Closed` when we get an ACK for a RESET_STREAM frame.

With reliable resets, this is going to be a little more complicated. We can't automatically transition from `StreamSendState::ResetSent` to `StreamSendState::Closed` when we get an ACK for a RESET_STREAM_AT frame because it's possible that the peer hasn't yet received all data until the reliable reset offset.

My idea is the following: Keep track of the `minReliableSizeAcked`, which is the lowest value of the reliable size in any RESET_STREAM_AT frame that was ACKed by the peer. We set it to 0 if a RESET_STREAM frame was ACKed by the peer.

Then, we can transition from `StreamSendState::ResetSent` to `StreamSendState::Closed` if any one of the following two events happen:
* We get an ACK for a RESET_STREAM_AT or a RESET_STREAM frame, and all data until the `minReliableSizeAcked` has been ACKed by the peer.
* We get an ACK for stream data, and this puts us in a state where all data until the `minReliableSizeAcked` has been ACKed by the peer.

Note: This diff doesn't have any functional change. The only change is that we're keeping track of the `minReliableSizeAcked`, but aren't using it anywhere.

Reviewed By: mjoras

Differential Revision: D66781199

fbshipit-source-id: 2aa5138a18f70e9801e59e747460558ba706939c
2024-12-10 16:39:37 -08:00
Aman Sharma
5cd8b2b6c8 Make a QuicClientTransportLite
Summary: See title

Reviewed By: mjoras

Differential Revision: D65688254

fbshipit-source-id: ab3f9048934271c5c29078cd4191492f980bb9ab
2024-12-07 00:09:11 -08:00