Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
roc::netio::NetworkLoop::Tasks::AddUdpSenderPort Class Reference

Add UDP datagram sender port. More...

#include <network_loop.h>

Inheritance diagram for roc::netio::NetworkLoop::Tasks::AddUdpSenderPort:
Collaboration diagram for roc::netio::NetworkLoop::Tasks::AddUdpSenderPort:

Public Member Functions

 AddUdpSenderPort (UdpSenderConfig &config)
 Set task parameters. More...
 
PortHandle get_handle () const
 Get created port handle. More...
 
packet::IWriterget_writer () const
 Get created port writer;. More...
 
- Public Member Functions inherited from roc::netio::NetworkTask
bool success () const
 Check that the task finished and succeeded. More...
 
- Public Member Functions inherited from roc::core::MpscQueueNode
MpscQueueDatampsc_queue_data () const
 Get list node data. More...
 

Friends

class NetworkLoop
 

Additional Inherited Members

- Protected Types inherited from roc::netio::NetworkTask
enum  State {
  StateInitialized , StatePending , StateClosingPort , StateFinishing ,
  StateFinished
}
 Task state. More...
 
- Protected Attributes inherited from roc::netio::NetworkTask
void(NetworkLoop::* func_ )(NetworkTask &)
 Task implementation method. More...
 
core::Atomic< int > state_
 Task state, defines whether task is finished already. The task becomes immutable after setting state to Finished. More...
 
core::Atomic< int > success_
 Task result, defines wether finished task succeeded or failed. Makes sense only after setting state_ to Finished. This atomic should be assigned before setting state_ to Finished. More...
 
core::SharedPtr< BasicPortport_
 On which port the task operates. More...
 
void * port_handle_
 Port handle. More...
 
INetworkTaskCompletercompleter_
 Completion handler. More...
 
core::Optional< core::Semaphoresem_
 Completion semaphore. More...
 

Detailed Description

Add UDP datagram sender port.

Definition at line 84 of file network_loop.h.

Constructor & Destructor Documentation

◆ AddUdpSenderPort()

roc::netio::NetworkLoop::Tasks::AddUdpSenderPort::AddUdpSenderPort ( UdpSenderConfig config)

Set task parameters.

Remarks
Updates config with the actual bind address.

Member Function Documentation

◆ get_handle()

PortHandle roc::netio::NetworkLoop::Tasks::AddUdpSenderPort::get_handle ( ) const

Get created port handle.

Precondition
Should be called only if success() is true.

◆ get_writer()

packet::IWriter* roc::netio::NetworkLoop::Tasks::AddUdpSenderPort::get_writer ( ) const

Get created port writer;.

Remarks
The writer can be used to send packets from the port. It may be called from any thread. It will not block the caller.
Precondition
Should be called only if success() is true.

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