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#