MADARA  3.2.3
madara::transport::UdpTransportReadThread Class Reference

Thread for reading knowledge updates through a UDP socket. More...

#include <UdpTransportReadThread.h>

Inheritance diagram for madara::transport::UdpTransportReadThread:
madara::threads::BaseThread madara::transport::MulticastTransportReadThread

Public Member Functions

 UdpTransportReadThread (UdpTransport &transport)
 
void cleanup (void) override
 Cleanup function called by thread manager. More...
 
void init (knowledge::KnowledgeBase &knowledge) override
 Initializes MADARA context-related items. More...
 
void rebroadcast (const char *print_prefix, MessageHeader *header, const knowledge::KnowledgeMap &records)
 Sends a rebroadcast packet. More...
 
void run (void) override
 The main loop internals for the read thread. More...
 

Protected Member Functions

virtual void init_control_vars (knowledge::KnowledgeBase &control)
 Initializes the Java thread implementation's control plane variables. More...
 

Protected Attributes

madara::utility::ScopedArray< char > buffer_
 buffer for receiving More...
 
knowledge::ThreadSafeContextcontext_ = nullptr
 
std::string name
 The unique name of your thread. More...
 
madara::knowledge::CompiledExpression on_data_received_
 data received rules, defined in Transport settings More...
 
madara::knowledge::containers::Integer paused
 thread safe paused flag that may be set by the Threader More...
 
madara::knowledge::containers::Integer terminated
 thread safe terminated flag that may be set by the Threader base More...
 
UdpTransporttransport_
 

Detailed Description

Thread for reading knowledge updates through a UDP socket.

Definition at line 29 of file UdpTransportReadThread.h.

Constructor & Destructor Documentation

madara::transport::UdpTransportReadThread::UdpTransportReadThread ( UdpTransport transport)

Definition at line 10 of file UdpTransportReadThread.cpp.

Member Function Documentation

void madara::transport::UdpTransportReadThread::cleanup ( void  )
overridevirtual

Cleanup function called by thread manager.

Reimplemented from madara::threads::BaseThread.

Definition at line 59 of file UdpTransportReadThread.cpp.

void madara::transport::UdpTransportReadThread::init ( knowledge::KnowledgeBase knowledge)
overridevirtual

Initializes MADARA context-related items.

Parameters
knowledgecontext for querying current program state

Reimplemented from madara::threads::BaseThread.

Definition at line 17 of file UdpTransportReadThread.cpp.

virtual void madara::threads::BaseThread::init_control_vars ( knowledge::KnowledgeBase control)
inlineprotectedvirtualinherited

Initializes the Java thread implementation's control plane variables.

Parameters
controlthe control plane between Threader and threads

Reimplemented in madara::threads::JavaThread.

Definition at line 86 of file BaseThread.h.

void madara::transport::UdpTransportReadThread::rebroadcast ( const char *  print_prefix,
MessageHeader header,
const knowledge::KnowledgeMap records 
)

Sends a rebroadcast packet.

Parameters
print_prefixprefix to include before every log message, e.g., "MyTransport::svc"
headerheader for the rebroadcasted packet
recordsrecords to rebroadcast (already filtered for rebroadcast)

Definition at line 64 of file UdpTransportReadThread.cpp.

void madara::transport::UdpTransportReadThread::run ( void  )
overridevirtual

The main loop internals for the read thread.

Implements madara::threads::BaseThread.

Definition at line 96 of file UdpTransportReadThread.cpp.

Member Data Documentation

madara::utility::ScopedArray<char> madara::transport::UdpTransportReadThread::buffer_
protected

buffer for receiving

Definition at line 74 of file UdpTransportReadThread.h.

knowledge::ThreadSafeContext* madara::transport::UdpTransportReadThread::context_ = nullptr
protected

Definition at line 66 of file UdpTransportReadThread.h.

std::string madara::threads::BaseThread::name
protectedinherited

The unique name of your thread.

Definition at line 96 of file BaseThread.h.

madara::knowledge::CompiledExpression madara::transport::UdpTransportReadThread::on_data_received_
protected

data received rules, defined in Transport settings

Definition at line 70 of file UdpTransportReadThread.h.

madara::knowledge::containers::Integer madara::threads::BaseThread::paused
protectedinherited

thread safe paused flag that may be set by the Threader

Definition at line 107 of file BaseThread.h.

madara::knowledge::containers::Integer madara::threads::BaseThread::terminated
protectedinherited

thread safe terminated flag that may be set by the Threader base

Definition at line 102 of file BaseThread.h.

UdpTransport& madara::transport::UdpTransportReadThread::transport_
protected

Definition at line 64 of file UdpTransportReadThread.h.


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