GCC Code Coverage Report
Directory: cvmfs/ Exec Total Coverage
File: cvmfs/ingestion/task_write.h Lines: 3 3 100.0 %
Date: 2019-02-03 02:48:13 Branches: 1 2 50.0 %

Line Branch Exec Source
1
/**
2
 * This file is part of the CernVM File System.
3
 */
4
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
178
class TaskWrite : public TubeConsumer<BlockItem> {
14
 public:
15
89
  TaskWrite(
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
89
    , 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
32
  TubeGroup<FileItem> *tubes_out_;
33
  upload::AbstractUploader *uploader_;
34
};
35
36
#endif  // CVMFS_INGESTION_TASK_WRITE_H_