2#include "imr/mold/types.h"
10
11
12
13
18
19
20
21
22
40 std::size_t
size()
const noexcept;
48 alignas(64) std::atomic<
types::
header::SequenceNumber> write_seq_{0};
51 std::size_t index_for(
types::
header::SequenceNumber seq_num)
const noexcept;
Retransmission buffer of the last buffer_size messages.
Definition retransmission_buffer.h:15
void push(const MessageRecord &message_record) noexcept
Records a message's file position under its sequence number, overwriting the oldest entry if the buff...
std::optional< std::size_t > file_position_for(types::header::SequenceNumber seq_num) const noexcept
Returns the file position for seq_num, or std::nullopt if it's not currently in the buffer.
std::size_t size() const noexcept
Capacity of the buffer, in messages.
RetransmissionBuffer(std::size_t buffer_size)
Definition retransmission_buffer.h:26
std::size_t file_position
Definition retransmission_buffer.h:28
types::header::SequenceNumber sequence_number
Definition retransmission_buffer.h:27