Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
Toggle main menu visibility
Loading...
Searching...
No Matches
metrics.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2023 Roc Streaming authors
3
*
4
* This Source Code Form is subject to the terms of the Mozilla Public
5
* License, v. 2.0. If a copy of the MPL was not distributed with this
6
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
7
*/
8
9
//! @file roc_pipeline/metrics.h
10
//! @brief Pipeline metrics.
11
12
#ifndef ROC_PIPELINE_METRICS_H_
13
#define ROC_PIPELINE_METRICS_H_
14
15
#include "
roc_audio/latency_tuner.h
"
16
#include "
roc_core/stddefs.h
"
17
#include "
roc_packet/ilink_meter.h
"
18
#include "
roc_packet/units.h
"
19
20
namespace
roc
{
21
namespace
pipeline
{
22
23
//! Sender-side metrics specific to one participant (remote receiver).
24
struct
SenderParticipantMetrics {
25
//! Link metrics.
26
packet::LinkMetrics
link
;
27
28
//! Latency metrics.
29
audio::LatencyMetrics
latency
;
30
31
SenderParticipantMetrics() {
32
}
33
};
34
35
//! Sender-side metrics of the whole slot.
36
struct
SenderSlotMetrics {
37
//! Slot source ID.
38
packet::stream_source_t
source_id
;
39
40
//! Number of participants (remote receivers) connected to slot.
41
size_t
num_participants
;
42
43
//! Is slot configuration complete (all endpoints bound).
44
bool
is_complete
;
45
46
SenderSlotMetrics()
47
:
source_id
(0)
48
,
num_participants
(0)
49
,
is_complete
(false) {
50
}
51
};
52
53
//! Receiver-side metrics specific to one participant (remote sender).
54
struct
ReceiverParticipantMetrics {
55
//! Link metrics.
56
packet::LinkMetrics
link
;
57
58
//! Latency metrics.
59
audio::LatencyMetrics
latency
;
60
61
ReceiverParticipantMetrics() {
62
}
63
};
64
65
//! Receiver-side metrics of the whole slot.
66
struct
ReceiverSlotMetrics {
67
//! Slot source ID.
68
packet::stream_source_t
source_id
;
69
70
//! Number of participants (remote senders) connected to slot.
71
size_t
num_participants
;
72
73
ReceiverSlotMetrics()
74
:
source_id
(0)
75
,
num_participants
(0) {
76
}
77
};
78
79
}
// namespace pipeline
80
}
// namespace roc
81
82
#endif
// ROC_PIPELINE_METRICS_H_
ilink_meter.h
Link meter interface.
latency_tuner.h
Latency tuner.
roc::packet::stream_source_t
uint32_t stream_source_t
Packet stream identifier.
Definition
units.h:27
roc::pipeline
Sender and receiver processing pipelines.
roc
Root namespace.
stddefs.h
Commonly used types and functions.
roc::audio::LatencyMetrics
Latency-related metrics.
Definition
latency_tuner.h:133
roc::packet::LinkMetrics
Link metrics.
Definition
ilink_meter.h:23
roc::pipeline::ReceiverParticipantMetrics::link
packet::LinkMetrics link
Link metrics.
Definition
metrics.h:56
roc::pipeline::ReceiverParticipantMetrics::latency
audio::LatencyMetrics latency
Latency metrics.
Definition
metrics.h:59
roc::pipeline::ReceiverSlotMetrics::source_id
packet::stream_source_t source_id
Slot source ID.
Definition
metrics.h:68
roc::pipeline::ReceiverSlotMetrics::num_participants
size_t num_participants
Number of participants (remote senders) connected to slot.
Definition
metrics.h:71
roc::pipeline::SenderParticipantMetrics::link
packet::LinkMetrics link
Link metrics.
Definition
metrics.h:26
roc::pipeline::SenderParticipantMetrics::latency
audio::LatencyMetrics latency
Latency metrics.
Definition
metrics.h:29
roc::pipeline::SenderSlotMetrics::num_participants
size_t num_participants
Number of participants (remote receivers) connected to slot.
Definition
metrics.h:41
roc::pipeline::SenderSlotMetrics::source_id
packet::stream_source_t source_id
Slot source ID.
Definition
metrics.h:38
roc::pipeline::SenderSlotMetrics::is_complete
bool is_complete
Is slot configuration complete (all endpoints bound).
Definition
metrics.h:44
units.h
Various units used in packets.
roc_pipeline
metrics.h
Generated by
1.17.0