9#ifndef SQUID_SRC_CLIENTS_HTTPTUNNELER_H
10#define SQUID_SRC_CLIENTS_HTTPTUNNELER_H
53 void start()
override;
56 const char *
status()
const override;
RefCount< AccessLogEntry > AccessLogEntryPointer
void error(char *format,...)
a smart AsyncCall pointer for delivery of future results
bool doneAll() const override
whether positive goal has been reached
void countFailingConnection()
updates connection usage history before the connection is closed
void disconnect()
stops monitoring the connection
void bailOnResponseError(const char *error, HttpReply *)
const time_t startTime
when the tunnel establishment started
Tunneler(const Tunneler &)=delete
void handleResponse(const bool eof)
Parses [possibly incomplete] CONNECT response and reacts to it.
void callBack()
a bailWith(), sendSuccess() helper: sends results to the initiator
void bailWith(ErrorState *)
sends the given error to the initiator
const char * status() const override
internal cleanup; do not call directly
bool tunnelEstablished
whether we got a 200 OK response
void handleConnectionClosure(const CommCloseCbParams &)
void start() override
called by AsyncStart; do not call directly
AsyncCall::Pointer closer
called when the connection is being closed
void handleWrittenRequest(const CommIoCbParams &)
Called when we are done writing a CONNECT request header to a peer.
time_t lifetimeLimit
do not run longer than this
void watchForClosures()
make sure we quit if/when the connection is gone
void setDelayId(DelayId delay_id)
AsyncCallback< Answer > callback
answer destination
AsyncCall::Pointer reader
called when the response should be read
bool requestWritten
whether we successfully wrote the request
void sendSuccess()
sends the ready-to-use tunnel to the initiator
AsyncCall::Pointer writer
called when the request has been written
AccessLogEntryPointer al
info for the future access.log entry
void startReadingResponse()
bool noteFwdPconnUse
hack: whether the connection requires fwdPconnPool->noteUses()
SBuf url
request-target for the CONNECT request
HttpRequestPointer request
peer connection trigger or cause
void handleTimeout(const CommTimeoutCbParams &)
The connection read timeout callback handler.
Tunneler & operator=(const Tunneler &)=delete
void handleReadyRead(const CommIoCbParams &)
Called when we read [a part of] CONNECT response from the peer.
Http1::ResponseParserPointer hp
Parser being used at present to parse the HTTP peer response.
Comm::ConnectionPointer connection
TCP connection to the cache_peer.