Skip to content

Commit 4d3082a

Browse files
Joanna Jofacebook-github-bot
Joanna Jo
authored andcommitted
Add wtTransportProvider_ in HTTPTransaction
Summary: Adding `WebTransportImpl::TransportProvider` to HTTPTransaction. Reviewed By: afrind Differential Revision: D74437629 fbshipit-source-id: a16ac8a08cbd6ceedc285b09b80c2b936028c169
1 parent 9f2d3c3 commit 4d3082a

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

proxygen/lib/http/session/HTTPTransaction.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ HTTPTransaction::HTTPTransaction(
8686
id_(id),
8787
seqNo_(seqNo),
8888
transport_(transport),
89+
wtTransportProvider_(&transport),
8990
stats_(stats),
9091
recvWindow_(receiveInitialWindowSize),
9192
sendWindow_(sendInitialWindowSize),
@@ -1720,7 +1721,7 @@ bool HTTPTransaction::sendDatagram(std::unique_ptr<folly::IOBuf> datagram) {
17201721
return false;
17211722
}
17221723

1723-
auto sent = transport_.sendDatagram(std::move(datagram));
1724+
auto sent = wtTransportProvider_->sendDatagram(std::move(datagram));
17241725

17251726
if (sent && transportCallback_) {
17261727
transportCallback_->datagramBytesGenerated(size);
@@ -2078,8 +2079,10 @@ void HTTPTransaction::onDatagram(
20782079
WebTransportImpl::BidiStreamHandle HTTPTransaction::onWebTransportBidiStream(
20792080
HTTPCodec::StreamID id) {
20802081
if (!handler_) {
2081-
transport_.resetWebTransportEgress(id, WebTransport::kInternalError);
2082-
transport_.stopReadingWebTransportIngress(id, WebTransport::kInternalError);
2082+
wtTransportProvider_->resetWebTransportEgress(id,
2083+
WebTransport::kInternalError);
2084+
wtTransportProvider_->stopReadingWebTransportIngress(
2085+
id, WebTransport::kInternalError);
20832086
return {nullptr, nullptr};
20842087
}
20852088
refreshTimeout();
@@ -2094,7 +2097,8 @@ WebTransportImpl::StreamReadHandle* HTTPTransaction::onWebTransportUniStream(
20942097
HTTPCodec::StreamID id) {
20952098
if (!handler_) {
20962099
LOG(ERROR) << "Handler not set";
2097-
transport_.stopReadingWebTransportIngress(id, WebTransport::kInternalError);
2100+
wtTransportProvider_->stopReadingWebTransportIngress(
2101+
id, WebTransport::kInternalError);
20982102
return nullptr;
20992103
}
21002104
refreshTimeout();

proxygen/lib/http/session/HTTPTransaction.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1742,6 +1742,10 @@ class HTTPTransaction
17421742
return webTransportImpl_.get();
17431743
}
17441744

1745+
void setWTTransportProvider(WebTransportImpl::TransportProvider* tp) {
1746+
wtTransportProvider_ = tp;
1747+
}
1748+
17451749
static void setEgressBufferLimit(uint64_t limit) {
17461750
egressBufferLimit_ = limit;
17471751
}
@@ -1979,6 +1983,7 @@ class HTTPTransaction
19791983
uint32_t maxDeferredIngress_{0};
19801984
Handler* handler_{nullptr};
19811985
Transport& transport_;
1986+
WebTransportImpl::TransportProvider* wtTransportProvider_;
19821987

19831988
HTTPSessionStats* stats_{nullptr};
19841989

0 commit comments

Comments
 (0)