ReorderBuffer

struct ReorderBuffer

Public Functions

ReorderBuffer(ReorderBuffer const&) = delete
ReorderBuffer(ReorderBuffer&&) = default
virtual ~ReorderBuffer() = default
virtual void drain(Handler&, Receiver&) = 0
virtual void dispatch(Handler&, std::span<std::byte const> const &buffer) = 0
virtual std::pair<uint64_t, uint64_t> current_range() const = 0

Public Static Functions

static std::unique_ptr<ReorderBuffer> create(Options const&)
struct GetSequenceNumber

Public Members

std::span<std::byte const> payload
struct Handler

Public Functions

virtual uint64_t operator()(GetSequenceNumber const&) = 0
virtual void operator()(Parse const&) = 0
virtual void operator()(Reset const&) = 0
struct Options

Public Members

size_t depth = {}
size_t maximum_packet_size = {}
uint64_t maximum_sequence_number = {}
uint64_t minimum_sequence_number = {}
struct Parse

Public Members

std::span<std::byte const> payload
uint64_t sequence_number = {}
struct Reset