[thin_show_dups] variable_chunk_stream
This commit is contained in:
@@ -14,25 +14,36 @@ namespace thin_provisioning {
|
||||
block_address block_size,
|
||||
size_t cache_mem);
|
||||
|
||||
virtual block_address nr_chunks() const;
|
||||
block_address nr_chunks() const;
|
||||
|
||||
virtual void rewind();
|
||||
virtual bool advance(block_address count = 1ull);
|
||||
virtual block_address index() const;
|
||||
virtual chunk const &get() const;
|
||||
|
||||
virtual bool next(block_address count = 1ull);
|
||||
virtual bool eof() const;
|
||||
|
||||
virtual chunk const &get();
|
||||
virtual void put(chunk const &c);
|
||||
|
||||
private:
|
||||
void load(block_address b);
|
||||
struct chunk_wrapper {
|
||||
chunk_wrapper(cache_stream &parent);
|
||||
|
||||
block_cache::auto_block block_;
|
||||
chunk c_;
|
||||
};
|
||||
|
||||
friend class chunk_wrapper;
|
||||
|
||||
block_address block_size_;
|
||||
block_address nr_blocks_;
|
||||
block_address cache_blocks_;
|
||||
|
||||
int fd_;
|
||||
validator::ptr v_;
|
||||
std::auto_ptr<block_cache> cache_;
|
||||
|
||||
block_address current_index_;
|
||||
block_cache::auto_block current_block_;
|
||||
chunk current_chunk_;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user