33 if (item->
Open() ==
false) {
37 if (item->
GetSize(&size) ==
false) {
48 uint64_t tag = atomic_xadd64(&
tag_seq_, 1);
63 block_item->
MakeDataCopy(reinterpret_cast<unsigned char *>(buffer),
69 if ((cnt % 32) == 0) {
ItemAllocator * allocator_
bool GetSize(uint64_t *size)
TubeGroup< BlockItem > * tubes_out_
bool MightFindChunks(const uint64_t size) const
static const unsigned kBlockSize
static const unsigned kThrottleMaxMs
assert((mem||(size==0))&&"Out Of Memory")
void SetFileItem(FileItem *item)
Xor32Detector * chunk_detector()
void SetWatermarks(uint64_t low, uint64_t high)
void set_size(uint64_t val)
static const unsigned kThrottleResetMs
void set_may_have_chunks(bool val)
Tube< ItemT >::Link * Dispatch(ItemT *item)
static atomic_int64 tag_seq_
virtual void Process(FileItem *item)
ssize_t Read(void *buffer, size_t nbyte)
void MakeDataCopy(const unsigned char *data, uint32_t size)
static uint64_t managed_bytes()
static const unsigned kThrottleInitMs