#include <BodyPipe.h>

Inheritance diagram for BodyConsumer:
Collaboration diagram for BodyConsumer:

Public Types

typedef CbcPointer< BodyConsumerPointer
 

Public Member Functions

 BodyConsumer ()
 
virtual ~BodyConsumer ()
 
virtual void noteMoreBodyDataAvailable (RefCount< BodyPipe > bp)=0
 
virtual void noteBodyProductionEnded (RefCount< BodyPipe > bp)=0
 
virtual void noteBodyProducerAborted (RefCount< BodyPipe > bp)=0
 
bool canBeCalled (AsyncCall &call) const
 whether we can be called More...
 
void callStart (AsyncCall &call)
 
virtual void callEnd ()
 called right after the called job method More...
 
virtual void callException (const std::exception &e)
 called when the job throws during an async call More...
 
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...
 

Protected Member Functions

void stopConsumingFrom (RefCount< BodyPipe > &)
 
void deleteThis (const char *aReason)
 
void mustStop (const char *aReason)
 
bool done () const
 the job is destroyed in callEnd() when done() More...
 
virtual void start ()
 called by AsyncStart; do not call directly More...
 
virtual bool doneAll () const
 whether positive goal has been reached More...
 
virtual void swanSong ()
 
virtual const char * status () const
 internal cleanup; do not call directly More...
 

Protected Attributes

const char * stopReason
 reason for forcing done() to be true More...
 
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...
 

Detailed Description

Interface for those who want to consume body content from others. BodyConsumer is expected to register with an existing BodyPipe by calling BodyPipe::setConsumer(). One pipe cannot have more than one consumer.

Definition at line 42 of file BodyPipe.h.

Member Typedef Documentation

Definition at line 45 of file BodyPipe.h.

Constructor & Destructor Documentation

BodyConsumer::BodyConsumer ( )
inline

Definition at line 47 of file BodyPipe.h.

virtual BodyConsumer::~BodyConsumer ( )
inlinevirtual

Definition at line 48 of file BodyPipe.h.

Member Function Documentation

void AsyncJob::callEnd ( )
virtualinherited
void AsyncJob::callStart ( AsyncCall call)
inherited
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 AsyncJob::deleteThis ( const char *  aReason)
protectedinherited
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().

virtual void BodyConsumer::noteBodyProducerAborted ( RefCount< BodyPipe bp)
pure virtual
virtual void BodyConsumer::noteBodyProductionEnded ( RefCount< BodyPipe bp)
pure virtual
virtual void BodyConsumer::noteMoreBodyDataAvailable ( RefCount< BodyPipe bp)
pure virtual
virtual void* CbdataParent::toCbdata ( )
pure virtualinherited

Member Data Documentation

const InstanceId<AsyncJob> AsyncJob::id
protectedinherited

Definition at line 70 of file AsyncJob.h.

AsyncCall::Pointer AsyncJob::inCall
protectedinherited
const char* AsyncJob::stopReason
protectedinherited

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

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors