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

#include <task_compress.h>

Inheritance diagram for TaskCompress:
Collaboration diagram for TaskCompress:

Public Member Functions

 TaskCompress (Tube< BlockItem > *tube_in, TubeGroup< BlockItem > *tubes_out, ItemAllocator *allocator)
 
- Public Member Functions inherited from TubeConsumer< BlockItem >
virtual ~TubeConsumer ()
 

Static Public Attributes

static const unsigned kCompressedBlockSize = kPageSize * 2
 

Protected Member Functions

virtual void Process (BlockItem *input_block)
 
- Protected Member Functions inherited from TubeConsumer< BlockItem >
 TubeConsumer (Tube< BlockItem > *tube)
 
virtual void OnTerminate ()
 

Private Types

typedef SmallHashDynamic
< int64_t, BlockItem * > 
TagMap
 

Static Private Member Functions

static uint32_t hasher_int64t (const int64_t &value)
 

Private Attributes

TubeGroup< BlockItem > * tubes_out_
 
ItemAllocatorallocator_
 
TagMap tag_map_
 

Additional Inherited Members

- Protected Attributes inherited from TubeConsumer< BlockItem >
Tube< BlockItem > * tube_
 

Detailed Description

Definition at line 18 of file task_compress.h.

Member Typedef Documentation

typedef SmallHashDynamic<int64_t, BlockItem *> TaskCompress::TagMap
private

Maps input block tag (hence: chunk) to the output block with the compressed data.

Definition at line 45 of file task_compress.h.

Constructor & Destructor Documentation

TaskCompress::TaskCompress ( Tube< BlockItem > *  tube_in,
TubeGroup< BlockItem > *  tubes_out,
ItemAllocator allocator 
)
inline

Definition at line 22 of file task_compress.h.

Here is the call graph for this function:

Member Function Documentation

static uint32_t TaskCompress::hasher_int64t ( const int64_t &  value)
inlinestaticprivate

Definition at line 37 of file task_compress.h.

Referenced by TaskCompress().

Here is the call graph for this function:

Here is the caller graph for this function:

void TaskCompress::Process ( BlockItem input_block)
protectedvirtual

This file is part of the CernVM File System. The data payload of the blocks is replaced by their compressed counterparts. The block tags stay the same. TODO(jblomer): avoid memory copy with EchoCompressor

Implements TubeConsumer< BlockItem >.

Definition at line 20 of file task_compress.cc.

Here is the call graph for this function:

Member Data Documentation

ItemAllocator* TaskCompress::allocator_
private

Definition at line 48 of file task_compress.h.

Referenced by Process().

const unsigned TaskCompress::kCompressedBlockSize = kPageSize * 2
static

Definition at line 20 of file task_compress.h.

Referenced by Process().

TagMap TaskCompress::tag_map_
private

Definition at line 49 of file task_compress.h.

Referenced by Process(), and TaskCompress().

TubeGroup<BlockItem>* TaskCompress::tubes_out_
private

Definition at line 47 of file task_compress.h.

Referenced by Process().


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