#include <ModXact.h>

Inheritance diagram for Adaptation::Icap::ModXact:
Collaboration diagram for Adaptation::Icap::ModXact:

Classes

class  State
 

Public Types

typedef CbcPointer< AsyncJobPointer
 
typedef CbcPointer< BodyProducerPointer
 
typedef CbcPointer< BodyConsumerPointer
 

Public Member Functions

 ModXact (Http::Message *virginHeader, HttpRequest *virginCause, AccessLogEntry::Pointer &alp, ServiceRep::Pointer &s)
 
virtual ~ModXact ()
 
virtual void noteMoreBodySpaceAvailable (BodyPipe::Pointer)
 
virtual void noteBodyConsumerAborted (BodyPipe::Pointer)
 
virtual void noteMoreBodyDataAvailable (BodyPipe::Pointer)
 
virtual void noteBodyProductionEnded (BodyPipe::Pointer)
 
virtual void noteBodyProducerAborted (BodyPipe::Pointer)
 
virtual void handleCommConnected ()
 
virtual void handleCommWrote (size_t size)
 
virtual void handleCommRead (size_t size)
 
void handleCommWroteHeaders ()
 
void handleCommWroteBody ()
 
void noteServiceReady ()
 
void noteServiceAvailable ()
 
virtual void callException (const std::exception &e)
 called when the job throws during an async call More...
 
virtual void detailError (int errDetail)
 record error detail in the virgin request if possible More...
 
virtual void clearError ()
 clear stored error details, if any; used for retries/repeats More...
 
virtual AccessLogEntry::Pointer masterLogEntry ()
 The master transaction log entry. More...
 
void disableRetries ()
 
void disableRepeats (const char *reason)
 
bool retriable () const
 
bool repeatable () const
 
void noteCommConnected (const CommConnectCbParams &io)
 
void noteCommWrote (const CommIoCbParams &io)
 
void noteCommRead (const CommIoCbParams &io)
 
void noteCommTimedout (const CommTimeoutCbParams &io)
 
void noteCommClosed (const CommCloseCbParams &io)
 
virtual void callEnd ()
 called right after the called job method More...
 
void dnsLookupDone (const ipcache_addrs *ia)
 
ServiceRepservice ()
 
void initiator (const CbcPointer< Initiator > &i)
 sets initiator More...
 
bool canBeCalled (AsyncCall &call) const
 whether we can be called More...
 
void callStart (AsyncCall &call)
 
virtual void * toCbdata ()=0
 

Static Public Member Functions

static Pointer Start (AsyncJob *job)
 starts a freshly created job (i.e., makes the job asynchronous) More...
 

Public Attributes

InOut virgin
 
InOut adapted
 
HttpRequesticapRequest
 sent (or at least created) ICAP request More...
 
HttpReply::Pointer icapReply
 received ICAP reply, if any More...
 
int attempts
 the number of times we tried to get to the service, including this time More...
 

Protected Member Functions

virtual void noteInitiatorAborted ()
 
virtual void handleCommTimedout ()
 
virtual void handleCommClosed ()
 
void handleSecuredPeer (Security::EncryptorAnswer &answer)
 
void openConnection ()
 
void closeConnection ()
 
void dieOnConnectionFailure ()
 
bool haveConnection () const
 
void scheduleRead ()
 
void scheduleWrite (MemBuf &buf)
 
void updateTimeout ()
 
void cancelRead ()
 
bool parseHttpMsg (Http::Message *msg)
 
bool mayReadMore () const
 
bool doneWithIo () const
 
virtual const char * status () const
 internal cleanup; do not call directly More...
 
void setOutcome (const XactOutcome &xo)
 
void tellQueryAborted (bool final)
 
void sendAnswer (const Answer &answer)
 
void clearInitiator ()
 
void deleteThis (const char *aReason)
 
void mustStop (const char *aReason)
 
bool done () const
 the job is destroyed in callEnd() when done() More...
 
void stopProducingFor (RefCount< BodyPipe > &, bool atEof)
 
void stopConsumingFrom (RefCount< BodyPipe > &)
 

Protected Attributes

Comm::ConnectionPointer connection
 ICAP server connection. More...
 
Adaptation::Icap::ServiceRep::Pointer theService
 
SBuf readBuf
 
bool commEof
 
bool reuseConnection
 
bool isRetriable
 can retry on persistent connection failures More...
 
bool isRepeatable
 can repeat if no or unsatisfactory response More...
 
bool ignoreLastWrite
 
const char * stopReason
 
AsyncCall::Pointer connector
 
AsyncCall::Pointer reader
 
AsyncCall::Pointer writer
 
AsyncCall::Pointer closer
 
AccessLogEntry::Pointer alep
 icap.log entry More...
 
AccessLogEntryal
 short for *alep More...
 
timeval icap_tr_start
 
timeval icap_tio_start
 
timeval icap_tio_finish
 
CbcPointer< InitiatortheInitiator
 
const char * typeName
 kid (leaf) class name, for debugging More...
 
AsyncCall::Pointer inCall
 the asynchronous call being handled, if any More...
 
const InstanceId< AsyncJobid
 job identifier More...
 

Private Member Functions

 CBDATA_CLASS (ModXact)
 
virtual void start ()
 called by AsyncStart; do not call directly More...
 
const HttpRequestvirginRequest () const
 locates the request, either as a cause or as a virgin message itself More...
 
void estimateVirginBody ()
 
void makeAdaptedBodyPipe (const char *what)
 
void waitForService ()
 
bool doneSending () const
 
void startWriting ()
 
void writeMore ()
 
void writePreviewBody ()
 
void writePrimeBody ()
 
void writeSomeBody (const char *label, size_t size)
 
void decideWritingAfterPreview (const char *previewKind)
 determine state.writing after we wrote the entire preview More...
 
void startReading ()
 
void readMore ()
 
virtual bool doneReading () const
 
virtual bool doneWriting () const
 
size_t virginContentSize (const VirginBodyAct &act) const
 
const char * virginContentData (const VirginBodyAct &act) const
 
bool virginBodyEndReached (const VirginBodyAct &act) const
 
void makeRequestHeaders (MemBuf &buf)
 
void makeAllowHeader (MemBuf &buf)
 
void makeUsernameHeader (const HttpRequest *request, MemBuf &buf)
 
void addLastRequestChunk (MemBuf &buf)
 
void openChunk (MemBuf &buf, size_t chunkSize, bool ieof)
 
void closeChunk (MemBuf &buf)
 
void virginConsume ()
 
void finishNullOrEmptyBodyPreview (MemBuf &buf)
 
void decideOnPreview ()
 
void decideOnRetries ()
 
bool shouldAllow204 ()
 
bool shouldAllow206any ()
 
bool shouldAllow206in ()
 
bool shouldAllow206out ()
 
bool canBackupEverything () const
 
void prepBackup (size_t expectedSize)
 
void backup (const MemBuf &buf)
 
void parseMore ()
 
void parseHeaders ()
 
void parseIcapHead ()
 
void parseHttpHead ()
 
bool parseHead (Http::Message *head)
 
void decideOnParsingBody ()
 
void parseBody ()
 
void parseIcapTrailer ()
 
void maybeAllocateHttpMsg ()
 
void handle100Continue ()
 
bool validate200Ok ()
 
void handle200Ok ()
 
void handle204NoContent ()
 
void handle206PartialContent ()
 
void handleUnknownScode ()
 
void bypassFailure ()
 
void startSending ()
 
void disableBypass (const char *reason, bool includeGroupBypass)
 
void prepEchoing ()
 
void prepPartialBodyEchoing (uint64_t pos)
 
void echoMore ()
 
void updateSources ()
 Update the Http::Message sources. More...
 
virtual bool doneAll () const
 whether positive goal has been reached More...
 
virtual void swanSong ()
 
void stopReceiving ()
 
void stopSending (bool nicely)
 
void stopWriting (bool nicely)
 
void stopParsing (const bool checkUnparsedData=true)
 
void stopBackup ()
 
virtual void fillPendingStatus (MemBuf &buf) const
 
virtual void fillDoneStatus (MemBuf &buf) const
 
virtual bool fillVirginHttpHeader (MemBuf &) const
 
template<class Part >
bool parsePart (Part *part, const char *description)
 
void packHead (MemBuf &httpBuf, const Http::Message *head)
 
void encapsulateHead (MemBuf &icapBuf, const char *section, MemBuf &httpBuf, const Http::Message *head)
 
bool gotEncapsulated (const char *section) const
 
bool expectHttpHeader () const
 whether ICAP response header indicates HTTP header presence More...
 
bool expectHttpBody () const
 whether ICAP response header indicates HTTP body presence More...
 
bool expectIcapTrailers () const
 whether ICAP response header indicates ICAP trailers presence More...
 
void checkConsuming ()
 
virtual void finalizeLogInfo ()
 

Private Attributes

SizedEstimate virginBody
 
VirginBodyAct virginBodyWriting
 
VirginBodyAct virginBodySending
 
uint64_t virginConsumed
 
Preview preview
 
Http1::TeChunkedParserbodyParser
 
bool canStartBypass
 
bool protectGroupBypass
 
int64_t replyHttpHeaderSize
 
int64_t replyHttpBodySize
 
int adaptHistoryId
 adaptation history slot reservation More...
 
TrailerParsertrailerParser
 
class
Adaptation::Icap::ModXact::State 
state
 
AccessLogEntry::Pointer alMaster
 Master transaction AccessLogEntry. More...
 

Detailed Description

Definition at line 123 of file ModXact.h.

Member Typedef Documentation

Definition at line 25 of file BodyPipe.h.

Definition at line 34 of file AsyncJob.h.

Definition at line 45 of file BodyPipe.h.

Constructor & Destructor Documentation

Adaptation::Icap::ModXact::~ModXact ( )
virtual

Definition at line 1284 of file ModXact.cc.

Member Function Documentation

void Adaptation::Icap::ModXact::addLastRequestChunk ( MemBuf buf)
private

Definition at line 369 of file ModXact.cc.

void Adaptation::Icap::ModXact::backup ( const MemBuf buf)
private
void Adaptation::Icap::ModXact::bypassFailure ( )
private

Definition at line 691 of file ModXact.cc.

References debugs, HERE(), and Must.

void Adaptation::Icap::Xaction::callEnd ( )
virtualinherited

called right after the called job method

Reimplemented from AsyncJob.

Definition at line 408 of file Xaction.cc.

References AsyncJob::callEnd(), debugs, and HERE().

void Adaptation::Icap::ModXact::callException ( const std::exception &  e)
virtual
void AsyncJob::callStart ( AsyncCall call)
inherited
bool Adaptation::Icap::ModXact::canBackupEverything ( ) const
private

Definition at line 1695 of file ModXact.cc.

References TheBackupLimit.

bool AsyncJob::canBeCalled ( AsyncCall call) const
inherited

Definition at line 101 of file AsyncJob.cc.

References AsyncCall::cancel(), debugs, HERE(), AsyncJob::inCall, and NULL.

void Adaptation::Icap::Xaction::cancelRead ( )
protectedinherited

Definition at line 513 of file Xaction.cc.

References Must, NULL, and Comm::ReadCancel().

Adaptation::Icap::ModXact::CBDATA_CLASS ( ModXact  )
private
void Adaptation::Icap::ModXact::checkConsuming ( )
private

Definition at line 640 of file ModXact.cc.

References debugs, and HERE().

void Adaptation::Icap::ModXact::clearError ( )
virtual

Reimplemented from Adaptation::Icap::Xaction.

Definition at line 2005 of file ModXact.cc.

References HttpRequest::clearError(), and request().

void Adaptation::Initiate::clearInitiator ( )
protectedinherited

Definition at line 74 of file Initiate.cc.

void Adaptation::Icap::ModXact::closeChunk ( MemBuf buf)
private

Definition at line 381 of file ModXact.cc.

References MemBuf::append(), and crlf.

void Adaptation::Icap::Xaction::closeConnection ( )
protectedinherited
void Adaptation::Icap::ModXact::decideOnParsingBody ( )
private

Definition at line 1141 of file ModXact.cc.

References debugs, HERE(), and Must.

void Adaptation::Icap::ModXact::decideOnPreview ( )
private
void Adaptation::Icap::ModXact::decideOnRetries ( )
private

Definition at line 1712 of file ModXact.cc.

void Adaptation::Icap::ModXact::decideWritingAfterPreview ( const char *  previewKind)
private

Definition at line 292 of file ModXact.cc.

References debugs, and HERE().

void AsyncJob::deleteThis ( const char *  aReason)
protectedinherited
void Adaptation::Icap::ModXact::detailError ( int  errDetail)
virtual

Reimplemented from Adaptation::Icap::Xaction.

Definition at line 1993 of file ModXact.cc.

References HttpRequest::detailError(), ERR_ICAP_FAILURE, and request().

void Adaptation::Icap::Xaction::dieOnConnectionFailure ( )
protectedinherited

Definition at line 322 of file Xaction.cc.

References debugs, ERR_DETAIL_ICAP_XACT_START, HERE(), and TexcHere.

void Adaptation::Icap::ModXact::disableBypass ( const char *  reason,
bool  includeGroupBypass 
)
private

Definition at line 717 of file ModXact.cc.

References debugs, and HERE().

void Adaptation::Icap::Xaction::disableRepeats ( const char *  reason)
inherited

Definition at line 136 of file Xaction.cc.

References debugs.

Referenced by Adaptation::Icap::Launcher::launchXaction().

void Adaptation::Icap::Xaction::disableRetries ( )
inherited

Definition at line 129 of file Xaction.cc.

References debugs.

Referenced by Adaptation::Icap::Launcher::launchXaction().

bool AsyncJob::done ( ) const
protectedinherited

Definition at line 90 of file AsyncJob.cc.

References AsyncJob::doneAll(), NULL, and AsyncJob::stopReason.

Referenced by AsyncJob::callEnd(), and Downloader::downloadFinished().

bool Adaptation::Icap::ModXact::doneAll ( ) const
privatevirtual

Reimplemented from Adaptation::Icap::Xaction.

Definition at line 528 of file ModXact.cc.

References Adaptation::Icap::Xaction::doneAll().

virtual bool Adaptation::Icap::ModXact::doneReading ( ) const
inlineprivatevirtual
bool Adaptation::Icap::ModXact::doneSending ( ) const
private

Definition at line 608 of file ModXact.cc.

bool Adaptation::Icap::Xaction::doneWithIo ( ) const
protectedinherited

Definition at line 559 of file Xaction.cc.

virtual bool Adaptation::Icap::ModXact::doneWriting ( ) const
inlineprivatevirtual

Reimplemented from Adaptation::Icap::Xaction.

Definition at line 189 of file ModXact.h.

References Adaptation::Icap::ModXact::State::doneWriting(), and state.

void Adaptation::Icap::ModXact::echoMore ( )
private

Definition at line 575 of file ModXact.cc.

References debugs, HERE(), Must, NULL, and size.

void Adaptation::Icap::ModXact::estimateVirginBody ( )
private
bool Adaptation::Icap::ModXact::expectHttpBody ( ) const
private

Definition at line 1123 of file ModXact.cc.

bool Adaptation::Icap::ModXact::expectHttpHeader ( ) const
private

Definition at line 1118 of file ModXact.cc.

bool Adaptation::Icap::ModXact::expectIcapTrailers ( ) const
private

Definition at line 1128 of file ModXact.cc.

References Http::ALLOW, DBG_IMPORTANT, debugs, Must, String::size(), and Http::TRAILER.

void Adaptation::Icap::ModXact::fillDoneStatus ( MemBuf buf) const
privatevirtual
void Adaptation::Icap::ModXact::fillPendingStatus ( MemBuf buf) const
privatevirtual
bool Adaptation::Icap::ModXact::fillVirginHttpHeader ( MemBuf mb) const
privatevirtual

Reimplemented from Adaptation::Icap::Xaction.

Definition at line 1983 of file ModXact.cc.

References NULL.

void Adaptation::Icap::ModXact::finishNullOrEmptyBodyPreview ( MemBuf buf)
private

Definition at line 1732 of file ModXact.cc.

References Must.

bool Adaptation::Icap::ModXact::gotEncapsulated ( const char *  section) const
private

Definition at line 1811 of file ModXact.cc.

void Adaptation::Icap::ModXact::handle100Continue ( )
private

Definition at line 896 of file ModXact.cc.

References Must.

void Adaptation::Icap::ModXact::handle200Ok ( )
private

Definition at line 915 of file ModXact.cc.

void Adaptation::Icap::ModXact::handle204NoContent ( )
private

Definition at line 923 of file ModXact.cc.

void Adaptation::Icap::ModXact::handle206PartialContent ( )
private

Definition at line 929 of file ModXact.cc.

References debugs, HERE(), and Must.

void Adaptation::Icap::Xaction::handleCommClosed ( )
protectedvirtualinherited

Definition at line 395 of file Xaction.cc.

References ERR_DETAIL_ICAP_XACT_CLOSE.

void Adaptation::Icap::ModXact::handleCommConnected ( )
virtual
void Adaptation::Icap::ModXact::handleCommRead ( size_t  size)
virtual

Implements Adaptation::Icap::Xaction.

Definition at line 567 of file ModXact.cc.

References current_time, and Must.

void Adaptation::Icap::Xaction::handleCommTimedout ( )
protectedvirtualinherited

Definition at line 367 of file Xaction.cc.

References assert, debugs, HERE(), NULL, and TexcHere.

void Adaptation::Icap::ModXact::handleCommWrote ( size_t  size)
virtual

Implements Adaptation::Icap::Xaction.

Definition at line 206 of file ModXact.cc.

References debugs, and HERE().

void Adaptation::Icap::ModXact::handleCommWroteBody ( )

Definition at line 478 of file ModXact.cc.

void Adaptation::Icap::ModXact::handleCommWroteHeaders ( )

Definition at line 216 of file ModXact.cc.

References Must.

void Adaptation::Icap::ModXact::handleUnknownScode ( )
private

Definition at line 1051 of file ModXact.cc.

References TexcHere.

bool Adaptation::Icap::Xaction::haveConnection ( ) const
protectedinherited

Definition at line 566 of file Xaction.cc.

References NULL.

void Adaptation::Initiate::initiator ( const CbcPointer< Initiator > &  i)
inherited

Definition at line 54 of file Initiate.cc.

References i, Must, and CbcPointer< Cbc >::valid().

Referenced by Adaptation::Initiator::initiateAdaptation().

void Adaptation::Icap::ModXact::makeAdaptedBodyPipe ( const char *  what)
private

Definition at line 1860 of file ModXact.cc.

References debugs, HERE(), and Must.

void Adaptation::Icap::ModXact::makeAllowHeader ( MemBuf buf)
private

Definition at line 1527 of file ModXact.cc.

References Packable::appendf(), and debugs.

virtual AccessLogEntry::Pointer Adaptation::Icap::ModXact::masterLogEntry ( )
inlinevirtual

Reimplemented from Adaptation::Icap::Xaction.

Definition at line 163 of file ModXact.h.

References alMaster.

void Adaptation::Icap::ModXact::maybeAllocateHttpMsg ( )
private
bool Adaptation::Icap::Xaction::mayReadMore ( ) const
protectedinherited

Definition at line 543 of file Xaction.cc.

void Adaptation::Icap::ModXact::noteBodyConsumerAborted ( BodyPipe::Pointer  )
virtual

Implements BodyProducer.

Definition at line 1278 of file ModXact.cc.

References ERR_DETAIL_ICAP_XACT_BODY_CONSUMER_ABORT.

void Adaptation::Icap::ModXact::noteBodyProducerAborted ( BodyPipe::Pointer  )
virtual

Implements BodyConsumer.

Definition at line 1254 of file ModXact.cc.

References Must.

void Adaptation::Icap::ModXact::noteBodyProductionEnded ( BodyPipe::Pointer  )
virtual

Implements BodyConsumer.

Definition at line 1241 of file ModXact.cc.

References Must.

void Adaptation::Icap::Xaction::noteCommClosed ( const CommCloseCbParams io)
inherited

Definition at line 385 of file Xaction.cc.

References NULL.

Referenced by Adaptation::Icap::Xaction::noteCommConnected().

void Adaptation::Icap::Xaction::noteCommTimedout ( const CommTimeoutCbParams io)
inherited
void Adaptation::Icap::Xaction::noteCommWrote ( const CommIoCbParams io)
inherited
void Adaptation::Icap::Xaction::noteInitiatorAborted ( )
protectedvirtualinherited

Implements Adaptation::Initiate.

Definition at line 572 of file Xaction.cc.

References debugs, ERR_DETAIL_ICAP_INIT_GONE, HERE(), and Adaptation::Icap::xoGone.

void Adaptation::Icap::ModXact::noteMoreBodyDataAvailable ( BodyPipe::Pointer  )
virtual

Implements BodyConsumer.

Definition at line 1232 of file ModXact.cc.

void Adaptation::Icap::ModXact::noteMoreBodySpaceAvailable ( BodyPipe::Pointer  )
virtual

Implements BodyProducer.

Definition at line 1267 of file ModXact.cc.

References Must.

void Adaptation::Icap::ModXact::noteServiceAvailable ( )

Definition at line 165 of file ModXact.cc.

References Must.

Referenced by waitForService().

void Adaptation::Icap::ModXact::noteServiceReady ( )

Definition at line 148 of file ModXact.cc.

References Must, and TexcHere.

Referenced by waitForService().

void Adaptation::Icap::ModXact::openChunk ( MemBuf buf,
size_t  chunkSize,
bool  ieof 
)
private

Definition at line 376 of file ModXact.cc.

References Packable::appendf().

void Adaptation::Icap::ModXact::packHead ( MemBuf httpBuf,
const Http::Message head 
)
private

Definition at line 1629 of file ModXact.cc.

References Http::Message::packInto().

void Adaptation::Icap::ModXact::parseBody ( )
private

Definition at line 1160 of file ModXact.cc.

References debugs, HERE(), and Must.

bool Adaptation::Icap::ModXact::parseHead ( Http::Message head)
private

Definition at line 1109 of file ModXact.cc.

References Http::Message::reset().

void Adaptation::Icap::ModXact::parseHeaders ( )
private

Definition at line 746 of file ModXact.cc.

References debugs, HERE(), and Must.

void Adaptation::Icap::ModXact::parseHttpHead ( )
private

Definition at line 1061 of file ModXact.cc.

References Must.

bool Adaptation::Icap::Xaction::parseHttpMsg ( Http::Message msg)
protectedinherited
void Adaptation::Icap::ModXact::parseIcapTrailer ( )
private

Parses ICAP trailers and stops parsing, if all trailer data have been received.

Definition at line 878 of file ModXact.cc.

References debugs.

void Adaptation::Icap::ModXact::parseMore ( )
private

Definition at line 650 of file ModXact.cc.

References debugs.

template<class Part >
bool Adaptation::Icap::ModXact::parsePart ( Part *  part,
const char *  description 
)
private

parses a message header or trailer

Returns
true on success
false if more data is needed
Exceptions
TextExceptionon unrecoverable error

Definition at line 1091 of file ModXact.cc.

References debugs, error(), Must, and Http::scNone.

void Adaptation::Icap::ModXact::prepBackup ( size_t  expectedSize)
private
void Adaptation::Icap::ModXact::prepPartialBodyEchoing ( uint64_t  pos)
private

Called when we received use-original-body chunk extension in 206 response. We actually start sending (echoing or not) in startSending().

Definition at line 1022 of file ModXact.cc.

References debugs, HERE(), Must, NULL, and Adaptation::Icap::xoPartEcho.

void Adaptation::Icap::ModXact::readMore ( )
private

Definition at line 546 of file ModXact.cc.

References debugs, HERE(), and NULL.

bool Adaptation::Icap::Xaction::repeatable ( ) const
inlineinherited

Definition at line 47 of file Xaction.h.

References Adaptation::Icap::Xaction::isRepeatable.

bool Adaptation::Icap::Xaction::retriable ( ) const
inlineinherited

Definition at line 46 of file Xaction.h.

References Adaptation::Icap::Xaction::isRetriable.

void Adaptation::Icap::Xaction::scheduleRead ( )
protectedinherited

Definition at line 440 of file Xaction.cc.

References JobCallback, Must, Adaptation::Icap::Xaction::noteCommRead(), and Comm::Read().

void Adaptation::Icap::Xaction::scheduleWrite ( MemBuf buf)
protectedinherited
void Adaptation::Initiate::sendAnswer ( const Answer answer)
protectedinherited

Definition at line 79 of file Initiate.cc.

References Adaptation::Initiator::noteAdaptationAnswer(), and ScheduleCallHere.

Adaptation::Icap::ServiceRep & Adaptation::Icap::Xaction::service ( )
inherited

Definition at line 123 of file Xaction.cc.

References Must, and NULL.

Referenced by Adaptation::Icap::ConnWaiterDialer::ConnWaiterDialer().

void Adaptation::Icap::Xaction::setOutcome ( const XactOutcome xo)
protectedinherited

Definition at line 585 of file Xaction.cc.

References debugs, HERE(), and Adaptation::Icap::xoUnknown.

bool Adaptation::Icap::ModXact::shouldAllow204 ( )
private

Definition at line 1667 of file ModXact.cc.

bool Adaptation::Icap::ModXact::shouldAllow206any ( )
private
bool Adaptation::Icap::ModXact::shouldAllow206in ( )
private

Definition at line 1683 of file ModXact.cc.

bool Adaptation::Icap::ModXact::shouldAllow206out ( )
private

Definition at line 1689 of file ModXact.cc.

void Adaptation::Icap::ModXact::start ( )
privatevirtual
void Adaptation::Icap::ModXact::startReading ( )
private

Definition at line 535 of file ModXact.cc.

References Must.

void Adaptation::Icap::ModXact::startSending ( )
private

Definition at line 769 of file ModXact.cc.

References Adaptation::Answer::Forward().

void Adaptation::Icap::ModXact::startWriting ( )
private

Definition at line 176 of file ModXact.cc.

const char * Adaptation::Icap::Xaction::status ( ) const
protectedvirtualinherited

for debugging, starts with space

Reimplemented from Adaptation::Initiate.

Definition at line 664 of file Xaction.cc.

References MemBuf::append(), Packable::appendf(), buf, MemBuf::content(), MemBuf::reset(), and MemBuf::terminate().

Referenced by ModXact().

void Adaptation::Icap::ModXact::stopBackup ( )
private

Definition at line 518 of file ModXact.cc.

References debugs, and HERE().

void Adaptation::Icap::ModXact::stopParsing ( const bool  checkUnparsedData = true)
private

Definition at line 1212 of file ModXact.cc.

References debugs, and Must.

void BodyProducer::stopProducingFor ( RefCount< BodyPipe > &  p,
bool  atEof 
)
protectedinherited
void Adaptation::Icap::ModXact::stopReceiving ( )
private
void Adaptation::Icap::ModXact::stopSending ( bool  nicely)
private

Definition at line 614 of file ModXact.cc.

References debugs, HERE(), Must, and NULL.

void Adaptation::Icap::ModXact::stopWriting ( bool  nicely)
private

Definition at line 486 of file ModXact.cc.

References debugs, HERE(), and NULL.

void Adaptation::Icap::ModXact::swanSong ( )
privatevirtual
void Adaptation::Initiate::tellQueryAborted ( bool  final)
protectedinherited

Definition at line 87 of file Initiate.cc.

References Adaptation::Answer::Error().

virtual void* CbdataParent::toCbdata ( )
pure virtualinherited
void Adaptation::Icap::ModXact::updateSources ( )
private

Definition at line 2016 of file ModXact.cc.

References Must, Http::Message::srcIcap, and Http::Message::srcIcaps.

void Adaptation::Icap::Xaction::updateTimeout ( )
protectedinherited
bool Adaptation::Icap::ModXact::validate200Ok ( )
private

Definition at line 887 of file ModXact.cc.

References method, Adaptation::methodReqmod, and Adaptation::methodRespmod.

bool Adaptation::Icap::ModXact::virginBodyEndReached ( const VirginBodyAct act) const
private
void Adaptation::Icap::ModXact::virginConsume ( )
private
const char * Adaptation::Icap::ModXact::virginContentData ( const VirginBodyAct act) const
private
size_t Adaptation::Icap::ModXact::virginContentSize ( const VirginBodyAct act) const
private
const HttpRequest & Adaptation::Icap::ModXact::virginRequest ( ) const
private

Definition at line 386 of file ModXact.cc.

References Must, and request().

void Adaptation::Icap::ModXact::waitForService ( )
private
void Adaptation::Icap::ModXact::writeMore ( )
private

Definition at line 236 of file ModXact.cc.

References debugs, HERE(), Must, NULL, and TexcHere.

void Adaptation::Icap::ModXact::writePreviewBody ( )
private

Definition at line 274 of file ModXact.cc.

References debugs, HERE(), min(), Must, NULL, size, and size_t.

void Adaptation::Icap::ModXact::writePrimeBody ( )
private

Definition at line 305 of file ModXact.cc.

References debugs, HERE(), Must, size, and size_t.

void Adaptation::Icap::ModXact::writeSomeBody ( const char *  label,
size_t  size 
)
private

Member Data Documentation

InOut Adaptation::Icap::ModXact::adapted

Definition at line 153 of file ModXact.h.

int Adaptation::Icap::ModXact::adaptHistoryId
private

Definition at line 300 of file ModXact.h.

AccessLogEntry& Adaptation::Icap::Xaction::al
protectedinherited

Definition at line 149 of file Xaction.h.

AccessLogEntry::Pointer Adaptation::Icap::Xaction::alep
protectedinherited

Definition at line 148 of file Xaction.h.

AccessLogEntry::Pointer Adaptation::Icap::ModXact::alMaster
private

Definition at line 352 of file ModXact.h.

Referenced by masterLogEntry().

int Adaptation::Icap::Xaction::attempts
inherited

Definition at line 61 of file Xaction.h.

Referenced by Adaptation::Icap::Launcher::launchXaction().

Http1::TeChunkedParser* Adaptation::Icap::ModXact::bodyParser
private

Definition at line 284 of file ModXact.h.

bool Adaptation::Icap::ModXact::canStartBypass
private

Definition at line 286 of file ModXact.h.

AsyncCall::Pointer Adaptation::Icap::Xaction::closer
protectedinherited

Definition at line 146 of file Xaction.h.

bool Adaptation::Icap::Xaction::commEof
protectedinherited

Definition at line 134 of file Xaction.h.

Referenced by Adaptation::Icap::OptXact::doneReading(), and doneReading().

Comm::ConnectionPointer Adaptation::Icap::Xaction::connection
protectedinherited

Definition at line 130 of file Xaction.h.

AsyncCall::Pointer Adaptation::Icap::Xaction::connector
protectedinherited

Definition at line 143 of file Xaction.h.

timeval Adaptation::Icap::Xaction::icap_tio_finish
protectedinherited

Definition at line 153 of file Xaction.h.

Referenced by Adaptation::Icap::Xaction::Xaction().

timeval Adaptation::Icap::Xaction::icap_tio_start
protectedinherited

Definition at line 152 of file Xaction.h.

Referenced by Adaptation::Icap::Xaction::Xaction().

timeval Adaptation::Icap::Xaction::icap_tr_start
protectedinherited

Definition at line 151 of file Xaction.h.

Referenced by Adaptation::Icap::Xaction::Xaction().

HttpReply::Pointer Adaptation::Icap::Xaction::icapReply
inherited

Definition at line 58 of file Xaction.h.

Referenced by ModXact().

HttpRequest* Adaptation::Icap::Xaction::icapRequest
inherited

Definition at line 57 of file Xaction.h.

Referenced by Adaptation::Icap::Xaction::Xaction().

const InstanceId<AsyncJob> AsyncJob::id
protectedinherited

Definition at line 70 of file AsyncJob.h.

bool Adaptation::Icap::Xaction::ignoreLastWrite
protectedinherited

Definition at line 138 of file Xaction.h.

AsyncCall::Pointer AsyncJob::inCall
protectedinherited
bool Adaptation::Icap::Xaction::isRepeatable
protectedinherited

Definition at line 137 of file Xaction.h.

Referenced by Adaptation::Icap::Xaction::repeatable().

bool Adaptation::Icap::Xaction::isRetriable
protectedinherited

Definition at line 136 of file Xaction.h.

Referenced by Adaptation::Icap::Xaction::retriable().

Preview Adaptation::Icap::ModXact::preview
private

Definition at line 282 of file ModXact.h.

bool Adaptation::Icap::ModXact::protectGroupBypass
private

Definition at line 287 of file ModXact.h.

SBuf Adaptation::Icap::Xaction::readBuf
protectedinherited

Definition at line 133 of file Xaction.h.

AsyncCall::Pointer Adaptation::Icap::Xaction::reader
protectedinherited

Definition at line 144 of file Xaction.h.

int64_t Adaptation::Icap::ModXact::replyHttpBodySize
private

size of dechunked HTTP body in ICAP reply or -1 if there is not any encapsulated message data

Definition at line 298 of file ModXact.h.

int64_t Adaptation::Icap::ModXact::replyHttpHeaderSize
private

size of HTTP header in ICAP reply or -1 if there is not any encapsulated message data

Definition at line 293 of file ModXact.h.

bool Adaptation::Icap::Xaction::reuseConnection
protectedinherited

Definition at line 135 of file Xaction.h.

class Adaptation::Icap::ModXact::State Adaptation::Icap::ModXact::state
private

Referenced by doneReading(), and doneWriting().

const char* Adaptation::Icap::Xaction::stopReason
protectedinherited

Definition at line 140 of file Xaction.h.

CbcPointer<Initiator> Adaptation::Initiate::theInitiator
protectedinherited

Definition at line 51 of file Initiate.h.

Adaptation::Icap::ServiceRep::Pointer Adaptation::Icap::Xaction::theService
protectedinherited

Definition at line 131 of file Xaction.h.

TrailerParser* Adaptation::Icap::ModXact::trailerParser
private

Definition at line 302 of file ModXact.h.

InOut Adaptation::Icap::ModXact::virgin

Definition at line 152 of file ModXact.h.

Referenced by ModXact().

SizedEstimate Adaptation::Icap::ModXact::virginBody
private

Definition at line 278 of file ModXact.h.

VirginBodyAct Adaptation::Icap::ModXact::virginBodySending
private

Definition at line 280 of file ModXact.h.

VirginBodyAct Adaptation::Icap::ModXact::virginBodyWriting
private

Definition at line 279 of file ModXact.h.

uint64_t Adaptation::Icap::ModXact::virginConsumed
private

Definition at line 281 of file ModXact.h.

AsyncCall::Pointer Adaptation::Icap::Xaction::writer
protectedinherited

Definition at line 145 of file Xaction.h.


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors