12#ifndef ROC_PEER_SENDER_H_
13#define ROC_PEER_SENDER_H_
81 Slot* get_slot_(
size_t slot_index);
84 bool setup_outgoing_port_(Port& port,
88 virtual void schedule_task_processing(pipeline::PipelineLoop&,
90 virtual void cancel_task_processing(pipeline::PipelineLoop&);
94 rtp::FormatMap format_map_;
96 pipeline::SenderLoop pipeline_;
97 ctl::ControlLoop::Tasks::PipelineProcessing processing_task_;
99 core::Array<Slot, 8> slots_;
struct PortHandle * PortHandle
Opaque port handle.
Context & context()
Peer's context.
bool connect(size_t slot_index, address::Interface iface, const address::EndpointUri &uri)
Connect peer to remote endpoint.
bool valid() const
Check if successfully constructed.
bool set_outgoing_address(size_t slot_index, address::Interface iface, const char *ip)
Set outgoing interface address.
Sender(Context &context, const pipeline::SenderConfig &pipeline_config)
Initialize.
sndio::ISink & sink()
Get sender sink.y.
bool is_ready()
Check if all necessary bind and connect calls were made.
Pipeline task scheduler interface. PipelineLoop uses this interface to schedule asynchronous work....
struct SlotHandle * SlotHandle
Opaque slot handle.
Pipeline task scheduler interface.
@ Iface_Max
Number of interfaces.
AddrFamily
Address family.
int64_t nanoseconds_t
Nanoseconds.