9#ifndef SQUID_SRC_CLIENTS_CLIENT_H
10#define SQUID_SRC_CLIENTS_CLIENT_H
summarizes adaptation service answer for the noteAdaptationAnswer() API
void noteAdaptationAnswer(const Adaptation::Answer &answer) override
bool adaptationAccessCheckPending
void noteAdaptationAclCheckDone(Adaptation::ServiceGroupPointer group) override
void checkAdaptationWithBodyCompletion()
void adaptVirginReplyBody(const char *buf, ssize_t len)
void noteMoreBodySpaceAvailable(BodyPipe::Pointer) override
virtual void maybeReadVirginBody()=0
read response data from the network
void noteMoreBodyDataAvailable(BodyPipe::Pointer) override
void sendMoreRequestBody()
bool receivedWholeRequestBody
handleRequestBodyProductionEnded called
void handleAdaptationCompleted()
HttpReply * theFinalReply
void sendBodyIsTooLargeError()
BodyPipe::Pointer adaptedBodySource
BodyPipe::Pointer requestBodySource
AsyncCall::Pointer requestSender
void resumeBodyStorage()
called by StoreEntry when it has more buffer space available
virtual void completeForwarding()
virtual HttpRequestPointer originalRequest()
a hack to reach HttpStateData::orignal_request
virtual bool abortOnData(const char *reason)
void handleMoreAdaptedBodyAvailable()
const HttpReply * virginReply() const
bool handledEarlyAdaptationAbort()
virtual bool getMoreRequestBody(MemBuf &buf)
either fill buf with available [encoded] request body bytes or return false
bool doneAll() const override
whether positive goal has been reached
void startAdaptation(const Adaptation::ServiceGroupPointer &group, HttpRequest *cause)
Initiate an asynchronous adaptation transaction which will call us back.
virtual void abortAll(const char *reason)=0
abnormal transaction termination; reason is for debugging only
bool abortOnBadEntry(const char *abortReason)
Entry-dependent callbacks use this check to quit if the entry went bad.
void storeReplyBody(const char *buf, ssize_t len)
virtual void handleRequestBodyProducerAborted()=0
bool waitingForDelayAwareReadChance
whether we are waiting for MemObject::delayRead() to call us back
bool receivedWholeAdaptedReply
const char * markedParsedVirginReplyAsWhole
bool startRequestBodyFlow()
void handleAdaptedBodyProducerAborted()
void handleRequestBodyProductionEnded()
bool blockCaching()
whether to prevent caching of an otherwise cachable response
bool adaptedReplyAborted
handleAdaptedBodyProducerAborted() has been called
void handleAdaptedBodyProductionEnded()
HttpReply * setVirginReply(HttpReply *r)
void handleAdaptationBlocked(const Adaptation::Answer &answer)
BodyPipe::Pointer virginBodyDestination
void noteBodyProductionEnded(BodyPipe::Pointer) override
void adaptOrFinalizeReply()
size_t calcBufferSpaceToReserve(const size_t space, const size_t wantSpace) const
determine how much space the buffer needs to reserve
void addVirginReplyBody(const char *buf, ssize_t len)
void noteBodyProducerAborted(BodyPipe::Pointer) override
CbcPointer< Adaptation::Initiate > adaptedHeadSource
HttpRequestPointer request
void handleAdaptedHeader(Http::Message *msg)
virtual bool doneWithServer() const =0
void adjustBodyBytesRead(const int64_t delta)
initializes bodyBytesRead stats if needed and applies delta
void handleAdaptationAborted(bool bypassable=false)
void markParsedVirginReplyAsWhole(const char *reasonWeAreSure)
void noteBodyConsumerAborted(BodyPipe::Pointer) override
virtual void noteDelayAwareReadChance()=0
virtual bool mayReadVirginReplyBody() const =0
whether we may receive more virgin response body bytes
virtual void closeServer()=0
HttpReply * setFinalReply(HttpReply *r)
void handleMoreRequestBodyAvailable()
HttpReply * theVirginReply
virtual void processReplyBody()=0
MemBuf * responseBodyBuffer
virtual bool doneWithAdaptation() const
virtual void sentRequestBody(const CommIoCbParams &io)=0
virtual const Comm::ConnectionPointer & dataConnection() const =0
virtual void doneSendingRequestBody()=0
virtual void haveParsedReplyHeaders()
called when we have final (possibly adapted) reply headers; kids extend
common parts of HttpRequest and HttpReply