|
| | 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.