MADARA  3.4.1
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 thread implementation's control plane variables. More...
 

Protected Attributes

madara::utility::ScopedArray< char > buffer_
 buffer for receiving More...
 
knowledge::ThreadSafeContextcontext_ = nullptr
 
knowledge::containers::Integer failed_receives_
 bad receives More...
 
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...
 
knowledge::containers::Integer received_data_
 received data More...
 
knowledge::containers::Integer received_data_max_
 max data received More...
 
knowledge::containers::Integer received_data_min_
 min data received More...
 
knowledge::containers::Integer received_packets_
 received packets 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

◆ UdpTransportReadThread()

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

Definition at line 12 of file UdpTransportReadThread.cpp.

Member Function Documentation

◆ cleanup()

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

Cleanup function called by thread manager.

Reimplemented from madara::threads::BaseThread.

Definition at line 72 of file UdpTransportReadThread.cpp.

◆ init()

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.

◆ init_control_vars()

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

Initializes the thread implementation's control plane variables.

Parameters
controlthe control plane between Threader and threads

Reimplemented in madara::threads::JavaThread.

Definition at line 78 of file BaseThread.h.

◆ rebroadcast()

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 74 of file UdpTransportReadThread.cpp.

◆ run()

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

The main loop internals for the read thread.

Implements madara::threads::BaseThread.

Definition at line 127 of file UdpTransportReadThread.cpp.

Member Data Documentation

◆ buffer_

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

buffer for receiving

Definition at line 72 of file UdpTransportReadThread.h.

◆ context_

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

Definition at line 64 of file UdpTransportReadThread.h.

◆ failed_receives_

knowledge::containers::Integer madara::transport::UdpTransportReadThread::failed_receives_
protected

bad receives

Definition at line 78 of file UdpTransportReadThread.h.

◆ name

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

The unique name of your thread.

Definition at line 90 of file BaseThread.h.

◆ on_data_received_

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

data received rules, defined in Transport settings

Definition at line 68 of file UdpTransportReadThread.h.

◆ paused

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

thread safe paused flag that may be set by the Threader

Definition at line 101 of file BaseThread.h.

◆ received_data_

knowledge::containers::Integer madara::transport::UdpTransportReadThread::received_data_
protected

received data

Definition at line 81 of file UdpTransportReadThread.h.

◆ received_data_max_

knowledge::containers::Integer madara::transport::UdpTransportReadThread::received_data_max_
protected

max data received

Definition at line 84 of file UdpTransportReadThread.h.

◆ received_data_min_

knowledge::containers::Integer madara::transport::UdpTransportReadThread::received_data_min_
protected

min data received

Definition at line 87 of file UdpTransportReadThread.h.

◆ received_packets_

knowledge::containers::Integer madara::transport::UdpTransportReadThread::received_packets_
protected

received packets

Definition at line 75 of file UdpTransportReadThread.h.

◆ terminated

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

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

Definition at line 96 of file BaseThread.h.

◆ transport_

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

Definition at line 62 of file UdpTransportReadThread.h.


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