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

Start sending on UDP port. More...

#include <network_loop.h>

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

Public Member Functions

 StartUdpSend (PortHandle handle)
 Set task parameters. More...
 
packet::IWriterget_outbound_writer () const
 Get created writer for outbound packets. 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< Tag >
MpscQueueDatampsc_queue_data () const
 Get pointer to internal data. More...
 

Friends

class NetworkLoop
 

Additional Inherited Members

- Static Public Member Functions inherited from roc::core::MpscQueueNode< Tag >
static MpscQueueNodempsc_queue_node (MpscQueueData *data)
 Get pointer to parent node from pointer to internal data. More...
 
- 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

Start sending on UDP port.

Definition at line 80 of file network_loop.h.

Constructor & Destructor Documentation

◆ StartUdpSend()

roc::netio::NetworkLoop::Tasks::StartUdpSend::StartUdpSend ( PortHandle  handle)

Set task parameters.

Remarks
get_outbound_writer() returns a writer for packets to be send. It may be used from another thread. It doesn't block the caller

Member Function Documentation

◆ get_outbound_writer()

packet::IWriter& roc::netio::NetworkLoop::Tasks::StartUdpSend::get_outbound_writer ( ) const

Get created writer for outbound packets.

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

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