12 #ifndef ROC_NODE_SENDER_ENCODER_H_
13 #define ROC_NODE_SENDER_ENCODER_H_
63 void* slot_metrics_arg,
65 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.
ROC_ATTR_NODISCARD bool activate(address::Interface iface, address::Protocol proto)
Activate interface.
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.
SenderEncoder(Context &context, const pipeline::SenderSinkConfig &pipeline_config)
Initialize.
ROC_ATTR_NODISCARD status::StatusCode read_packet(address::Interface iface, packet::PacketPtr &packet)
Read encoded packet.
sndio::ISink & sink()
Sink for writing frames for encoding.
bool is_valid() const
Check if successfully constructed.
void(* party_metrics_func_t)(const pipeline::SenderParticipantMetrics &party_metrics, size_t party_index, void *party_arg)
Callback for participant metrics.
void(* slot_metrics_func_t)(const pipeline::SenderSlotMetrics &slot_metrics, void *slot_arg)
Callback for slot metrics.
packet::PacketFactory & packet_factory()
Get packet factory.
ROC_ATTR_NODISCARD status::StatusCode write_packet(address::Interface iface, const packet::PacketPtr &packet)
Write packet for decoding.
bool is_complete()
Check if everything is connected.
~SenderEncoder()
Deinitialize.
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.
Optionally constructed object.
Sender-side metrics specific to one participant (remote receiver).
Parameters of sender sink and sender session.
Sender-side metrics of the whole slot.