Skip to content

Commit

Permalink
Remove getAsyncTransport sink API
Browse files Browse the repository at this point in the history
Summary: As in title

Differential Revision: D53110708

fbshipit-source-id: fd08c7809c5153424587dc3fae97651508a06767
  • Loading branch information
afrind authored and facebook-github-bot committed Jan 27, 2024
1 parent 4995027 commit 020db5b
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 5 deletions.
5 changes: 3 additions & 2 deletions proxygen/lib/http/sink/HTTPSink.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,11 @@ class HTTPSink {
[[nodiscard]] virtual CodecProtocol getCodecProtocol() const = 0;
[[nodiscard]] virtual const folly::SocketAddress& getLocalAddress() const = 0;
[[nodiscard]] virtual const folly::SocketAddress& getPeerAddress() const = 0;
[[nodiscard]] virtual const folly::AsyncTransportCertificate*
getPeerCertificate() const = 0;
[[nodiscard]] virtual folly::Optional<HTTPPriority> getHTTPPriority()
const = 0;
[[nodiscard]] virtual const folly::AsyncTransport* getTCPTransport()
const = 0;
[[nodiscard]] virtual int getTCPTransportFD() const = 0;
[[nodiscard]] virtual quic::QuicSocket* getQUICTransport() const = 0;
[[nodiscard]] virtual std::chrono::seconds getSessionIdleDuration() const = 0;
virtual void getCurrentFlowControlInfo(FlowControlInfo*) const = 0;
Expand Down
21 changes: 21 additions & 0 deletions proxygen/lib/http/sink/HTTPTransactionSink.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,27 @@

namespace proxygen {

int HTTPTransactionSink::getTCPTransportFD() const {
auto transport = httpTransaction_->getTransport().getUnderlyingTransport();
const folly::AsyncSocket* sock = nullptr;
if (transport) {
sock = transport->getUnderlyingTransport<folly::AsyncSocket>();
}
if (sock) {
return sock->getNetworkSocket().toFd();
}
return -1;
}

const folly::AsyncTransportCertificate*
HTTPTransactionSink::getPeerCertificate() const {
auto transport = httpTransaction_->getTransport().getUnderlyingTransport();
if (transport) {
return transport->getPeerCertificate();
}
return nullptr;
}

quic::QuicSocket* HTTPTransactionSink::getQUICTransport() const {
auto session = httpTransaction_->getTransport().getHTTPSessionBase();
if (auto hqSession = dynamic_cast<HQSession*>(session)) {
Expand Down
6 changes: 3 additions & 3 deletions proxygen/lib/http/sink/HTTPTransactionSink.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ class HTTPTransactionSink : public HTTPSink {
[[nodiscard]] const folly::SocketAddress& getPeerAddress() const override {
return httpTransaction_->getPeerAddress();
}
[[nodiscard]] const folly::AsyncTransport* getTCPTransport() const override {
return httpTransaction_->getTransport().getUnderlyingTransport();
}
[[nodiscard]] const folly::AsyncTransportCertificate* getPeerCertificate()
const override;
[[nodiscard]] int getTCPTransportFD() const override;
[[nodiscard]] quic::QuicSocket* getQUICTransport() const override;
[[nodiscard]] std::chrono::seconds getSessionIdleDuration() const override {
return sessionIdleDuration_;
Expand Down

0 comments on commit 020db5b

Please sign in to comment.