ChunkBuffer::ChunkBuffer(const string& url, S3KeyReader& reader) : sourceUrl(url), offsetMgr(reader.getOffsetMgr()), sharedKeyReader(reader) { s3interface = NULL; chunkData = NULL; Range range = offsetMgr.getNextOffset(); curFileOffset = range.offset; chunkDataSize = range.length; status = ReadyToFill; eof = false; curChunkOffset = 0; }
ChunkBuffer::ChunkBuffer(const S3Url& s3Url, S3KeyReader& reader, const S3MemoryContext& context) : s3Url(s3Url), chunkData(context), offsetMgr(reader.getOffsetMgr()), sharedKeyReader(reader) { s3Interface = NULL; Range range = offsetMgr.getNextOffset(); curFileOffset = range.offset; chunkDataSize = range.length; status = ReadyToFill; eof = false; curChunkOffset = 0; pthread_mutex_init(&this->statusMutex, NULL); pthread_cond_init(&this->statusCondVar, NULL); }