Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::pipeline::SenderSlot Class Reference

Sender slot. More...

#include <sender_slot.h>

Inheritance diagram for roc::pipeline::SenderSlot:
Collaboration diagram for roc::pipeline::SenderSlot:

Public Member Functions

 SenderSlot (const SenderSinkConfig &sink_config, const SenderSlotConfig &slot_config, StateTracker &state_tracker, const rtp::EncodingMap &encoding_map, audio::Fanout &fanout, packet::PacketFactory &packet_factory, audio::FrameFactory &frame_factory, core::IArena &arena)
 Initialize. More...
 
bool is_valid () const
 Check if the slot was successfully constructed. More...
 
SenderEndpointadd_endpoint (address::Interface iface, address::Protocol proto, const address::SocketAddr &outbound_address, packet::IWriter &outbound_writer)
 Add endpoint. More...
 
core::nanoseconds_t refresh (core::nanoseconds_t current_time)
 Refresh pipeline according to current time. More...
 
void get_metrics (SenderSlotMetrics &slot_metrics, SenderParticipantMetrics *party_metrics, size_t *party_count) const
 Get metrics for slot and its participants. More...
 
- Public Member Functions inherited from roc::core::RefCounted< SenderSlot, core::ArenaAllocation >
 RefCounted ()
 Initialize. More...
 
 RefCounted (const core::ArenaAllocation &policy)
 Initialize. More...
 
int getref () const
 Get reference counter. More...
 
void incref () const
 Increment reference counter. More...
 
void decref () const
 Decrement reference counter. More...
 
- Public Member Functions inherited from roc::core::ListNode< Tag >
ListDatalist_data () const
 Get pointer to internal data. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from roc::core::ListNode< Tag >
static ListNodelist_node (ListData *data)
 Get pointer to parent node from pointer to internal data. More...
 
- Protected Member Functions inherited from roc::core::ArenaAllocation
IArenaarena () const
 Get arena. More...
 
 ArenaAllocation (IArena &arena)
 Initialize. More...
 
template<class T >
void destroy (T &object)
 Destroy object and return memory to arena. More...
 

Detailed Description

Sender slot.

Contains:

  • one or more related sender endpoints, one per each type
  • one session associated with those endpoints

Definition at line 38 of file sender_slot.h.

Constructor & Destructor Documentation

◆ SenderSlot()

roc::pipeline::SenderSlot::SenderSlot ( const SenderSinkConfig sink_config,
const SenderSlotConfig slot_config,
StateTracker state_tracker,
const rtp::EncodingMap encoding_map,
audio::Fanout fanout,
packet::PacketFactory packet_factory,
audio::FrameFactory frame_factory,
core::IArena arena 
)

Initialize.

Member Function Documentation

◆ add_endpoint()

SenderEndpoint* roc::pipeline::SenderSlot::add_endpoint ( address::Interface  iface,
address::Protocol  proto,
const address::SocketAddr outbound_address,
packet::IWriter outbound_writer 
)

Add endpoint.

◆ get_metrics()

void roc::pipeline::SenderSlot::get_metrics ( SenderSlotMetrics slot_metrics,
SenderParticipantMetrics party_metrics,
size_t *  party_count 
) const

Get metrics for slot and its participants.

◆ is_valid()

bool roc::pipeline::SenderSlot::is_valid ( ) const

Check if the slot was successfully constructed.

◆ refresh()

core::nanoseconds_t roc::pipeline::SenderSlot::refresh ( core::nanoseconds_t  current_time)

Refresh pipeline according to current time.

Returns
deadline (absolute time) when refresh should be invoked again if there are no frames

The documentation for this class was generated from the following file: