18 uint64_t min_chunk_size,
19 uint64_t avg_chunk_size,
20 uint64_t max_chunk_size,
25 bool has_legacy_bulk_chunk)
27 , compression_algorithm_(compression_algorithm)
28 , hash_algorithm_(hash_algorithm)
29 , hash_suffix_(hash_suffix)
30 , has_legacy_bulk_chunk_(has_legacy_bulk_chunk)
32 , may_have_chunks_(may_have_chunks)
33 , chunk_detector_(min_chunk_size, avg_chunk_size, max_chunk_size)
34 , bulk_hash_(hash_algorithm)
36 int retval = pthread_mutex_init(&
lock_, NULL);
66 : file_item_(file_item)
69 , is_bulk_chunk_(false)
70 , upload_handle_(NULL)
106 : allocator_(allocator)
107 , type_(kBlockHollow)
117 : allocator_(allocator)
118 , type_(kBlockHollow)
188 memcpy(
data_, data, size);
222 uint32_t nbytes = std::min(remaining, count);
223 memcpy(
data_ + size_, buf, nbytes);
void RegisterChunk(const FileChunk &file_chunk)
void MakeDataMove(BlockItem *other)
shash::ContextPtr hash_ctx_
void SetChunkItem(ChunkItem *item)
FileItem(IngestionSource *source, uint64_t min_chunk_size=4 *1024 *1024, uint64_t avg_chunk_size=8 *1024 *1024, uint64_t max_chunk_size=16 *1024 *1024, zlib::Algorithms compression_algorithm=zlib::kZlibDefault, shash::Algorithms hash_algorithm=shash::kSha1, shash::Suffix hash_suffix=shash::kSuffixNone, bool may_have_chunks=true, bool has_legacy_bulk_chunk=false)
CVMFS_EXPORT const LogSource source
shash::Algorithms hash_algorithm()
void * Malloc(unsigned size)
unsigned char hash_ctx_buffer_[shash::kMaxContextSize]
zlib::Compressor * GetCompressor()
const shash::Any & content_hash() const
BlockItem(ItemAllocator *allocator)
assert((mem||(size==0))&&"Out Of Memory")
void SetFileItem(FileItem *item)
ChunkItem(FileItem *file_item, uint64_t offset)
void Init(ContextPtr context)
static Compressor * Construct(const Algorithms ¶m)
const char kSuffixPartial
void MakeData(uint32_t capacity)
atomic_int64 nchunks_in_fly_
shash::Suffix hash_suffix()
unsigned GetContextSize(const Algorithms algorithm)
void PushBack(const Item &item)
static atomic_int64 managed_bytes_
zlib::Algorithms compression_algorithm()
ItemAllocator * allocator_
atomic_int32 is_fully_chunked_
void MakeDataCopy(const unsigned char *data, uint32_t size)
uint32_t Write(void *buf, uint32_t count)
UniquePtr< zlib::Compressor > compressor_