CernVM-FS  2.13.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CompressHashPipeline Class Reference

#include <pipeline.h>

Inheritance diagram for CompressHashPipeline:
Collaboration diagram for CompressHashPipeline:

Public Member Functions

 CompressHashPipeline ()
 
 ~CompressHashPipeline ()
 
void Spawn ()
 
void Process (IngestionSource *source, shash::Algorithms hash_algorithm, shash::Suffix hash_suffix)
 
void WaitFor ()
 
void OnFileProcessed (const CompressHashResult &compress_hash_result)
 
- Public Member Functions inherited from Observable< CompressHashResult >
virtual ~Observable ()
 
CallbackPtr RegisterListener (typename BoundClosure< CompressHashResult, DelegateT, ClosureDataT >::CallbackMethod method, DelegateT *delegate, ClosureDataT data)
 
CallbackPtr RegisterListener (typename BoundCallback< CompressHashResult, DelegateT >::CallbackMethod method, DelegateT *delegate)
 
CallbackPtr RegisterListener (typename Callback< CompressHashResult >::CallbackFunction fn)
 
void UnregisterListener (CallbackPtr callback_object)
 
void UnregisterListeners ()
 

Private Attributes

bool spawned_
 
Tube< FileItemtube_input_
 
Tube< FileItemtube_counter_
 
TubeConsumerGroup< FileItemtasks_read_
 
TubeGroup< BlockItemtubes_chunk_
 
TubeConsumerGroup< BlockItemtasks_chunk_
 
TubeGroup< BlockItemtubes_compress_
 
TubeConsumerGroup< BlockItemtasks_compress_
 
TubeGroup< BlockItemtubes_hash_
 
TubeConsumerGroup< BlockItemtasks_hash_
 
TubeGroup< BlockItemtubes_compress_hash_callback_
 
TubeConsumerGroup< BlockItemtasks_compress_hash_callback_
 
ItemAllocator item_allocator_
 

Static Private Attributes

static const uint64_t kMemLowWatermark = 64 * 1024 * 1024
 
static const uint64_t kMemHighWatermark = 128 * 1024 * 1024
 

Additional Inherited Members

- Public Types inherited from Observable< CompressHashResult >
typedef Callbackable
< CompressHashResult >
::CallbackTN
CallbackPtr
 
- Public Types inherited from Callbackable< CompressHashResult >
typedef CallbackBase
< CompressHashResult
CallbackTN
 
- Static Public Member Functions inherited from Callbackable< CompressHashResult >
static CallbackTNMakeClosure (typename BoundClosure< CompressHashResult, DelegateT, ClosureDataT >::CallbackMethod method, DelegateT *delegate, const ClosureDataT &closure_data)
 
static CallbackTNMakeCallback (typename BoundCallback< CompressHashResult, DelegateT >::CallbackMethod method, DelegateT *delegate)
 
static CallbackTNMakeCallback (typename Callback< CompressHashResult >::CallbackFunction function)
 
- Protected Types inherited from Observable< CompressHashResult >
typedef std::set< CallbackPtrCallbacks
 
- Protected Member Functions inherited from Observable< CompressHashResult >
void RegisterListener (CallbackPtr callback_object)
 
 Observable ()
 
void NotifyListeners (const CompressHashResult &parameter)
 

Detailed Description

Definition at line 185 of file pipeline.h.

Constructor & Destructor Documentation

CompressHashPipeline::CompressHashPipeline ( )
CompressHashPipeline::~CompressHashPipeline ( )

Member Function Documentation

void CompressHashPipeline::OnFileProcessed ( const CompressHashResult compress_hash_result)
void CompressHashPipeline::Process ( IngestionSource source,
shash::Algorithms  hash_algorithm,
shash::Suffix  hash_suffix 
)
void CompressHashPipeline::Spawn ( )
void CompressHashPipeline::WaitFor ( )

Member Data Documentation

ItemAllocator CompressHashPipeline::item_allocator_
private

Definition at line 220 of file pipeline.h.

const uint64_t CompressHashPipeline::kMemHighWatermark = 128 * 1024 * 1024
staticprivate

Definition at line 200 of file pipeline.h.

const uint64_t CompressHashPipeline::kMemLowWatermark = 64 * 1024 * 1024
staticprivate

Definition at line 199 of file pipeline.h.

bool CompressHashPipeline::spawned_
private

Definition at line 202 of file pipeline.h.

TubeConsumerGroup<BlockItem> CompressHashPipeline::tasks_chunk_
private

Definition at line 209 of file pipeline.h.

TubeConsumerGroup<BlockItem> CompressHashPipeline::tasks_compress_
private

Definition at line 212 of file pipeline.h.

TubeConsumerGroup<BlockItem> CompressHashPipeline::tasks_compress_hash_callback_
private

Definition at line 218 of file pipeline.h.

TubeConsumerGroup<BlockItem> CompressHashPipeline::tasks_hash_
private

Definition at line 215 of file pipeline.h.

TubeConsumerGroup<FileItem> CompressHashPipeline::tasks_read_
private

Definition at line 206 of file pipeline.h.

Tube<FileItem> CompressHashPipeline::tube_counter_
private

Definition at line 204 of file pipeline.h.

Tube<FileItem> CompressHashPipeline::tube_input_
private

Definition at line 203 of file pipeline.h.

TubeGroup<BlockItem> CompressHashPipeline::tubes_chunk_
private

Definition at line 208 of file pipeline.h.

TubeGroup<BlockItem> CompressHashPipeline::tubes_compress_
private

Definition at line 211 of file pipeline.h.

TubeGroup<BlockItem> CompressHashPipeline::tubes_compress_hash_callback_
private

Definition at line 217 of file pipeline.h.

TubeGroup<BlockItem> CompressHashPipeline::tubes_hash_
private

Definition at line 214 of file pipeline.h.


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