#include <MasterXaction.h>
Public Types | |
typedef RefCount< MasterXaction > | Pointer |
Static Public Member Functions | |
template<XactionInitiator::Initiator anInitiator> | |
static Pointer | MakePortless () |
Create a master transaction not associated with a AnyP::PortCfg port. More... | |
static Pointer | MakePortful (const AnyP::PortCfgPointer &aPort) |
Public Attributes | |
InstanceId< MasterXaction, uint64_t > | id |
transaction ID. More... | |
AnyP::PortCfgPointer | squidPort |
the listening port which originated this transaction More... | |
Comm::ConnectionPointer | tcpClient |
the client TCP connection which originated this transaction More... | |
XactionInitiator | initiator |
the initiator of this transaction More... | |
bool | generatingConnect = false |
whether we are currently creating a CONNECT header (to be sent to peer) More... | |
Private Member Functions | |
MasterXaction (const XactionInitiator anInitiator, const AnyP::PortCfgPointer &aPort) | |
Detailed Description
Master transaction details.
Aggregates historical data from individual related protocol-specific transactions such as an HTTP client transaction and the corresponding HTTP or FTP server transaction.
Individual transaction information worth sending or logging should be recorded here, ideally without exposing other master transaction users to internal details of individual transactions. For example, storing an HTTP client IP address is a good idea but storing a pointer to some client-side job which maintains that address is not.
A master transaction is created by a newly accepted client connection, a new request on the existing client connection, or an internal request generated by Squid. All client-side protocols, including HTTP, HTCP, ICP, and SNMP will eventually create master transactions.
A master transaction is auto-destroyed when its last user is gone.
Definition at line 39 of file MasterXaction.h.
Member Typedef Documentation
◆ Pointer
typedef RefCount<MasterXaction> MasterXaction::Pointer |
Definition at line 42 of file MasterXaction.h.
Constructor & Destructor Documentation
◆ MasterXaction()
|
inlineprivate |
Definition at line 78 of file MasterXaction.h.
Referenced by MakePortful(), and MakePortless().
Member Function Documentation
◆ MakePortful()
|
inlinestatic |
Create a master transaction associated with a AnyP::PortCfg port.
- Parameters
-
aPort may be nil if port information was lost
Definition at line 54 of file MasterXaction.h.
References MasterXaction(), and XactionInitiator::initClient.
Referenced by Ftp::Server::AcceptCtrlConnection(), ConnStateData::buildFakeRequest(), Http::One::Server::buildHttpRequest(), clientReplyContext::createStoreEntry(), httpAccept(), httpsAccept(), Ftp::Server::parseOneRequest(), and ConnStateData::postHttpsAccept().
◆ MakePortless()
|
inlinestatic |
Definition at line 46 of file MasterXaction.h.
References MasterXaction(), and XactionInitiator::initClient.
Member Data Documentation
◆ generatingConnect
bool MasterXaction::generatingConnect = false |
Definition at line 72 of file MasterXaction.h.
◆ id
InstanceId<MasterXaction, uint64_t> MasterXaction::id |
Definition at line 60 of file MasterXaction.h.
Referenced by Format::Format::assemble().
◆ initiator
XactionInitiator MasterXaction::initiator |
Definition at line 69 of file MasterXaction.h.
Referenced by Acl::TransactionInitiator::match().
◆ squidPort
AnyP::PortCfgPointer MasterXaction::squidPort |
Definition at line 63 of file MasterXaction.h.
Referenced by FindGoodListeningPortAddress().
◆ tcpClient
Comm::ConnectionPointer MasterXaction::tcpClient |
Definition at line 66 of file MasterXaction.h.
Referenced by ConnStateData::ConnStateData(), and FindGoodListeningPortAddress().
The documentation for this class was generated from the following file:
- src/MasterXaction.h