chunk: file contents is now stored in a single, variable-length chunk
This commit is contained in:
@@ -16,11 +16,15 @@ struct chunk_table {
|
||||
b_btree tab_cache;
|
||||
|
||||
unsigned char *tab_cluster_buf;
|
||||
size_t tab_cluster_buf_pos;
|
||||
|
||||
size_t tab_next_cdat_cluster;
|
||||
|
||||
struct ec3_tag_ioctx *tab_ctab;
|
||||
struct ec3_tag_ioctx *tab_cdat;
|
||||
|
||||
b_hash_ctx tab_hash;
|
||||
size_t tab_first_chunk_cdat_cluster;
|
||||
};
|
||||
|
||||
extern enum ec3_status chunk_table_init(
|
||||
@@ -37,12 +41,20 @@ extern enum ec3_status chunk_table_get(
|
||||
void *out_data,
|
||||
size_t *out_len);
|
||||
|
||||
extern enum ec3_status chunk_table_begin_chunk(struct chunk_table *tab);
|
||||
extern enum ec3_status chunk_table_put(
|
||||
struct chunk_table *tab,
|
||||
const void *data,
|
||||
size_t len,
|
||||
ec3_chunk_id out_id);
|
||||
size_t len);
|
||||
extern enum ec3_status chunk_table_end_chunk(
|
||||
struct chunk_table *tab,
|
||||
ec3_chunk_id out_chunk_id);
|
||||
|
||||
extern size_t chunk_table_bytes_per_chunk(struct chunk_table *tab);
|
||||
|
||||
extern void ec3_chunk_id_to_string(
|
||||
const ec3_chunk_id id,
|
||||
char *out,
|
||||
size_t max);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user