17#ifndef INDEX_WRITE_TABLE_V201_V301_CLASS_HEADER
18#define INDEX_WRITE_TABLE_V201_V301_CLASS_HEADER
36 IndexTable(): index_table_offset(0), index_count(0), last_index(0), index_offset(0)
39 uint32_t index_table_offset;
42 timestamp_t last_index;
44 uint64_t index_offset;
47 struct MasterIndexTable :
public std::deque<ChunkRef>,
public IndexTable
51 MasterIndexTable _master_index;
53 struct StreamIndexTable :
public std::deque<StreamRef>,
public IndexTable
57 StreamIndexTable _stream_index_tables[max_indexed_streams + 1];
59 timestamp_t _index_delay;
66 void create(timestamp_t index_delay = 1000000);
112 uint64_t stream_index,
113 uint64_t chunk_index,
116 timestamp_t time_stamp,
124 void remove(uint64_t chunk_index, uint16_t stream_id);
148 bool requiresIndex(uint16_t stream_id, timestamp_t time_stamp, uint32_t flags, uint64_t file_pos)
const;
Definition indexwritetable_v201_v301.h:32
void remove(uint64_t chunk_index, uint16_t stream_id)
void create(timestamp_t index_delay=1000000)
bool requiresIndex(uint16_t stream_id, timestamp_t time_stamp, uint32_t flags, uint64_t file_pos) const
Checks if the item needs an index entry based on normal rules.
uint64_t getIndexTableOffset(uint16_t stream_id) const
uint16_t getMaxStreamId() const
uint64_t getIndexOffset(uint16_t stream_id) const
size_t getItemCount(uint16_t stream_id) const
void append(uint16_t stream_id, uint64_t stream_index, uint64_t chunk_index, uint64_t file_pos, uint32_t size, timestamp_t time_stamp, uint32_t flags)
uint64_t getBufferSize(uint16_t stream_id) const
void copyToBuffer(uint16_t stream_id, void *buffer) const
namespace for indexed file definitions in version 2.0, 2.1, 3.0 and 3.1
Definition indexedfile_types_v201_v301.h:28
namespace for IFHD File library
Definition indexedfile_types.h:30