34 size_t const MemoryBlockNode::S_data_offset = (
sizeof(MemoryBlockNode) +
sizeof(
size_t) - 1) & ~(
sizeof(
size_t) - 1);
36 void MemoryBlockList::need_more_data_callback(
void)
43 M_buffer_full =
false;
44 M_slot_need_more_data();
47 void MemoryBlockListIterator::advance_to_next_block(
void)
51 Dout(dc::notice,
"Finished processing of block " << M_processed_blocks);
52 if (G_UNLIKELY(M_block->is_last_block()))
56 assert(M_buffer->closed());
59 Dout(dc::notice,
"Setting M_block to NULL.");
68 M_block = M_block->next();
69 M_ptr = M_block->block_begin();
70 M_block_end = M_block->block_end() - 1;
72 if (M_buffer->full() && M_buffer->appended_blocks() - M_processed_blocks <= MemoryBlockList::S_max_blocks / 2)
74 Dout(dc::notice,
"Requesting more data!");
75 M_buffer->need_more_data().emit();
84 while (!M_buffer->can_process_next_block(*
this))
101 M_buffer->wait_for_more_data(*
this);
This file contains the declaration of class MemoryBlockList.