Summary:
- Per https://fburl.com/code/lb8pgvwb, to use DelayedDestruction, the destructor can be either private or protected
- HQDownstreamSession destructor is private, which prevents users from subclassing it.
- Let's change it to "protected"
Reviewed By: lnicco
Differential Revision: D71357167
fbshipit-source-id: aeeb97c6a80dedd6345db6c03bfe2e4c882a28eb
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1228
ubuntu 24.04 fast float is too old and causes folly build to fail, so exclude it from system packages and build from source.
ubuntu 25.04 plucky is due to get an updated version so not removing the deb mapping entirely: https://launchpad.net/ubuntu/plucky/+source/fast-float
Reviewed By: bigfootjon
Differential Revision: D71213548
fbshipit-source-id: b1fd7c28360a476c766da1099e56fd2aa5df3d55
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1227
Add retries to ArchiveFetcher when downloading fails. There will be 4 retries, with backoff and jitter. The max delay is capped at 10 seconds.
Reviewed By: srikrishnagopu
Differential Revision: D71167342
fbshipit-source-id: d927a639cf99185c5a04d063400bdab874dfddfe
Summary: The commits moves the `sendAbort()` to the end of invarian violation logic and add the delay destructor to the `invariantViolation` . This way the service handler can invoke customized send error implementation without being worrid about keeping the transaction around.
Reviewed By: hanidamlaj
Differential Revision: D69196385
fbshipit-source-id: 82c17e6a8ac610db228af0611f64f35a7c6274cc
Summary: Setting the new HeaderContentValidation ProxygenError enum in HQStreamCodec wherever there's a header validation error. These errors should now be recorded separately from header parsing errors.
Reviewed By: afrind
Differential Revision: D70342834
fbshipit-source-id: e95f1fc8552e2a2fe78750652871f16536dc62db
Summary: Setting the new HeaderContentValidation ProxygenError enum in HTTP1xCodec wherever there's a header validation error. These errors should now be recorded separately from header parsing errors.
Reviewed By: afrind
Differential Revision: D70342438
fbshipit-source-id: 1a793ed54d8144be1b144bda54ed58117f2e262d
Summary: Setting the new HeaderContentValidation ProxygenError enum in HTTP2Codec wherever there's a header validation error. These errors should now be recorded separately from header parsing errors.
Reviewed By: hanidamlaj
Differential Revision: D70202136
fbshipit-source-id: aab19af06ea9049057e7871c01e1f848472e8f11
Summary: This diff has no real functional change, we're just initializing the versions in the writers, parsers, codec, etc. based on the version that was negotiated during the handshake.
Reviewed By: afrind
Differential Revision: D70864940
fbshipit-source-id: 024c8dee2eaa78b61e280d0d70f9702ef36ea1e4
Summary: I had previously added delivery callbacks to the WebTransport API, now I'm adding functionality to the FakeSharedWebTransport to make it fire when the data is delivered to the peer (this is instantaneous right now for the FakeSharedWebTransport)
Reviewed By: jbeshay
Differential Revision: D70727637
fbshipit-source-id: b187e9ecbd16665fa14365198c0c9de88a49c7e9
Summary: Delete the alias and expect users to just migrate to the class.
Reviewed By: hanidamlaj
Differential Revision: D70498592
fbshipit-source-id: 50bd5f0fd06c4ce70d74324fdf58d24dbbc4aff6
Summary:
::generateTrailers is a terminal "event" on a http1x chunked upstream req / downstream resp
Put another way – after invoking ::generateTrailers, nothing else can be egressed w.r.t. to the txn; this is enforced by HTTPTransactionEgressSM
Reviewed By: jbeshay, kvtsoy
Differential Revision: D70193047
fbshipit-source-id: 1d19fc86496d4fb06ed1bd0e493a22b12b2f355c
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1216
`str_to_floating_fast_float_from_chars` can be simplified using the new upstream option `allow_leading_plus`. It does mean that we also support parsing `+nan` and `+infinity` which we previously didn't.
Mapping to `Inf` is also handled by the parsing logic, so this custom branch can be removed.
Reviewed By: Gownta
Differential Revision: D70392258
fbshipit-source-id: 62972a6cadd1547d8ff0a3162510ae5e979d459f
Summary: Replacing AddressFamilyNotSupported with HeaderContentValidation in the ProxygenError enum so that we can gain better visibility into validation vs. parsing errors. From my understanding, AddressFamilyNotSupported/kErrorAddressFamilyNotSupported is not often used and should be safe to replace.
Reviewed By: hanidamlaj
Differential Revision: D70005221
fbshipit-source-id: 101e247a2bfbb5d0203d8b746e47fdb20d10cf4d
Summary:
X-link: https://github.com/facebookincubator/zstrong/pull/1211
* Seems like rust-script is picky with the comment format for cargo dependencies. Switching from /* */ to //! allows is to correctly build the script.
* Remove Ubuntu 20.04 (gcc too old)
* Add Ubuntu 24.04 (latest LTS)
* Remove Fedora 36/37/38 (38 support ended 2024-05-21)
* Add Fedora 40/41/42 (42 to be released 2025-04-22)
X-link: https://github.com/facebook/watchman/pull/1275
Reviewed By: chadaustin
Differential Revision: D70350468
fbshipit-source-id: f5a29743da5b381fadeba2ed35a440b4054ca453
Summary: The WebTransport preface contains two QuicIntegers: One which represents whether the stream is unidirectional or bidirectional, and the other of which represents the session id. We just sum up the sizes of the two if they were to be encoded as `QuicInteger`s.
Reviewed By: hanidamlaj
Differential Revision: D70016394
fbshipit-source-id: 315e3d606acaea3754e310c0d242dedf0e02e84e