mirror of
https://github.com/git/git.git
synced 2025-12-12 20:36:24 +01:00
reftable/reader: rename data structure to "table"
The `struct reftable_reader` subsystem encapsulates a table that has been read from the disk. As such, the current name of that structure is somewhat hard to understand as it only talks about the fact that we read something from disk, without really giving an indicator _what_ that is. Furthermore, this naming schema doesn't really fit well into how the other structures are named: `reftable_merged_table`, `reftable_stack`, `reftable_block` and `reftable_record` are all named after what they encapsulate. Rename the subsystem to `reftable_table`, which directly gives a hint that the data structure is about handling the individual tables part of the stack. While this change results in a lot of churn, it prepares for us exposing the APIs to third-party callers now that the reftable library is a standalone library that can be linked against by other projects. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
6dcc05ffc3
commit
b648bd6549
67
reftable/table.h
Normal file
67
reftable/table.h
Normal file
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
* Copyright 2020 Google LLC
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style
|
||||
* license that can be found in the LICENSE file or at
|
||||
* https://developers.google.com/open-source/licenses/bsd
|
||||
*/
|
||||
|
||||
#ifndef TABLE_H
|
||||
#define TABLE_H
|
||||
|
||||
#include "block.h"
|
||||
#include "record.h"
|
||||
#include "reftable-iterator.h"
|
||||
#include "reftable-table.h"
|
||||
|
||||
uint64_t block_source_size(struct reftable_block_source *source);
|
||||
|
||||
ssize_t block_source_read_block(struct reftable_block_source *source,
|
||||
struct reftable_block *dest, uint64_t off,
|
||||
uint32_t size);
|
||||
void block_source_close(struct reftable_block_source *source);
|
||||
|
||||
/* metadata for a block type */
|
||||
struct reftable_table_offsets {
|
||||
int is_present;
|
||||
uint64_t offset;
|
||||
uint64_t index_offset;
|
||||
};
|
||||
|
||||
/* The state for reading a reftable file. */
|
||||
struct reftable_table {
|
||||
/* for convenience, associate a name with the instance. */
|
||||
char *name;
|
||||
struct reftable_block_source source;
|
||||
|
||||
/* Size of the file, excluding the footer. */
|
||||
uint64_t size;
|
||||
|
||||
/* The hash function used for ref records. */
|
||||
enum reftable_hash hash_id;
|
||||
|
||||
uint32_t block_size;
|
||||
uint64_t min_update_index;
|
||||
uint64_t max_update_index;
|
||||
/* Length of the OID keys in the 'o' section */
|
||||
int object_id_len;
|
||||
int version;
|
||||
|
||||
struct reftable_table_offsets ref_offsets;
|
||||
struct reftable_table_offsets obj_offsets;
|
||||
struct reftable_table_offsets log_offsets;
|
||||
|
||||
uint64_t refcount;
|
||||
};
|
||||
|
||||
const char *reftable_table_name(struct reftable_table *t);
|
||||
|
||||
int table_init_iter(struct reftable_table *t,
|
||||
struct reftable_iterator *it,
|
||||
uint8_t typ);
|
||||
|
||||
/* initialize a block reader to read from `t` */
|
||||
int table_init_block_reader(struct reftable_table *t, struct block_reader *br,
|
||||
uint64_t next_off, uint8_t want_typ);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user