const node_stage_t& read() const { return node_stage; }
laddr_t get_laddr() const { return extent->get_laddr(); }
+ extent_len_t get_length() const { return extent->get_length(); }
nextent_state_t get_state() const {
assert(!is_retired());
// we cannot rely on the underlying extent state because
if (!is_keys_empty()) {
STAGE_T::get_stats(node_stage, stats, index_key);
}
- stats.size_persistent = node_stage_t::EXTENT_SIZE;
+ stats.size_persistent = extent.get_length();
stats.size_filled = filled_size();
if constexpr (NODE_TYPE == node_type_t::INTERNAL) {
if (is_level_tail()) {
std::ostringstream sos;
sos << "Node" << NODE_TYPE << FIELD_TYPE
<< "@0x" << std::hex << extent.get_laddr()
- << "+" << node_stage_t::EXTENT_SIZE << std::dec
+ << "+" << extent.get_length() << std::dec
<< "Lv" << (unsigned)level()
<< (is_level_tail() ? "$" : "");
name = sos.str();
using num_keys_t = typename FieldType::num_keys_t;
static constexpr node_type_t NODE_TYPE = _NODE_TYPE;
static constexpr field_type_t FIELD_TYPE = FieldType::FIELD_TYPE;
- static constexpr node_offset_t EXTENT_SIZE =
- (FieldType::SIZE + DISK_BLOCK_SIZE - 1u) / DISK_BLOCK_SIZE * DISK_BLOCK_SIZE;
// TODO: remove
node_extent_t() = default;