LibQuicR
message_serialisation.h File Reference
#include "quicr/containers/stream_buffer.h"
#include "quicr/messages/ctrl_message_types.h"
#include "quicr/messages/object.h"
#include "quicr/track_name.h"
#include <map>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  quicr::messages::StreamHeaderProperties
 
struct  quicr::messages::DatagramHeaderProperties
 
struct  quicr::messages::FetchHeader
 Header opening a fetch data stream. More...
 
struct  quicr::messages::FetchSerializationProperties
 Fetch data-plane serialization flag. More...
 
struct  quicr::messages::FetchObject
 One wire-level object or end-of-range marker on a fetch stream. More...
 
struct  quicr::messages::ResolvedFetchObject
 Fetch object after stateful delta resolution. More...
 
class  quicr::messages::FetchObjectSerializationState
 Fetch data-plane (de)serializer. More...
 
struct  quicr::messages::ObjectDatagram
 Payload-bearing object datagram. More...
 
struct  quicr::messages::ObjectDatagramStatus
 Object-status datagram without payload. More...
 
struct  quicr::messages::StreamHeaderSubGroup
 Header opening a subgroup object stream. More...
 
struct  quicr::messages::StreamSubGroupObject
 One object record carried after a StreamHeaderSubGroup. More...
 

Namespaces

 quicr
 
 quicr::messages
 

Enumerations

enum class  quicr::messages::DatagramHeaderType : uint8_t {
  quicr::messages::kNotEndOfGroupNoExtensionsObjectId = 0x00 , quicr::messages::kNotEndOfGroupWithExtensionsObjectId = 0x01 , quicr::messages::kEndOfGroupNoExtensionsObjectId = 0x02 , quicr::messages::kEndOfGroupWithExtensionsObjectId = 0x03 ,
  quicr::messages::kNotEndOfGroupNoExtensionsNoObjectId = 0x04 , quicr::messages::kNotEndOfGroupWithExtensionsNoObjectId = 0x05 , quicr::messages::kEndOfGroupNoExtensionsNoObjectId = 0x06 , quicr::messages::kEndOfGroupWithExtensionsNoObjectId = 0x07
}
 
enum class  quicr::messages::DatagramStatusType : uint8_t { quicr::messages::kNoExtensions = 0x20 , quicr::messages::kWithExtensions = 0x21 }
 
enum class  quicr::messages::FetchHeaderType : uint8_t { quicr::messages::kFetchHeader = 0x05 }
 
enum class  quicr::messages::SubgroupIdType : std::uint8_t { quicr::messages::kIsZero = 0b00 , quicr::messages::kSetFromFirstObject = 0b01 , quicr::messages::kExplicit = 0b10 , quicr::messages::kReserved = 0b11 }
 
enum class  quicr::messages::StreamMessageType { quicr::messages::kFetchHeader , quicr::messages::kSubgroupHeader }
 

Functions

Bytes & quicr::messages::operator<< (Bytes &buffer, const std::optional< Extensions > &extensions)
 
Bytes & quicr::messages::operator<< (Bytes &buffer, const Extensions &extensions)
 
BytesSpan quicr::messages::operator>> (BytesSpan buffer, Extensions &extensions)
 
void quicr::messages::SerializeExtensions (Bytes &buffer, const std::optional< Extensions > &extensions, const std::optional< Extensions > &immutable_extensions)
 
template<class StreamBufferType >
bool quicr::messages::ParseExtensions (StreamBufferType &buffer, std::optional< std::size_t > &extension_headers_length, std::optional< Extensions > &extensions, std::optional< Extensions > &immutable_extensions, std::size_t &extension_bytes_remaining, std::optional< std::uint64_t > &current_header, std::uint64_t &prev_extension_type)
 
BytesSpan quicr::messages::operator>> (BytesSpan buffer, FetchHeader &msg)
 
Bytes & quicr::messages::operator<< (Bytes &buffer, const FetchHeader &msg)
 
bool quicr::messages::operator>> (Bytes &buffer, FetchObject &msg)
 
Bytes & quicr::messages::operator<< (Bytes &buffer, const FetchObject &msg)
 
Bytes & quicr::messages::operator<< (Bytes &buffer, const ObjectDatagram &msg)
 
Bytes & quicr::messages::operator<< (Bytes &buffer, const ObjectDatagramStatus &msg)
 
bool quicr::messages::operator>> (Bytes &buffer, StreamHeaderSubGroup &msg)
 
Bytes & quicr::messages::operator<< (Bytes &buffer, const StreamHeaderSubGroup &msg)
 
bool quicr::messages::operator>> (Bytes &buffer, StreamSubGroupObject &msg)
 
Bytes & quicr::messages::operator<< (Bytes &buffer, const StreamSubGroupObject &msg)