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

11 Commits

Author SHA1 Message Date
Konstantin Tsoy
5f59ee7eff use the new errnoStr function
Summary: instead of the folly one

Reviewed By: sharmafb

Differential Revision: D80305359

fbshipit-source-id: 02f4780ed32874e00bcea13b5af4103560d7d205
2025-08-26 09:09:38 -07:00
generatedunixname89002005287564
9bd04714c3 Fix CQS signal facebook-unused-include-check in fbcode/quic/common
Reviewed By: dtolnay

Differential Revision: D79237370

fbshipit-source-id: d8d2787553bc7595d6b09e638156efc3dc941876
2025-07-30 08:57:26 -07:00
Matt Joras
4601c4bdae Migrate folly::Expected to quic::Expected
Summary:
This migrates the quic code to use quic::Expected instead of folly::Expected. quic::Expected is a vendored wrapper for expected-lite, which itself matches std::expected. std::expected is not available to us, but once it is, we would be able to further simplify to the std version.

This migration is almost entirely mechanical.
 ---
> Generated by [Confucius Code Assist (CCA)](https://www.internalfb.com/wiki/Confucius/Analect/Shared_Analects/Confucius_Code_Assist_(CCA)/)
[Session](https://www.internalfb.com/confucius?session_id=7044a18e-4d22-11f0-afeb-97de80927172&tab=Chat), [Trace](https://www.internalfb.com/confucius?session_id=7044a18e-4d22-11f0-afeb-97de80927172&tab=Trace)
 ---
> Generated by [RACER](https://www.internalfb.com/wiki/RACER_(Risk-Aware_Code_Editing_and_Refactoring)/), powered by [Confucius](https://www.internalfb.com/wiki/Confucius/Analect/Shared_Analects/Confucius_Code_Assist_(CCA)/)
[Session](https://www.internalfb.com/confucius?session_id=1fea6620-4d30-11f0-a206-ad0241db9ec9&tab=Chat), [Trace](https://www.internalfb.com/confucius?session_id=1fea6620-4d30-11f0-a206-ad0241db9ec9&tab=Trace)
[Session](https://www.internalfb.com/confucius?session_id=2bdbabba-505a-11f0-a21b-fb3d40195e00&tab=Chat), [Trace](https://www.internalfb.com/confucius?session_id=2bdbabba-505a-11f0-a21b-fb3d40195e00&tab=Trace)
[Session](https://www.internalfb.com/confucius?session_id=eb689fd2-5114-11f0-ade8-99c0fe2f80f2&tab=Chat), [Trace](https://www.internalfb.com/confucius?session_id=eb689fd2-5114-11f0-ade8-99c0fe2f80f2&tab=Trace)
[Session](https://www.internalfb.com/confucius?session_id=9bc2dcec-51f8-11f0-8604-7bc1f5225a86&tab=Chat), [Trace](https://www.internalfb.com/confucius?session_id=9bc2dcec-51f8-11f0-8604-7bc1f5225a86&tab=Trace)
[Session](https://www.internalfb.com/confucius?session_id=46b187ea-5cdd-11f0-9bab-7b6b886e8a09&tab=Chat), [Trace](https://www.internalfb.com/confucius?session_id=46b187ea-5cdd-11f0-9bab-7b6b886e8a09&tab=Trace)

Reviewed By: kvtsoy

Differential Revision: D76488955

fbshipit-source-id: 92b9cbeac85a28722a6180464b47d84696b1e81b
2025-07-10 15:57:07 -07:00
Matt Joras
089bf581a7 Remove throws from socket layer
Summary: More in the theme of returning Expected instead of throwing. For the folly case, we keep the try/catches in there and translate to Expected. For Libev, we convert directly to Expected.

Reviewed By: kvtsoy

Differential Revision: D73217128

fbshipit-source-id: d00a978f24e3b29a77a8ac99a19765ae49f64df8
2025-04-19 15:20:15 -07:00
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