CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TubeConsumer< ItemT > Class Template Referenceabstract

#include <task.h>

Inheritance diagram for TubeConsumer< ItemT >:
Collaboration diagram for TubeConsumer< ItemT >:

Public Member Functions

virtual ~TubeConsumer ()
 

Protected Member Functions

 TubeConsumer (Tube< ItemT > *tube)
 
virtual void Process (ItemT *item)=0
 
virtual void OnTerminate ()
 

Protected Attributes

Tube< ItemT > * tube_
 

Static Private Member Functions

static void * MainConsumer (void *data)
 

Friends

class TubeConsumerGroup< ItemT >
 

Additional Inherited Members

- Private Member Functions inherited from SingleCopy
 SingleCopy ()
 

Detailed Description

template<class ItemT>
class TubeConsumer< ItemT >

Base class for threads that processes items from a tube one by one. Concrete implementations overwrite the Process() method.

Definition at line 32 of file task.h.

Constructor & Destructor Documentation

template<class ItemT>
virtual TubeConsumer< ItemT >::~TubeConsumer ( )
inlinevirtual

Definition at line 36 of file task.h.

template<class ItemT>
TubeConsumer< ItemT >::TubeConsumer ( Tube< ItemT > *  tube)
inlineexplicitprotected

Definition at line 39 of file task.h.

Member Function Documentation

template<class ItemT>
static void* TubeConsumer< ItemT >::MainConsumer ( void *  data)
inlinestaticprivate

Definition at line 46 of file task.h.

template<class ItemT>
virtual void TubeConsumer< ItemT >::OnTerminate ( )
inlineprotectedvirtual

Definition at line 41 of file task.h.

Referenced by TubeConsumer< FileItem >::MainConsumer().

Here is the caller graph for this function:

template<class ItemT>
virtual void TubeConsumer< ItemT >::Process ( ItemT *  item)
protectedpure virtual

Implemented in TaskScrubbingCallback, TaskRead, TaskChunk, TaskCompress, TaskRegister, TaskWrite, and TaskHash.

Referenced by TubeConsumer< FileItem >::MainConsumer().

Here is the caller graph for this function:

Friends And Related Function Documentation

template<class ItemT>
friend class TubeConsumerGroup< ItemT >
friend

Definition at line 33 of file task.h.

Member Data Documentation

template<class ItemT>
Tube<ItemT>* TubeConsumer< ItemT >::tube_
protected

Definition at line 43 of file task.h.

Referenced by TubeConsumer< FileItem >::MainConsumer().


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