mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-11-30 03:41:25 +03:00
Remove DSR (Direct Server Return) from mvfst, ti/bigcache, and proxygen
Summary: This commit completely removes the DSR (Direct Server Return) feature from the codebase. DSR was a zero-copy QUIC packet transmission mechanism that allowed backend servers to directly packetize and send data to clients, bypassing the transport layer. Components removed: **QUIC (fbcode/quic/)** - Deleted quic/dsr/ directory with all DSR implementation files - Removed BufferMeta and WriteBufferMeta from StreamData - Removed writeBufMeta() and setDSRPacketizationRequestSender() from QuicSocket - Removed DSR tracking from stream state (dsrSender, writeBufMeta, retransmission/loss buffers) - Removed DSR packet tracking fields (isDSRPacket, nonDsrPacketSequenceNumber) - Removed DSR logic from loss detection, flow control, packet scheduling - Removed TperfDSRSender tool and DSR test infrastructure **ti/bigcache** - Deleted ti/bigcache/dsr/ directory (16 files: Cookie, PacketizationContext, SocketProvider, etc.) - Removed ~1000 lines of DSR code from BigCacheCommandHandler (header/impl/inline) - Removed XSK (AF_XDP) initialization and container management from MCBigCache.cpp - Removed DSR RPC methods: async_eb_bigcacheGetDSR, async_eb_establishPacketizationSink, async_eb_release - Removed getDSRBigcacheValueAsync(), createDSRDelegationRequest() from McrouterCache - Removed DSR-specific stats namespace (dsrstats) and metrics - Cleaned up BUCK dependencies removing quic/dsr and XSK references **proxygen HTTP infrastructure** - Removed allowDSR() virtual method from HTTPMessageFilter base class and 50+ filter implementations - Removed setDSRRequestSender() interface from HTTPTransaction::Transport and HTTPSink - Removed DSRRequestSender class and sendHeadersWithDelegate() from HTTPTransaction - Removed BufferMeta struct and all related methods from HTTPTransaction (getBufferMeta, clearBufferMeta, etc.) - Removed bufMeta_ member and references from HQSession::HQStreamTransportBase - Removed isDelegated_ flag and delegated transaction checks from HTTPTransaction - Removed cache DSR methods: canDSR(), performDSRDelegateAndScheduleCallbacks(), onDelegateSuccess(), onDelegateMiss() - Removed DSR delegation from HTTPResponseCache and McrouterCache **Test infrastructure fixes** - Removed quic/dsr/test:mocks dependency from proxygen session test TARGETS - Fixed PTM test to remove nonDsrPacketSequenceNumber field references - Cleaned up MockQuicSocketDriver to remove DSR mock infrastructure (BufferMeta, writeBufMeta) - Removed sendHeadersWithDelegate() from HTTPSessionMocks test helpers - Commented out DSR-specific tests in HQDownstreamSessionTest (DelegateResponse, DelegateResponseError) - Removed MockQuicDSRRequestSender from HQSessionMocks - Disabled BigcacheSRPacketizer build targets (depends on removed quic/dsr infrastructure) - Fixed WebTransportFilter, CdnFilters, and other components after removing DSR infrastructure The codebase now exclusively uses standard QUIC stream writes through pendingWrites buffers. Reviewed By: kvtsoy Differential Revision: D86992558 fbshipit-source-id: a3814eaf735accdce989c45da8101aac8e8c831f
This commit is contained in:
committed by
meta-codesync[bot]
parent
fa2e03c14c
commit
fc66b07859
@@ -257,7 +257,6 @@ void FileQLogger::addTransportSummary(const TransportSummaryArgs& args) {
|
||||
args.finalPacketLossTimeReorderingThreshDividend,
|
||||
args.usedZeroRtt,
|
||||
args.quicVersion,
|
||||
args.dsrPacketCount,
|
||||
args.initialPacketsReceived,
|
||||
args.uniqueInitialCryptoFramesReceived,
|
||||
args.timeUntilLastInitialCryptoFrameReceived,
|
||||
|
||||
Reference in New Issue
Block a user