1
0
mirror of https://github.com/facebookincubator/mvfst.git synced 2025-11-24 04:01:07 +03:00
Commit Graph

7 Commits

Author SHA1 Message Date
Aman Sharma
2f33a3681a Introduce a "BufHelpers" typealias
Summary: This introduces a more generic typealias so that we can, for instance, write `BufHelpers::createCombined` instead of `folly::IOBuf::createCombined`.

Reviewed By: jbeshay

Differential Revision: D73127508

fbshipit-source-id: d585790904efc8e9f92d79cbf766bafe0e84a69f
2025-04-17 11:57:01 -07:00
Joseph Beshay
4569046566 Enable reading ECN on mvfst client on windows using recvmmsg wrapper path
Summary:
Previously, none of the read paths supported by QuicClienTransport had support for reaching the ToS field on Windows.

This change adds support for reading ToS fields in the `shouldUseWrapperRecvmmsgForBatchRecv` read path on Windows.

This facilitates running and testing ECN/L4S in a Windows-only environment.

Reviewed By: kvtsoy, sharmafb

Differential Revision: D66045131

fbshipit-source-id: 440cf99b5b97d852286630668abac906ea696950
2024-11-20 20:23:30 -08:00
Aman Sharma
8fb4204d71 Factor out convertToSocketTimestampExt function
Summary: We'll be using this logic in numerous places (for instance, in QuicClientTransport, where we call `recvMsg` which doesn't currently set the `maybeSoftwareTs` field), so I'm factoring it out.

Reviewed By: mjoras

Differential Revision: D61480314

fbshipit-source-id: f2465712d2ae94e42e52d49add2212994c5b397f
2024-08-19 19:56:19 -07:00
Matt Joras
aefc9e369b Introduce quic::Optional
Summary:
The idea here is to make it so we can swap out the type we are using for optionality. In the near term we are going to try swapping towards one that more aggressively tries to save size.

For now there is no functional change and this is just a big aliasing diff.

Reviewed By: sharmafb

Differential Revision: D57633896

fbshipit-source-id: 6eae5953d47395b390016e59cf9d639f3b6c8cfe
2024-06-11 11:02:02 -07:00
Joseph Beshay
3eef6d0e55 Add ToS field to ReceivedUdpPacket
Summary: Adds new field `tosValue` to  ReceivedUdpPacket so it is accessible in the rest of the read path.

Reviewed By: kvtsoy

Differential Revision: D54912161

fbshipit-source-id: ea4714fa2374d38e915fc850387e1094d1fb8adf
2024-05-15 11:51:15 -07:00
Joseph Beshay
fdf1b30412 Read TOS/TCLASS from incoming packets
Summary: As title. This adds support for the quic client and server transports reading the tos/tclass field for incoming packets.

Reviewed By: mjoras, kvtsoy

Differential Revision: D54912164

fbshipit-source-id: e4dc4d778dce66f8d5539e9742433e0996f98c0c
2024-05-09 11:05:32 -07:00
Joseph Beshay
da56dfa599 Add new interface QuicAsyncUDPSocket
Summary:
This adds a new abstract class for a QuicAsyncUDPSocket abstraction that will be used by Mvfst instead of directly using folly objects. This will allow plugging in different implementations. The two that are currently planned are:
- folly-based
- pure libev based

Reviewed By: mjoras, sharmafb

Differential Revision: D50809223

fbshipit-source-id: 3852c9a7459b45d79e39ff24e7fc725e8703d3b8
2023-12-14 00:24:12 -08:00