12 #ifndef ROC_NODE_RECEIVER_DECODER_H_
13 #define ROC_NODE_RECEIVER_DECODER_H_
61 void* slot_metrics_arg,
63 void* party_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,...
Optionally constructed object.
Process pending pipeline tasks on control thread.
Context & context()
All nodes hold reference to context.
void(* slot_metrics_func_t)(const pipeline::ReceiverSlotMetrics &slot_metrics, void *slot_arg)
Callback for slot metrics.
bool is_valid()
Check if successfully constructed.
ROC_ATTR_NODISCARD bool get_metrics(slot_metrics_func_t slot_metrics_func, void *slot_metrics_arg, party_metrics_func_t party_metrics_func, void *party_metrics_arg)
Get metrics.
packet::PacketFactory & packet_factory()
Get packet factory.
ReceiverDecoder(Context &context, const pipeline::ReceiverSourceConfig &pipeline_config)
Initialize.
ROC_ATTR_NODISCARD bool activate(address::Interface iface, address::Protocol proto)
Activate interface.
sndio::ISource & source()
Source for reading decoded frames.
~ReceiverDecoder()
Deinitialize.
ROC_ATTR_NODISCARD status::StatusCode write_packet(address::Interface iface, const packet::PacketPtr &packet)
Write packet for decoding.
ROC_ATTR_NODISCARD status::StatusCode read_packet(address::Interface iface, packet::PacketPtr &packet)
Read encoded packet.
void(* party_metrics_func_t)(const pipeline::ReceiverParticipantMetrics &party_metrics, size_t party_index, void *party_arg)
Callback for participant 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.
Concurrent blocking packet queue.
Pipeline task scheduler interface.
@ Iface_Max
Number of interfaces.
int64_t nanoseconds_t
Nanoseconds.
Receiver-side metrics specific to one participant (remote sender).
Receiver-side metrics of the whole slot.
Parameters of receiver session.