|
| HTTPDownstreamSession (const WheelTimerInstance &timeout, folly::AsyncTransportWrapper::UniquePtr &&sock, const folly::SocketAddress &localAddr, const folly::SocketAddress &peerAddr, HTTPSessionController *controller, std::unique_ptr< HTTPCodec > codec, const wangle::TransportInfo &tinfo, InfoCallback *infoCallback) |
|
| HTTPDownstreamSession (folly::HHWheelTimer *timer, folly::AsyncTransportWrapper::UniquePtr &&sock, const folly::SocketAddress &localAddr, const folly::SocketAddress &peerAddr, HTTPSessionController *controller, std::unique_ptr< HTTPCodec > codec, const wangle::TransportInfo &tinfo, InfoCallback *infoCallback) |
|
void | startNow () override |
|
HTTPSessionBase::SessionType | getType () const noexceptoverride |
|
folly::AsyncTransportWrapper * | getTransport () override |
|
folly::EventBase * | getEventBase () const override |
|
const folly::AsyncTransportWrapper * | getTransport () const override |
|
bool | hasActiveTransactions () const override |
|
uint32_t | getNumOutgoingStreams () const override |
|
uint32_t | getNumIncomingStreams () const override |
|
ByteEventTracker * | getByteEventTracker () |
|
void | setByteEventTracker (std::shared_ptr< ByteEventTracker > byteEventTracker) |
|
void | setSessionStats (HTTPSessionStats *stats) override |
|
void | setFlowControl (size_t initialReceiveWindow, size_t receiveStreamWindowSize, size_t receiveSessionWindowSize) override |
|
void | setEgressSettings (const SettingsList &inSettings) override |
|
bool | getHTTP2PrioritiesEnabled () const override |
|
void | setHTTP2PrioritiesEnabled (bool enabled) override |
|
const folly::SocketAddress & | getLocalAddress () const noexceptoverride |
|
const folly::SocketAddress & | getPeerAddress () const noexceptoverride |
|
const wangle::TransportInfo & | getSetupTransportInfo () const noexceptoverride |
|
bool | getCurrentTransportInfo (wangle::TransportInfo *tinfo) override |
|
void | setMaxConcurrentIncomingStreams (uint32_t num) override |
|
void | setEgressBytesLimit (uint64_t bytesLimit) |
|
void | startNow () override |
|
size_t | sendSettings () override |
|
size_t | sendPing () override |
|
HTTPCodec::StreamID | sendPriority (http2::PriorityUpdate pri) override |
|
size_t | sendPriority (HTTPCodec::StreamID id, http2::PriorityUpdate pri) override |
|
size_t | sendCertificateRequest (std::unique_ptr< folly::IOBuf > certificateRequestContext, std::vector< fizz::Extension > extensions) override |
|
void | timeoutExpired () noexceptoverride |
|
void | describe (std::ostream &os) const override |
|
bool | isBusy () const override |
|
void | notifyPendingShutdown () override |
|
void | closeWhenIdle () override |
|
void | dropConnection () override |
|
void | dumpConnectionState (uint8_t loglevel) override |
|
bool | getCurrentTransportInfoWithoutUpdate (wangle::TransportInfo *tinfo) const override |
|
void | setHeaderCodecStats (HeaderCodec::Stats *stats) override |
|
void | enableDoubleGoawayDrain () override |
|
bool | connCloseByRemote () override |
|
void | setSecondAuthManager (std::unique_ptr< SecondaryAuthManager > secondAuthManager) |
|
SecondaryAuthManager * | getSecondAuthManager () const |
|
| HTTPSessionBase (const folly::SocketAddress &localAddr, const folly::SocketAddress &peerAddr, HTTPSessionController *controller, const wangle::TransportInfo &tinfo, InfoCallback *infoCallback, std::unique_ptr< HTTPCodec > codec) |
|
virtual | ~HTTPSessionBase () |
|
void | setInfoCallback (InfoCallback *callback) |
|
InfoCallback * | getInfoCallback () const |
|
HTTPTransaction::Handler * | getParseErrorHandler (HTTPTransaction *txn, const HTTPException &error) |
|
bool | supportsMoreTransactions () const |
|
uint32_t | getHistoricalMaxOutgoingStreams () const |
|
uint32_t | getMaxConcurrentOutgoingStreams () const |
|
HTTPSessionController * | getController () |
|
void | setController (HTTPSessionController *controller) |
|
ConnectionCloseReason | getConnectionCloseReason () const |
|
template<typename Filter , typename... Args> |
void | addCodecFilter (Args &&...args) |
|
virtual CodecProtocol | getCodecProtocol () const |
|
void | setHTTP2PrioritiesEnabled (bool enabled) |
|
void | setMaxConcurrentOutgoingStreams (uint32_t num) |
|
uint32_t | getWriteBufferLimit () const |
|
void | setWriteBufferLimit (uint32_t limit) |
|
void | setReadBufferLimit (uint32_t limit) |
|
uint64_t | getNumTxnServed () const |
|
std::chrono::seconds | getLatestIdleTime () const |
|
void | setPrioritySampled (bool sampled) |
|
const folly::SocketAddress & | getLocalAddress () const noexcept |
|
const folly::SocketAddress & | getPeerAddress () const noexcept |
|
const wangle::TransportInfo & | getSetupTransportInfo () const noexcept |
|
wangle::TransportInfo & | getSetupTransportInfo () noexcept |
|
void | enableExHeadersSettings () noexcept |
|
bool | isExHeadersEnabled () noexcept |
|
| ManagedConnection () |
|
void | fireNotifyPendingShutdown () |
|
void | fireCloseWhenIdle (bool force_to_close=false) |
|
virtual void | resetTimeout () |
|
void | resetTimeoutTo (std::chrono::milliseconds) |
|
virtual void | scheduleTimeout (folly::HHWheelTimer::Callback *callback, std::chrono::milliseconds timeout) |
|
ConnectionManager * | getConnectionManager () |
|
| Callback ()=default |
|
virtual | ~Callback () |
|
virtual void | callbackCanceled () noexcept |
|
void | cancelTimeout () |
|
bool | isScheduled () const |
|
std::chrono::milliseconds | getTimeRemaining () |
|
virtual void | destroy () |
|
bool | getDestroyPending () const |
|
virtual | ~DelayedDestructionBase ()=default |
|
virtual | ~Transport () |
|
virtual void | addWaitingForReplaySafety (folly::AsyncTransport::ReplaySafetyCallback *callback) noexcept=0 |
|
virtual void | removeWaitingForReplaySafety (folly::AsyncTransport::ReplaySafetyCallback *callback) noexcept=0 |
|
virtual | ~Callback () |
|
|
using | UniquePtr = std::unique_ptr< HTTPSession, Destructor > |
|
enum | SessionType { SessionType::HTTP,
SessionType::HQ
} |
|
using | FilterIteratorFn = std::function< void(HTTPCodecFilter *)> |
|
static void | setDefaultReadBufferLimit (uint32_t limit) |
|
static void | setMaxReadBufferSize (uint32_t bytes) |
|
static void | setFlowControlledBodySizeLimit (uint32_t limit) |
|
static void | setDefaultWriteBufferLimit (uint32_t max) |
|
| HTTPSession (const WheelTimerInstance &timeout, folly::AsyncTransportWrapper::UniquePtr sock, const folly::SocketAddress &localAddr, const folly::SocketAddress &peerAddr, HTTPSessionController *controller, std::unique_ptr< HTTPCodec > codec, const wangle::TransportInfo &tinfo, InfoCallback *infoCallback) |
|
| HTTPSession (folly::HHWheelTimer *transactionTimeouts, folly::AsyncTransportWrapper::UniquePtr sock, const folly::SocketAddress &localAddr, const folly::SocketAddress &peerAddr, HTTPSessionController *controller, std::unique_ptr< HTTPCodec > codec, const wangle::TransportInfo &tinfo, InfoCallback *infoCallback) |
|
| ~HTTPSession () override |
|
void | setNewTransactionPauseState (HTTPCodec::StreamID streamID) |
|
void | onEgressMessageFinished (HTTPTransaction *txn, bool withRST=false) |
|
std::unique_ptr< folly::IOBuf > | getNextToSend (bool *cork, bool *eom) |
|
void | decrementTransactionCount (HTTPTransaction *txn, bool ingressEOM, bool egressEOM) |
|
size_t | getCodecSendWindowSize () const |
|
size_t | sendPriorityImpl (HTTPCodec::StreamID streamID, http2::PriorityUpdate pri) |
|
bool | onNativeProtocolUpgradeImpl (HTTPCodec::StreamID txn, std::unique_ptr< HTTPCodec > codec, const std::string &protocolString) |
|
virtual folly::Optional< const HTTPMessage::HTTPPriority > | getHTTPPriority (uint8_t) override |
|
void | readTimeoutExpired () noexcept |
|
void | writeTimeoutExpired () noexcept |
|
void | flowControlTimeoutExpired () noexcept |
|
void | getReadBuffer (void **buf, size_t *bufSize) override |
|
void | readDataAvailable (size_t readSize) noexceptoverride |
|
bool | isBufferMovable () noexceptoverride |
|
void | readBufferAvailable (std::unique_ptr< folly::IOBuf >) noexceptoverride |
|
void | processReadData () |
|
void | readEOF () noexceptoverride |
|
void | readErr (const folly::AsyncSocketException &) noexceptoverride |
|
std::string | getSecurityProtocol () const override |
|
void | onMessageBegin (HTTPCodec::StreamID streamID, HTTPMessage *msg) override |
|
void | onPushMessageBegin (HTTPCodec::StreamID streamID, HTTPCodec::StreamID assocStreamID, HTTPMessage *msg) override |
|
void | onExMessageBegin (HTTPCodec::StreamID streamID, HTTPCodec::StreamID controlStream, bool unidirectional, HTTPMessage *msg) override |
|
void | onHeadersComplete (HTTPCodec::StreamID streamID, std::unique_ptr< HTTPMessage > msg) override |
|
void | onBody (HTTPCodec::StreamID streamID, std::unique_ptr< folly::IOBuf > chain, uint16_t padding) override |
|
void | onChunkHeader (HTTPCodec::StreamID stream, size_t length) override |
|
void | onChunkComplete (HTTPCodec::StreamID stream) override |
|
void | onTrailersComplete (HTTPCodec::StreamID streamID, std::unique_ptr< HTTPHeaders > trailers) override |
|
void | onMessageComplete (HTTPCodec::StreamID streamID, bool upgrade) override |
|
void | onError (HTTPCodec::StreamID streamID, const HTTPException &error, bool newTxn) override |
|
void | onAbort (HTTPCodec::StreamID streamID, ErrorCode code) override |
|
void | onGoaway (uint64_t lastGoodStreamID, ErrorCode code, std::unique_ptr< folly::IOBuf > debugData=nullptr) override |
|
void | onPingRequest (uint64_t uniqueID) override |
|
void | onPingReply (uint64_t uniqueID) override |
|
void | onWindowUpdate (HTTPCodec::StreamID stream, uint32_t amount) override |
|
void | onSettings (const SettingsList &settings) override |
|
void | onSettingsAck () override |
|
void | onPriority (HTTPCodec::StreamID stream, const HTTPMessage::HTTPPriority &) override |
|
void | onCertificateRequest (uint16_t requestId, std::unique_ptr< folly::IOBuf > authRequest) override |
|
void | onCertificate (uint16_t certId, std::unique_ptr< folly::IOBuf > authenticator) override |
|
uint32_t | numOutgoingStreams () const override |
|
uint32_t | numIncomingStreams () const override |
|
void | pauseIngress (HTTPTransaction *txn) noexceptoverride |
|
void | resumeIngress (HTTPTransaction *txn) noexceptoverride |
|
void | transactionTimeout (HTTPTransaction *txn) noexceptoverride |
|
void | sendHeaders (HTTPTransaction *txn, const HTTPMessage &headers, HTTPHeaderSize *size, bool includeEOM) noexceptoverride |
|
size_t | sendBody (HTTPTransaction *txn, std::unique_ptr< folly::IOBuf >, bool includeEOM, bool trackLastByteFlushed) noexceptoverride |
|
size_t | sendChunkHeader (HTTPTransaction *txn, size_t length) noexceptoverride |
|
size_t | sendChunkTerminator (HTTPTransaction *txn) noexceptoverride |
|
size_t | sendEOM (HTTPTransaction *txn, const HTTPHeaders *trailers) noexceptoverride |
|
size_t | sendAbort (HTTPTransaction *txn, ErrorCode statusCode) noexceptoverride |
|
size_t | sendPriority (HTTPTransaction *txn, const http2::PriorityUpdate &pri) noexceptoverride |
|
void | detach (HTTPTransaction *txn) noexceptoverride |
|
size_t | sendWindowUpdate (HTTPTransaction *txn, uint32_t bytes) noexceptoverride |
|
void | notifyPendingEgress () noexceptoverride |
|
void | notifyIngressBodyProcessed (uint32_t bytes) noexceptoverride |
|
void | notifyEgressBodyBuffered (int64_t bytes) noexceptoverride |
|
HTTPTransaction * | newPushedTransaction (HTTPCodec::StreamID assocStreamId, HTTPTransaction::PushHandler *handler) noexceptoverride |
|
HTTPTransaction * | newExTransaction (HTTPTransaction::Handler *handler, HTTPCodec::StreamID controlStream, bool unidirectional=false) noexceptoverride |
|
const HTTPCodec & | getCodec () const noexceptoverride |
|
const folly::AsyncTransportWrapper * | getUnderlyingTransport () const noexceptoverride |
|
bool | isDraining () const override |
|
void | drain () override |
|
void | shutdownTransport (bool shutdownReads=true, bool shutdownWrites=true, const std::string &errorMsg="") |
|
void | shutdownTransportWithReset (ProxygenError errorCode, const std::string &errorMsg="") |
|
void | runLoopCallback () noexceptoverride |
|
void | scheduleWrite () |
|
void | updateWriteCount () |
|
void | updateWriteBufSize (int64_t delta) |
|
uint64_t | sessionByteOffset () |
|
void | immediateShutdown () |
|
void | checkForShutdown () |
|
HTTPTransaction * | findTransaction (HTTPCodec::StreamID streamID) |
|
HTTPTransaction * | createTransaction (HTTPCodec::StreamID streamID, const folly::Optional< HTTPCodec::StreamID > &assocStreamID, const folly::Optional< HTTPCodec::ExAttributes > &exAttributes, const http2::PriorityUpdate &priority=http2::DefaultPriority) |
|
void | onWriteSuccess (uint64_t bytesWritten) |
|
void | onWriteError (size_t bytesWritten, const folly::AsyncSocketException &ex) |
|
void | onWriteCompleted () |
|
void | pauseReads () |
|
void | onSessionParseError (const HTTPException &error) |
|
void | onNewTransactionParseError (HTTPCodec::StreamID streamID, const HTTPException &error) |
|
void | resumeReads () |
|
bool | hasMoreWrites () const |
|
template<typename... Args1, typename... Args2> |
void | invokeOnAllTransactions (void(HTTPTransaction::*fn)(Args1...), Args2 &&...args) |
|
void | resumeTransactions () |
|
void | errorOnAllTransactions (ProxygenError err, const std::string &errorMsg) |
|
void | errorOnTransactionIds (const std::vector< HTTPCodec::StreamID > &ids, ProxygenError err, const std::string &extraErrorMsg="") |
|
void | errorOnTransactionId (HTTPCodec::StreamID id, HTTPException ex) |
|
bool | shouldShutdown () const |
|
void | drainImpl () |
|
void | pauseReadsImpl () |
|
void | resumeReadsImpl () |
|
bool | readsUnpaused () const |
|
bool | readsPaused () const |
|
bool | readsShutdown () const |
|
bool | writesUnpaused () const |
|
bool | writesPaused () const |
|
bool | writesShutdown () const |
|
void | rescheduleLoopCallbacks () |
|
void | cancelLoopCallbacks () |
|
void | handleErrorDirectly (HTTPTransaction *txn, const HTTPException &error) |
|
bool | onBodyImpl (std::unique_ptr< folly::IOBuf > chain, size_t length, uint16_t padding, HTTPTransaction *txn) |
|
bool | notifyBodyProcessed (uint32_t bytes) |
|
void | setLatestActive () |
|
bool | ingressLimitExceeded () const |
|
bool | egressLimitExceeded () const |
|
void | updatePendingWriteSize (int64_t delta) |
|
void | onCreateTransaction () |
|
void | incrementSeqNo () |
|
bool | isPrioritySampled () const |
|
void | onNewOutgoingStream (uint32_t outgoingStreams) |
|
void | setCloseReason (ConnectionCloseReason reason) |
|
void | runDestroyCallbacks () |
|
void | onCodecChanged () |
|
void | initCodecHeaderIndexingStrategy () |
|
void | attachToSessionController () |
|
| ~ManagedConnection () override |
|
virtual std::chrono::steady_clock::time_point | getCurTime () |
|
| ~DelayedDestruction () override=default |
|
| DelayedDestruction () |
|
| DelayedDestructionBase () |
|
uint32_t | getDestructorGuardCount () const |
|
virtual | ~BufferCallback () |
|
virtual | ~HTTPPriorityMapFactoryProvider ()=default |
|
static void | handleLastByteEvents (ByteEventTracker *byteEventTracker, HTTPTransaction *txn, size_t encodedSize, size_t byteOffset, bool piggybacked) |
|
WriteTimeout | writeTimeout_ |
|
folly::IOBufQueue | writeBuf_ {folly::IOBufQueue::cacheChainLength()} |
|
folly::IOBufQueue | readBuf_ {folly::IOBufQueue::cacheChainLength()} |
|
HTTP2PriorityQueue | txnEgressQueue_ |
|
std::map< HTTPCodec::StreamID, HTTPTransaction > | transactions_ |
|
uint32_t | liveTransactions_ {0} |
|
folly::AsyncTransportWrapper::UniquePtr | sock_ |
|
WheelTimerInstance | timeout_ |
|
unsigned | numActiveWrites_ {0} |
|
bool | draining_:1 |
|
bool | started_:1 |
|
bool | writesDraining_:1 |
|
bool | resetAfterDrainingWrites_:1 |
|
bool | ingressError_:1 |
|
HTTPSessionStats * | sessionStats_ {nullptr} |
|
InfoCallback * | infoCallback_ {nullptr} |
|
wangle::TransportInfo | transportInfo_ |
|
HTTPCodecFilterChain | codec_ |
|
folly::SocketAddress | localAddr_ |
|
folly::SocketAddress | peerAddr_ |
|
static uint32_t | kDefaultReadBufLimit = 65536 |
|
static uint32_t | maxReadBufferSize_ = 4000 |
|
static uint32_t | kDefaultWriteBufLimit = 65536 |
|
static uint32_t | egressBodySizeLimit_ = 4096 |
|
Definition at line 18 of file HTTPDownstreamSession.h.