Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
endpoint_helpers.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019 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/endpoint_helpers.h
10 //! @brief Validate endpoint protocols consistency.
11 
12 #ifndef ROC_PIPELINE_ENDPOINT_HELPERS_H_
13 #define ROC_PIPELINE_ENDPOINT_HELPERS_H_
14 
15 #include "roc_address/interface.h"
16 #include "roc_address/protocol.h"
17 #include "roc_packet/fec.h"
18 
19 namespace roc {
20 namespace pipeline {
21 
22 //! Validate endpoint type and protocol.
24 
25 //! Validate consistency of the endpoint and the pipeline FEC scheme.
27  address::Interface iface,
28  address::Protocol proto);
29 
30 //! Validate consistency of the two endpoints.
32  address::Protocol repair_proto);
33 
34 } // namespace pipeline
35 } // namespace roc
36 
37 #endif // ROC_PIPELINE_ENDPOINT_HELPERS_H_
FEC packet.
Interface ID.
Interface
Interface ID.
Definition: interface.h:19
Protocol
Protocol ID.
Definition: protocol.h:19
FecScheme
FECFRAME scheme.
Definition: fec.h:23
bool validate_endpoint(address::Interface iface, address::Protocol proto)
Validate endpoint type and protocol.
bool validate_endpoint_and_pipeline_consistency(packet::FecScheme pipeline_fec_scheme, address::Interface iface, address::Protocol proto)
Validate consistency of the endpoint and the pipeline FEC scheme.
bool validate_endpoint_pair_consistency(address::Protocol source_proto, address::Protocol repair_proto)
Validate consistency of the two endpoints.
Root namespace.
Protocol ID.