Summary:
Check for GSO support once before the first write, cache the value and use it throughout the conn lifetime.
If GSO is not supported, ensure we use chained memory write path.
Reviewed By: mjoras
Differential Revision: D40240513
fbshipit-source-id: b699b4633246f3c15d2be7b39580686e44c2aab3
Summary:
```
quic\api\quicbatchwriter.cpp(286): warning C4311: 'type cast': pointer truncation from 'const uint8_t *' to 'long'
quic\api\quicbatchwriter.cpp(286): warning C4302: 'type cast': truncation from 'const uint8_t *' to 'long'
```
On *nix 64-bit systems a `long` is 64 bits while on Windows/MSVC it's 32-bits. Better just use the 64-bit value for consistency.
Reviewed By: yangchi
Differential Revision: D25496685
fbshipit-source-id: f2357c6b9f4e4ca1a630db95b69a116d0241c744
Summary: SendmmsgGSOPacketBatchWriter - try to batch more based on dest addr (map)
Reviewed By: mjoras
Differential Revision: D21110682
fbshipit-source-id: 1be2eb26ec33c8256f1d4bbe7e3d6fae19eb7146
Summary:
as title. Instead of checking against the packet size limit, this
leaves a 10 bytes room since we have a bug that writes out packets that's
slightly larger than udpSendPacketLen. Most of such packet will be 1-2 bytes
larger than original packets.
Reviewed By: mjoras
Differential Revision: D21642386
fbshipit-source-id: 6ca68d48828cb7f8ee692e0d5f452f5389a56bfd
Summary:
Add support for variable number of addrs so we can send data to multiple destinations.
(Note: this ignores all push blocking failures!)
Reviewed By: kevin-vigor
Differential Revision: D21032857
fbshipit-source-id: f73b98d44f5d7d92f3692dfddb9b1c76ebcc51c5
Summary:
In the client transport case, an exception is thrown before return. In
the batch write maker case, the previous switch/case handles all possible cases
Reviewed By: udippant
Differential Revision: D15260725
fbshipit-source-id: 2ce7277544ee810729140aeb304e6484d339f3db