12 #ifndef ROC_NODE_RECEIVER_DECODER_H_
13 #define ROC_NODE_RECEIVER_DECODER_H_
55 size_t* sess_metrics_size,
56 void* sess_metrics_arg);
#define ROC_ATTR_NODISCARD
Emit warning if function result is not checked.
Atomic integer. Provides sequential consistency. For a fine-grained memory order control,...
Process pending pipeline tasks on control thread.
Context & context()
All nodes hold reference to context.
ReceiverDecoder(Context &context, const pipeline::ReceiverConfig &pipeline_config)
Initialize.
bool activate(address::Interface iface, address::Protocol proto)
Activate interface.
bool is_valid()
Check if successfully constructed.
ROC_ATTR_NODISCARD status::StatusCode write(address::Interface iface, const packet::PacketPtr &packet)
Write packet for decoding.
sndio::ISource & source()
Source for reading decoded frames.
~ReceiverDecoder()
Deinitialize.
void(* sess_metrics_func_t)(const pipeline::ReceiverSessionMetrics &sess_metrics, size_t sess_index, void *sess_arg)
Callback for getting session metrics.
bool get_metrics(pipeline::ReceiverSlotMetrics &slot_metrics, sess_metrics_func_t sess_metrics_func, size_t *sess_metrics_size, void *sess_metrics_arg)
Get metrics.
Pipeline task scheduler interface. PipelineLoop uses this interface to schedule asynchronous work....
Base class for task-based pipelines.
struct SlotHandle * SlotHandle
Opaque slot handle.
Pipeline task scheduler interface.
@ Iface_Max
Number of interfaces.
int64_t nanoseconds_t
Nanoseconds.
Metrics of receiver session (connection from sender).
Metrics of receiver slot.