9#ifndef SQUID_SRC_ADAPTATION_ICAP_SERVICEREP_H
10#define SQUID_SRC_ADAPTATION_ICAP_SERVICEREP_H
73 bool probed()
const override;
74 bool up()
const override;
157 void suspend(
const char *reason);
188 const char *
status()
const override;
#define RefCountable
The locking interface for use on Reference-Counted classes.
summarizes adaptation service answer for the noteAdaptationAnswer() API
ServiceRep::Pointer theService
NullaryMemFunT< ModXact > Parent
~ConnWaiterDialer() override
void scheduleUpdate(time_t when)
void noteFailure() override
int theMaxConnections
the maximum allowed connections to the service
void noteAdaptationAnswer(const Answer &answer) override
bool availableForOld() const
a transaction notified about connection slot availability may start communicating with the service
void noteConnectionUse(const Comm::ConnectionPointer &conn)
void scheduleNotification()
Security::SessionStatePointer sslSession
void suspend(const char *reason)
void noteNewWaiter()
New xaction waiting for service to be up or available.
time_t optionsFetchTime() const
void startGettingOptions()
Security::ContextPointer sslContext
void changeOptions(Options *newOptions)
IdleConnList * theIdleConns
idle persistent connection pool
std::vector< Client > Clients
int availableConnections() const
void callException(const std::exception &e) override
called when the job throws during an async call
ICAP::VectPoint parseVectPoint(const char *) const
bool needNewOptions() const
void callWhenAvailable(AsyncCall::Pointer &cb, bool priority=false)
bool detached() const override
whether detached() was called
bool wantsUrl(const SBuf &urlPath) const override
Security::FuturePeerContext tlsContext
RefCount< ServiceRep > Pointer
bool existWaiters() const
if there are xactions waiting for the service to be available
FadingCounter theSessionFailures
bool doneAll() const override
whether positive goal has been reached
const char * status() const override
internal cleanup; do not call directly
ICAP::Method parseMethod(const char *) const
void setMaxConnections()
Set the maximum allowed connections for the service.
void callWhenReady(AsyncCall::Pointer &cb)
void announceStatusChange(const char *downPhrase, bool important) const
void noteGoneWaiter()
An xaction is not waiting any more for service to be available.
bool probed() const override
Initiate * makeXactLauncher(Http::Message *virginHeader, HttpRequest *virginCause, AccessLogEntry::Pointer &alp) override
bool wantsPreview(const SBuf &urlPath, size_t &wantedSize) const
Comm::ConnectionPointer getIdleConnection(bool isRetriable)
bool connOverloadReported
whether we reported exceeding theMaxConnections
std::deque< Client > theNotificationWaiters
bool availableForNew() const
a new transaction may start communicating with the service
void handleNewOptions(Options *newOptions)
void noteConnectionFailed(const char *comment)
void putConnection(const Comm::ConnectionPointer &conn, bool isReusable, bool sendReset, const char *comment)
int excessConnections() const
The number of connections which excess the Max-Connections limit.
CbcPointer< Adaptation::Initiate > theOptionsFetcher
virtual bool doneAll() const
whether positive goal has been reached
Counts events, forgetting old ones. Useful for "3 errors/minute" limits.
common parts of HttpRequest and HttpReply
A combination of PeerOptions and the corresponding Context.
std::vector< const Option * > Options
std::shared_ptr< SSL_CTX > ContextPointer
std::unique_ptr< SSL_SESSION, HardFun< void, SSL_SESSION *, &SSL_SESSION_free > > SessionStatePointer
AsyncCall::Pointer callback