LibQuicR
Loading...
Searching...
No Matches
common.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) 2024 Cisco Systems
2// SPDX-License-Identifier: BSD-2-Clause
3
4#pragma once
5
6#include "detail/quic_transport.h"
7#include <string>
8
9namespace quicr {
10 namespace messages {
11 enum struct GroupOrder : uint8_t;
12 }
13
14 constexpr uint64_t kMoqtVersion = 0xff000008;
15
16 constexpr uint64_t kSubscribeExpires = 0;
17 constexpr int kReadLoopMaxPerStream = 60;
18
19 using namespace quicr;
20
21 using Byte = uint8_t;
22 using Bytes = std::vector<Byte>;
23 using BytesSpan = Span<const Byte>;
24 using ConnectionHandle = uint64_t;
25
32 {
33 uint8_t priority;
34 messages::GroupOrder group_order;
35 };
36
44
49 {
50 const std::string endpoint_id;
51 };
52
57 {
58 const uint64_t moqt_version;
59 const std::string server_id;
60 };
61
74
79 {
80 uint8_t priority;
81 messages::GroupOrder group_order;
82 uint64_t start_group;
83 uint64_t start_object;
84 uint64_t end_group;
85 uint64_t end_object;
86 };
87}
88// namespace quicr
Definition transport.h:26
std::vector< Byte > Bytes
Definition common.h:22
constexpr uint64_t kMoqtVersion
draft-ietf-quicr-transport-08
Definition common.h:14
constexpr uint64_t kSubscribeExpires
Never expires.
Definition common.h:16
Span< const Byte > BytesSpan
Definition common.h:23
uint64_t ConnectionHandle
Definition common.h:24
constexpr int kReadLoopMaxPerStream
Support packet/frame bursts, but do not allow starving other streams.
Definition common.h:17
PublishAnnounceStatus
Publish Announce Status.
Definition common.h:66
@ kSendingUnannounce
In this state, callbacks will not be called.
uint8_t Byte
Definition common.h:21
Client Setup Attributes.
Definition common.h:49
const std::string endpoint_id
Definition common.h:50
Fetch attributes.
Definition common.h:79
messages::GroupOrder group_order
Fetch group order.
Definition common.h:81
uint64_t start_group
Fetch starting group in range.
Definition common.h:82
uint64_t end_object
Fetch final object in group.
Definition common.h:85
uint64_t end_group
Fetch final group in range.
Definition common.h:84
uint64_t start_object
Fetch starting object in group.
Definition common.h:83
uint8_t priority
Fetch priority.
Definition common.h:80
Publish announce attributes.
Definition common.h:43
Server Setup Attributes.
Definition common.h:57
const std::string server_id
Definition common.h:59
const uint64_t moqt_version
Definition common.h:58
Subscribe attributes.
Definition common.h:32
messages::GroupOrder group_order
Subscriber group order.
Definition common.h:34
uint8_t priority
Subscriber priority.
Definition common.h:33