6#include <quicr/detail/messages.h>
26 messages::SubscriberPriority priority,
27 messages::GroupOrder group_order,
28 messages::GroupId start_group,
29 messages::GroupId end_group,
30 messages::GroupId start_object,
31 messages::GroupId end_object)
32 :
SubscribeTrackHandler(full_track_name, priority, group_order, messages::FilterType::kNextGroupStart)
33 , start_group_(start_group)
34 , start_object_(start_object)
35 , end_group_(end_group)
36 , end_object_(end_object)
55 messages::SubscriberPriority priority,
56 messages::GroupOrder group_order,
57 messages::GroupId start_group,
58 messages::GroupId end_group,
59 messages::GroupId start_object,
60 messages::GroupId end_object)
63 full_track_name, priority, group_order, start_group, end_group, start_object, end_object));
70 constexpr const messages::GroupId&
GetStartGroup() const noexcept {
return start_group_; }
76 constexpr const messages::GroupId&
GetEndGroup() const noexcept {
return end_group_; }
82 constexpr const messages::GroupId&
GetStartObject() const noexcept {
return start_object_; }
88 constexpr const messages::GroupId&
GetEndObject() const noexcept {
return end_object_; }
92 std::shared_ptr<
const std::vector<uint8_t>> data)
override;
95 messages::GroupId start_group_;
96 messages::GroupId start_object_;
97 messages::GroupId end_group_;
98 messages::GroupId end_object_;
constexpr const messages::GroupId & GetEndObject() const noexcept
Get the id of the object one past the end of the group range.
Definition fetch_track_handler.h:88
friend class Transport
Definition fetch_track_handler.h:100
friend class Client
Definition fetch_track_handler.h:101
FetchTrackHandler(const FullTrackName &full_track_name, messages::SubscriberPriority priority, messages::GroupOrder group_order, messages::GroupId start_group, messages::GroupId end_group, messages::GroupId start_object, messages::GroupId end_object)
Fetch track handler constructor.
Definition fetch_track_handler.h:25
constexpr const messages::GroupId & GetStartObject() const noexcept
Get the starting object id of the Group range.
Definition fetch_track_handler.h:82
constexpr const messages::GroupId & GetEndGroup() const noexcept
Get the id of the group one past the end of the Fetch range.
Definition fetch_track_handler.h:76
friend class Server
Definition fetch_track_handler.h:102
void StreamDataRecv(bool is_start, uint64_t stream_id, std::shared_ptr< const std::vector< uint8_t > > data) override
Notification of received stream data slice.
static std::shared_ptr< FetchTrackHandler > Create(const FullTrackName &full_track_name, messages::SubscriberPriority priority, messages::GroupOrder group_order, messages::GroupId start_group, messages::GroupId end_group, messages::GroupId start_object, messages::GroupId end_object)
Create shared Fetch track handler.
Definition fetch_track_handler.h:54
constexpr const messages::GroupId & GetStartGroup() const noexcept
Get the starting group id of the Fetch range.
Definition fetch_track_handler.h:70
SubscribeTrackHandler(const FullTrackName &full_track_name, messages::SubscriberPriority priority, messages::GroupOrder group_order, messages::FilterType filter_type, const std::optional< JoiningFetch > &joining_fetch=std::nullopt, bool publisher_initiated=false)
Subscribe track handler constructor.
Definition subscribe_track_handler.h:71
Definition transport.h:28
Full track name struct.
Definition track_name.h:260