12 #ifndef ROC_NODE_SENDER_H_
13 #define ROC_NODE_SENDER_H_
100 : core::RefCounted<Slot, core::PoolAllocation>(pool)
115 return index1 == index2;
120 void update_compatibility_(
address::Interface iface,
const address::EndpointUri& uri);
122 core::SharedPtr<Slot> get_slot_(
slot_index_t slot_index,
bool auto_create);
123 void cleanup_slot_(Slot& slot);
124 void break_slot_(Slot& slot);
128 bool setup_outgoing_port_(Port& port,
132 virtual void schedule_task_processing(pipeline::PipelineLoop&,
134 virtual void cancel_task_processing(pipeline::PipelineLoop&);
138 pipeline::SenderLoop pipeline_;
139 ctl::ControlLoop::Tasks::PipelineProcessing processing_task_;
141 core::SlabPool<Slot> slot_pool_;
142 core::Hashmap<Slot> slot_map_;
Base class for hashmap element.
Base class for object with reference counter.
struct PortHandle * PortHandle
Opaque port handle.
Context & context()
All nodes hold reference to context.
bool is_valid() const
Check if successfully constructed.
bool has_broken()
Check if there are broken slots.
bool get_metrics(slot_index_t slot_index, pipeline::SenderSlotMetrics &slot_metrics, pipeline::SenderSessionMetrics &sess_metrics)
Get slot metrics.
bool has_incomplete()
Check if there are incomplete or broken slots.
uint64_t slot_index_t
Slot index.
sndio::ISink & sink()
Get sender sink.
bool unlink(slot_index_t slot_index)
Remove slot.
bool connect(slot_index_t slot_index, address::Interface iface, const address::EndpointUri &uri)
Connect to remote endpoint.
Sender(Context &context, const pipeline::SenderConfig &pipeline_config)
Initialize.
bool configure(slot_index_t slot_index, address::Interface iface, const netio::UdpSenderConfig &config)
Set interface config.
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.
hashsum_t hashsum_int(int16_t)
Compute hash of 16-bit integer.
int64_t nanoseconds_t
Nanoseconds.
size_t hashsum_t
Hash type.
Base class for object with reference counter.
Commonly used types and functions.
Metrics of sender session (connection to receiver).