CernVM-FS  2.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
task_write.h
Go to the documentation of this file.
1 
5 #ifndef CVMFS_INGESTION_TASK_WRITE_H_
6 #define CVMFS_INGESTION_TASK_WRITE_H_
7 
8 #include "ingestion/item.h"
9 #include "ingestion/task.h"
10 #include "upload_facility.h"
11 
12 
13 class TaskWrite : public TubeConsumer<BlockItem> {
14  public:
16  Tube<BlockItem> *tube_in,
17  TubeGroup<FileItem> *tubes_out,
18  upload::AbstractUploader *uploader)
19  : TubeConsumer<BlockItem>(tube_in)
20  , tubes_out_(tubes_out)
21  , uploader_(uploader) { }
22 
23  protected:
24  virtual void Process(BlockItem *input_block);
25 
26  private:
27  void OnBlockComplete(const upload::UploaderResults &results,
28  BlockItem *block_item);
29  void OnChunkComplete(const upload::UploaderResults &results,
30  ChunkItem *chunk_item);
31 
34 };
35 
36 #endif // CVMFS_INGESTION_TASK_WRITE_H_
virtual void Process(BlockItem *input_block)
Definition: task_write.cc:47
TaskWrite(Tube< BlockItem > *tube_in, TubeGroup< FileItem > *tubes_out, upload::AbstractUploader *uploader)
Definition: task_write.h:15
upload::AbstractUploader * uploader_
Definition: task_write.h:33
void OnBlockComplete(const upload::UploaderResults &results, BlockItem *block_item)
Definition: task_write.cc:15
void OnChunkComplete(const upload::UploaderResults &results, ChunkItem *chunk_item)
Definition: task_write.cc:27
TubeGroup< FileItem > * tubes_out_
Definition: task_write.h:32