proxygen
|
#include <HTTPSessionBase.h>
Classes | |
class | InfoCallback |
class | PriorityAdapter |
class | PriorityMapFactory |
Public Types | |
enum | SessionType { SessionType::HTTP, SessionType::HQ } |
using | FilterIteratorFn = std::function< void(HTTPCodecFilter *)> |
Static Public Member Functions | |
static void | setDefaultReadBufferLimit (uint32_t limit) |
static void | setMaxReadBufferSize (uint32_t bytes) |
static void | setFlowControlledBodySizeLimit (uint32_t limit) |
static void | setDefaultWriteBufferLimit (uint32_t max) |
Static Protected Member Functions | |
static void | handleLastByteEvents (ByteEventTracker *byteEventTracker, HTTPTransaction *txn, size_t encodedSize, size_t byteOffset, bool piggybacked) |
Static Protected Attributes | |
static uint32_t | kDefaultReadBufLimit = 65536 |
static uint32_t | maxReadBufferSize_ = 4000 |
static uint32_t | kDefaultWriteBufLimit = 65536 |
static uint32_t | egressBodySizeLimit_ = 4096 |
Private Member Functions | |
std::chrono::milliseconds | getIdleTime () const override |
Private Attributes | |
HTTPSessionController * | controller_ {nullptr} |
TimePoint | latestActive_ {} |
std::chrono::seconds | latestIdleDuration_ {} |
uint32_t | transactionSeqNo_ {0} |
ConnectionCloseReason | closeReason_ {ConnectionCloseReason::kMAX_REASON} |
uint32_t | historicalMaxOutgoingStreams_ {0} |
uint32_t | maxConcurrentOutgoingStreamsConfig_ |
uint32_t | readBufLimit_ {kDefaultReadBufLimit} |
uint32_t | writeBufLimit_ {kDefaultWriteBufLimit} |
uint64_t | pendingWriteSize_ {0} |
uint32_t | pendingReadSize_ {0} |
bool | prioritySample_:1 |
bool | h2PrioritiesEnabled_:1 |
bool | exHeadersEnabled_:1 |
Definition at line 35 of file HTTPSessionBase.h.
using proxygen::HTTPSessionBase::FilterIteratorFn = std::function<void(HTTPCodecFilter*)> |
Definition at line 395 of file HTTPSessionBase.h.
|
strong |
Enumerator | |
---|---|
HTTP | |
HQ |
Definition at line 38 of file HTTPSessionBase.h.
proxygen::HTTPSessionBase::HTTPSessionBase | ( | const folly::SocketAddress & | localAddr, |
const folly::SocketAddress & | peerAddr, | ||
HTTPSessionController * | controller, | ||
const wangle::TransportInfo & | tinfo, | ||
InfoCallback * | infoCallback, | ||
std::unique_ptr< HTTPCodec > | codec | ||
) |
Definition at line 27 of file HTTPSessionBase.cpp.
References localAddr_, peerAddr_, setController(), and folly::SocketAddress::tryConvertToIPv4().
Referenced by proxygen::HTTPSession::WriteSegment::writeErr().
|
inlinevirtual |
Definition at line 89 of file HTTPSessionBase.h.
|
inline |
Definition at line 186 of file HTTPSessionBase.h.
References codec_.
|
pure virtual |
Implemented in proxygen::HTTPDownstreamSession, and proxygen::HTTPUpstreamSession.
|
protected |
Attaches Session to RevproxyController instance if it's set
Definition at line 153 of file HTTPSessionBase.cpp.
References getController().
Referenced by proxygen::HTTPSession::WriteSegment::writeErr().
|
pure virtual |
If the connection is closed by remote end
Implemented in proxygen::HTTPSession.
|
pure virtual |
Implemented in proxygen::HTTPDownstreamSession, and proxygen::HTTPUpstreamSession.
|
pure virtual |
Drains the current transactions and prevents new transactions from being created on this session. When the number of transactions reaches zero, this session will shutdown the transport and delete itself.
Implemented in proxygen::HTTPSession, and proxygen::HTTPUpstreamSession.
|
inlineprotected |
Returns true iff egress should stop on this session.
Definition at line 476 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::resumeTransactions(), proxygen::HTTPSession::setNewTransactionPauseState(), and proxygen::HTTPSession::updateWriteBufSize().
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
noexcept |
Enable to use Ex Headers in HTTPSession
Definition at line 145 of file HTTPSessionBase.cpp.
References codec_, proxygen::ENABLE_EX_HEADERS, exHeadersEnabled_, proxygen::HTTPCodec::getEgressSettings(), proxygen::HTTPSettings::setSetting(), and settings.
|
inlinevirtual |
Definition at line 190 of file HTTPSessionBase.h.
References codec_.
Referenced by HTTPTargetSessionAcceptor::onCreate().
|
inline |
Definition at line 181 of file HTTPSessionBase.h.
References testing::Args().
Referenced by proxygen::HTTPSession::shutdownTransport().
|
inline |
Definition at line 172 of file HTTPSessionBase.h.
Referenced by attachToSessionController(), proxygen::HTTPDownstreamSession::getTransactionTimeoutHandler(), proxygen::HTTPSession::readTimeoutExpired(), proxygen::HTTPDownstreamSession::setupOnHeadersComplete(), and proxygen::HTTPSession::WriteSegment::writeErr().
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
inline |
Definition at line 158 of file HTTPSessionBase.h.
References uint32_t.
|
inlinevirtual |
Reimplemented in proxygen::HTTPSession.
Definition at line 222 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::getHTTP2PrioritiesEnabled().
|
pure virtual |
Implemented in proxygen::HTTPSession, and proxygen::HTTPUpstreamSession.
|
inlineoverrideprivatevirtual |
Get the idle time of the connection. If it returning 0, that means the idle connections will never be dropped during pre load shedding stage.
Reimplemented from wangle::ManagedConnection.
Definition at line 584 of file HTTPSessionBase.h.
References proxygen::millisecondsSince(), and proxygen::timePointInitialized().
|
inline |
Definition at line 123 of file HTTPSessionBase.h.
|
inline |
Definition at line 306 of file HTTPSessionBase.h.
References min.
|
inlinenoexcept |
Definition at line 317 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::getLocalAddress(), and getParseErrorHandler().
|
inline |
Definition at line 167 of file HTTPSessionBase.h.
References min.
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
inline |
Definition at line 302 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::createTransaction(), and proxygen::HTTPSession::readEOF().
HTTPTransaction::Handler * proxygen::HTTPSessionBase::getParseErrorHandler | ( | HTTPTransaction * | txn, |
const HTTPException & | error | ||
) |
Called by handleErrorDirectly (when handling parse errors) if the transaction has no handler.
Definition at line 134 of file HTTPSessionBase.cpp.
References codec_, controller_, getLocalAddress(), proxygen::HTTPSessionController::getParseErrorHandler(), proxygen::HTTPCodec::getTransportDirection(), and proxygen::UPSTREAM.
Referenced by handleErrorDirectly().
|
inlinenoexcept |
Definition at line 321 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::getPeerAddress().
|
inlinenoexcept |
Definition at line 325 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::getSetupTransportInfo().
|
inlinenoexcept |
Definition at line 339 of file HTTPSessionBase.h.
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
pure virtualnoexcept |
Implemented in proxygen::HTTPSession.
|
inline |
Get/Set the number of egress bytes this session will buffer before pausing all transactions' egress.
Definition at line 245 of file HTTPSessionBase.h.
|
protected |
Install a direct response handler for the transaction based on the error.
Definition at line 117 of file HTTPSessionBase.cpp.
References getParseErrorHandler(), proxygen::Exception::getProxygenError(), handler(), infoCallback_, proxygen::HTTPTransaction::onError(), proxygen::HTTPSessionBase::InfoCallback::onIngressError(), proxygen::HTTPTransaction::sendAbort(), and proxygen::HTTPTransaction::setHandler().
Referenced by proxygen::HTTPSession::onError().
|
staticprotected |
Definition at line 160 of file HTTPSessionBase.cpp.
References proxygen::ByteEventTracker::addLastByteEvent(), proxygen::HTTPTransaction::onEgressBodyFirstByte(), proxygen::HTTPTransaction::onEgressBodyLastByte(), and proxygen::HTTPTransaction::testAndSetFirstByteSent().
Referenced by proxygen::HTTPSession::commonEom().
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
inlineprotected |
Definition at line 493 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::createTransaction().
|
inlineprotected |
Definition at line 469 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::pauseReads(), and proxygen::HTTPSession::resumeReads().
|
protected |
Initializes the underlying codec's header indexing strategy, if applicable, by retrieving the requisite strategy from the bound controller. This methods exists as some sessions, notably HTTPUpstreamSessions, have
Definition at line 68 of file HTTPSessionBase.cpp.
References codec_, controller_, proxygen::FilterChain< T1, T2, FilterType, set_callback, TakeOwnership >::getChainEndPtr(), proxygen::HTTPSessionController::getHeaderIndexingStrategy(), proxygen::HTTPCodec::getProtocol(), proxygen::isHTTP2CodecProtocol(), and proxygen::HTTP2Codec::setHeaderIndexingStrategy().
Referenced by onCodecChanged().
|
pure virtual |
Returns true if the session is shutting down
Implemented in proxygen::HTTPUpstreamSession, and proxygen::HTTPDownstreamSession.
|
pure virtual |
Implemented in proxygen::HTTPUpstreamSession, and proxygen::HTTPDownstreamSession.
|
inlinenoexcept |
|
inlineprotected |
Definition at line 497 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::createTransaction(), and proxygen::HTTPSession::runLoopCallback().
|
pure virtual |
Implemented in proxygen::HTTPUpstreamSession, and proxygen::HTTPDownstreamSession.
|
pure virtual |
Returns true if the underlying transport can be used again in a new request.
Implemented in proxygen::HTTPUpstreamSession, and proxygen::HTTPDownstreamSession.
|
pure virtual |
Creates a new transaction on this upstream session. Invoking this function also has the side-affect of starting reads after this event loop completes.
handler | The request handler to attach to this transaction. It must not be null. |
Implemented in proxygen::HTTPUpstreamSession, and proxygen::HTTPDownstreamSession.
|
protected |
Definition at line 102 of file HTTPSessionBase.cpp.
References pendingReadSize_, and readBufLimit_.
Referenced by proxygen::HTTPSession::notifyIngressBodyProcessed().
|
protected |
Definition at line 79 of file HTTPSessionBase.cpp.
References infoCallback_, folly::gen::move, proxygen::HTTPTransaction::onIngressBody(), proxygen::HTTPSessionBase::InfoCallback::onIngressLimitExceeded(), pendingReadSize_, and readBufLimit_.
Referenced by proxygen::HTTPSession::onBody().
|
protected |
Definition at line 60 of file HTTPSessionBase.cpp.
References controller_, initCodecHeaderIndexingStrategy(), and proxygen::HTTPSessionController::onSessionCodecChange().
Referenced by proxygen::HTTPSession::onNativeProtocolUpgradeImpl().
|
inlineprotected |
Definition at line 486 of file HTTPSessionBase.h.
References proxygen::secondsSince().
Referenced by proxygen::HTTPSession::createTransaction().
|
inlineprotected |
Definition at line 501 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::incrementOutgoingStreams().
|
protected |
Definition at line 50 of file HTTPSessionBase.cpp.
References controller_, proxygen::HTTPSessionController::detachSession(), infoCallback_, and proxygen::HTTPSessionBase::InfoCallback::onDestroy().
Referenced by proxygen::HTTPSession::~HTTPSession().
|
inlinevirtual |
Send a CERTIFICATE_REQUEST frame. If the underlying protocol doesn't support secondary authentication, this is a no-op and 0 is returned.
Reimplemented in proxygen::HTTPSession.
Definition at line 296 of file HTTPSessionBase.h.
|
pure virtual |
Causes a ping to be sent on the session. If the underlying protocol doesn't support pings, this will return 0. Otherwise, it will return the number of bytes written on the transport to send the ping.
Implemented in proxygen::HTTPSession.
|
pure virtual |
Sends a priority message on this session. If the underlying protocol doesn't support priority, this is a no-op. A new stream identifier will be selected and returned.
Implemented in proxygen::HTTPSession.
|
pure virtual |
As above, but updates an existing priority node. Do not use for real nodes, prefer HTTPTransaction::changePriority.
Implemented in proxygen::HTTPSession.
|
pure virtual |
Send a settings frame
Implemented in proxygen::HTTPSession.
|
inlineprotected |
Definition at line 507 of file HTTPSessionBase.h.
References proxygen::kMAX_REASON.
Referenced by proxygen::HTTPSession::drain(), proxygen::HTTPSession::drainImpl(), proxygen::HTTPSession::dropConnection(), proxygen::HTTPSession::flowControlTimeoutExpired(), proxygen::HTTPSession::onEgressMessageFinished(), proxygen::HTTPSession::onError(), proxygen::HTTPSession::onGoaway(), proxygen::HTTPSession::onHeadersComplete(), proxygen::HTTPDownstreamSession::onHeadersSent(), proxygen::HTTPSession::onNewTransactionParseError(), proxygen::HTTPSession::onSessionParseError(), proxygen::HTTPSession::onWriteError(), proxygen::HTTPSession::onWriteSuccess(), proxygen::HTTPSession::readEOF(), proxygen::HTTPSession::readErr(), proxygen::HTTPSession::readTimeoutExpired(), proxygen::HTTPSession::sendAbort(), proxygen::HTTPSession::shutdownTransport(), and proxygen::HTTPSession::writeTimeoutExpired().
|
inline |
Definition at line 174 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPUpstreamSession::attachThreadLocals(), proxygen::HTTPUpstreamSession::detachThreadLocals(), and HTTPSessionBase().
|
inlinestatic |
Set the read buffer limit to be used for all new HTTPSessionBase objects.
Definition at line 94 of file HTTPSessionBase.h.
|
inlinestatic |
Set the default number of egress bytes this session will buffer before pausing all transactions' egress.
Definition at line 115 of file HTTPSessionBase.h.
References max.
|
pure virtual |
Set outgoing settings for this session
Implemented in proxygen::HTTPSession.
|
pure virtual |
Set flow control properties on the session.
initialReceiveWindow | size of initial receive window for all ingress streams; set via the initial SETTINGS frame |
receiveStreamWindowSize | per-stream receive window for NEW streams; sent via a WINDOW_UPDATE frame |
receiveSessionWindowSize | per-session receive window; sent via a WINDOW_UPDATE frame |
Implemented in proxygen::HTTPSession.
|
inlinestatic |
Set the maximum egress body size for any outbound body bytes per loop, when there are > 1 transactions.
Definition at line 107 of file HTTPSessionBase.h.
|
pure virtual |
Implemented in proxygen::HTTPSession.
|
inline |
Global flag for turning HTTP2 priorities off
Definition at line 218 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::setHTTP2PrioritiesEnabled().
|
inline |
Definition at line 119 of file HTTPSessionBase.h.
Referenced by ProxyService::SessionWrapper::SessionWrapper().
|
inlineprotected |
Definition at line 465 of file HTTPSessionBase.h.
References proxygen::getCurrentTime().
Referenced by proxygen::HTTPSession::detach().
|
pure virtual |
Set the maximum number of transactions the remote can open at once.
Implemented in proxygen::HTTPSession.
|
inline |
Set the maximum number of outgoing transactions this session can open at once. Note: you can only call function before startNow() is called since the remote side can change this value.
Definition at line 231 of file HTTPSessionBase.h.
References uint32_t.
|
inlinestatic |
Definition at line 99 of file HTTPSessionBase.h.
|
inline |
Definition at line 312 of file HTTPSessionBase.h.
Referenced by HTTPDownstreamTest< SPDY3_1CodecPair >::HTTPDownstreamTest().
|
inline |
Definition at line 254 of file HTTPSessionBase.h.
References proxygen::HTTPPriorityMapFactoryProvider::sendPriority().
Referenced by proxygen::HTTPSession::setFlowControl().
|
inlinevirtual |
Reimplemented in proxygen::HTTPSession.
Definition at line 127 of file HTTPSessionBase.h.
References folly::pushmi::operators::error(), folly::getEventBase(), and folly::pushmi::__adl::noexcept().
Referenced by proxygen::HTTPSession::setSessionStats().
|
inline |
Definition at line 249 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSessionAcceptor::onNewConnection().
|
pure virtual |
Start reading from the transport and send any introductory messages to the remote side. This function must be called once per session to begin reads.
Implemented in proxygen::HTTPSession, proxygen::HTTPUpstreamSession, and proxygen::HTTPDownstreamSession.
|
inline |
Returns true iff a new outgoing transaction can be made on this session
Definition at line 151 of file HTTPSessionBase.h.
References uint32_t.
Referenced by proxygen::HTTPUpstreamSession::newTransaction(), and proxygen::HTTPSession::onSetMaxInitiatedStreams().
|
inlineprotected |
Definition at line 481 of file HTTPSessionBase.h.
References uint64_t.
Referenced by proxygen::HTTPSession::updateWriteBufSize().
|
private |
The root cause reason this connection was closed.
Definition at line 609 of file HTTPSessionBase.h.
|
protected |
Definition at line 547 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPUpstreamSession::attachThreadLocals(), proxygen::HTTPSession::closeWhenIdle(), proxygen::HTTPSession::createTransaction(), proxygen::HTTPSession::describe(), proxygen::HTTPUpstreamSession::detachThreadLocals(), proxygen::HTTPSession::drainImpl(), proxygen::HTTPSession::enableDoubleGoawayDrain(), enableExHeadersSettings(), proxygen::HTTPSession::getCodec(), proxygen::HTTPSession::getCodecSendWindowSize(), proxygen::HTTPSession::getGracefulGoawayAck(), proxygen::HTTPSession::getMessagePriority(), proxygen::HTTPSession::getNextToSend(), getParseErrorHandler(), proxygen::HTTPDownstreamSession::HTTPDownstreamSession(), proxygen::HTTPUpstreamSession::HTTPUpstreamSession(), initCodecHeaderIndexingStrategy(), proxygen::HTTPSession::invalidStream(), proxygen::HTTPSession::isBusy(), proxygen::HTTPSession::isDownstream(), proxygen::HTTPUpstreamSession::isReusable(), proxygen::HTTPSession::isUpstream(), proxygen::HTTPSession::maybeResumePausedPipelinedTransaction(), proxygen::HTTPSession::newExTransaction(), proxygen::HTTPSession::newPushedTransaction(), proxygen::HTTPUpstreamSession::newTransaction(), proxygen::HTTPSession::onCertificateRequest(), proxygen::HTTPSession::onEgressMessageFinished(), proxygen::HTTPSession::onError(), proxygen::HTTPSession::onHeadersComplete(), proxygen::HTTPDownstreamSession::onHeadersSent(), proxygen::HTTPSession::onMessageBegin(), proxygen::HTTPSession::onMessageComplete(), proxygen::HTTPDownstreamSession::onNativeProtocolUpgrade(), proxygen::HTTPUpstreamSession::onNativeProtocolUpgrade(), proxygen::HTTPSession::onNativeProtocolUpgradeImpl(), proxygen::HTTPSession::onNewTransactionParseError(), proxygen::HTTPSession::onPingRequest(), proxygen::HTTPSession::onSessionParseError(), proxygen::HTTPSession::onSettings(), proxygen::HTTPSession::onWriteSuccess(), proxygen::HTTPSession::pauseReads(), proxygen::HTTPSession::processReadData(), proxygen::HTTPSession::resumeReads(), proxygen::HTTPSession::resumeReadsImpl(), proxygen::HTTPSession::sendAbort(), proxygen::HTTPSession::sendBody(), proxygen::HTTPSession::sendCertificateRequest(), proxygen::HTTPSession::sendChunkHeader(), proxygen::HTTPSession::sendChunkTerminator(), proxygen::HTTPSession::sendEOM(), proxygen::HTTPSession::sendHeaders(), proxygen::HTTPSession::sendPing(), proxygen::HTTPSession::sendPriority(), proxygen::HTTPSession::sendPriorityImpl(), proxygen::HTTPSession::sendSettings(), proxygen::HTTPSession::sendWindowUpdate(), proxygen::HTTPSession::setEgressSettings(), proxygen::HTTPSession::setFlowControl(), proxygen::HTTPSession::setHeaderCodecStats(), proxygen::HTTPSession::setMaxConcurrentIncomingStreams(), proxygen::HTTPSession::setupCodec(), proxygen::HTTPDownstreamSession::setupOnHeadersComplete(), proxygen::HTTPSession::shouldShutdown(), proxygen::HTTPSession::shutdownTransport(), proxygen::HTTPDownstreamSession::startNow(), proxygen::HTTPUpstreamSession::startNow(), proxygen::HTTPSession::startNow(), proxygen::HTTPSession::transactionTimeout(), and proxygen::HTTPSession::WriteSegment::writeErr().
|
private |
Definition at line 581 of file HTTPSessionBase.h.
Referenced by getParseErrorHandler(), initCodecHeaderIndexingStrategy(), onCodecChanged(), and runDestroyCallbacks().
|
staticprotected |
Maximum number of bytes to egress per loop when there are > 1 transactions. Otherwise defaults to kDefaultWriteBufLimit.
Definition at line 569 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::getNextToSend().
|
private |
Indicates whether Ex Headers is supported in HTTPSession
Definition at line 651 of file HTTPSessionBase.h.
Referenced by enableExHeadersSettings().
|
private |
Definition at line 646 of file HTTPSessionBase.h.
|
private |
The maximum number concurrent transactions in the history of this session
Definition at line 614 of file HTTPSessionBase.h.
|
protected |
Definition at line 543 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::createTransaction(), proxygen::HTTPSession::detach(), handleErrorDirectly(), onBodyImpl(), proxygen::HTTPSession::onConnectionSendWindowClosed(), proxygen::HTTPSession::onEgressBufferCleared(), proxygen::HTTPSession::onEgressBuffered(), proxygen::HTTPSession::onEgressMessageFinished(), proxygen::HTTPSession::onError(), proxygen::HTTPSession::onExMessageBegin(), proxygen::HTTPSession::onHeadersComplete(), proxygen::HTTPSession::onMessageBegin(), proxygen::HTTPSession::onPingReply(), proxygen::HTTPSession::onPingReplyLatency(), proxygen::HTTPSession::onPushMessageBegin(), proxygen::HTTPSession::onReplaySafe(), proxygen::HTTPSession::onSetMaxInitiatedStreams(), proxygen::HTTPSession::onSettings(), proxygen::HTTPSession::onSettingsAck(), proxygen::HTTPSession::onWriteError(), proxygen::HTTPSession::onWriteSuccess(), proxygen::HTTPSession::pauseReadsImpl(), proxygen::HTTPSession::readBufferAvailable(), proxygen::HTTPSession::readDataAvailable(), proxygen::HTTPSession::readEOF(), proxygen::HTTPSession::readErr(), runDestroyCallbacks(), proxygen::HTTPSession::shutdownTransport(), proxygen::HTTPSession::transactionTimeout(), and proxygen::HTTPSession::WriteSegment::writeErr().
|
staticprotected |
Maximum number of ingress body bytes that can be buffered across all transactions for this single session/connection.
Definition at line 553 of file HTTPSessionBase.h.
|
staticprotected |
Maximum number of bytes that can be buffered across all transactions before this session will start applying backpressure to its transactions.
Definition at line 564 of file HTTPSessionBase.h.
|
private |
The latest time when this session became idle status
Definition at line 595 of file HTTPSessionBase.h.
|
private |
The idle duration between latest two consecutive active status
Definition at line 600 of file HTTPSessionBase.h.
|
protected |
Address of this end of the connection
Definition at line 572 of file HTTPSessionBase.h.
Referenced by HTTPSessionBase().
|
private |
The maximum number of concurrent transactions that this session may create, as configured locally.
Definition at line 620 of file HTTPSessionBase.h.
|
staticprotected |
The maximum size of the read buffer from the socket.
Definition at line 558 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::getReadBuffer().
|
protected |
Address of the remote end of the connection
Definition at line 575 of file HTTPSessionBase.h.
Referenced by HTTPSessionBase().
|
private |
Bytes of ingress data read from the socket, but not yet sent to a transaction.
Definition at line 643 of file HTTPSessionBase.h.
Referenced by notifyBodyProcessed(), and onBodyImpl().
|
private |
Bytes of egress data sent to the socket but not yet written to the network.
Definition at line 637 of file HTTPSessionBase.h.
|
private |
Definition at line 645 of file HTTPSessionBase.h.
|
private |
Maximum number of cumulative bytes that can be buffered by the transactions in this session before applying backpressure.
Note readBufLimit_ is settable via setFlowControl
Definition at line 630 of file HTTPSessionBase.h.
Referenced by notifyBodyProcessed(), and onBodyImpl().
|
protected |
Definition at line 541 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::createTransaction(), proxygen::HTTPSession::getNextToSend(), proxygen::HTTPSession::onConnectionSendWindowClosed(), and proxygen::HTTPSession::setByteEventTracker().
|
private |
Transaction sequence number
Definition at line 603 of file HTTPSessionBase.h.
|
protected |
Definition at line 545 of file HTTPSessionBase.h.
Referenced by proxygen::HTTPSession::getCurrentTransportInfo(), proxygen::HTTPSession::onHeadersComplete(), proxygen::HTTPSession::onNativeProtocolUpgradeImpl(), proxygen::HTTPSession::onWriteError(), proxygen::HTTPSession::onWriteSuccess(), proxygen::HTTPSession::readEOF(), proxygen::HTTPSession::readErr(), and proxygen::HTTPSession::shutdownTransport().
|
private |
Definition at line 631 of file HTTPSessionBase.h.