LibQuicR
quicr::messages::FetchObjectSerializationState Class Reference

Fetch data-plane (de)serializer. More...

#include <message_serialisation.h>

Public Member Functions

 FetchObjectSerializationState (GroupOrder group_order) noexcept
 
FetchObject Encode (const ObjectHeaders &headers, std::uint8_t priority, BytesSpan payload)
 
std::optional< ResolvedFetchObject > Decode (FetchObject &&object)
 

Detailed Description

Fetch data-plane (de)serializer.

Constructor & Destructor Documentation

◆ FetchObjectSerializationState()

quicr::messages::FetchObjectSerializationState::FetchObjectSerializationState ( GroupOrder  group_order)
inlineexplicitnoexcept
Parameters
group_orderDirection used to encode and resolve group deltas.

Member Function Documentation

◆ Decode()

std::optional<ResolvedFetchObject> quicr::messages::FetchObjectSerializationState::Decode ( FetchObject &&  object)

Resolves deltas relative to previously decoded objects.

Parameters
objectWire object whose payload and extensions are moved into the result.
Returns
Resolved object, or std::nullopt for an end-of-range marker.
Exceptions
ProtocolViolationExceptionfor missing prior state, missing required fields, or overflow/underflow.
Note
End markers update only prior group/object location; normal objects update all prior state.

◆ Encode()

FetchObject quicr::messages::FetchObjectSerializationState::Encode ( const ObjectHeaders &  headers,
std::uint8_t  priority,
BytesSpan  payload 
)

Delta-encodes an object relative to previously encoded objects.

Parameters
headersAbsolute object headers.
priorityEffective publisher priority.
payloadNon-owning payload view copied into the result.
Returns
Wire-level fetch object.
Exceptions
std::invalid_argumentwhen group/object ordering contradicts the configured order.
Note
Updates this encoder's prior-object state.

The documentation for this class was generated from the following file: