MADARA
3.2.3
|
Container for NDDS callbacks. More...
#include <NddsListener.h>
Public Member Functions | |
NddsListener (const TransportSettings &settings, const std::string &id, knowledge::ThreadSafeContext &context, BandwidthMonitor &send_monitor, BandwidthMonitor &receive_monitor, PacketScheduler &packet_scheduler) | |
Constructor. More... | |
NddsListener (const NddsListener &ref) | |
Copy constructor. More... | |
~NddsListener () | |
Destructor. More... | |
void | on_data_available (DDSDataReader *reader) |
Handles the case that data has become available. More... | |
void | on_subscription_matched (DDSDataReader *reader, const DDS_SubscriptionMatchedStatus &status) |
Handles the case where a subscription has been matched. More... | |
void | rebroadcast (const char *print_prefix, MessageHeader *header, const knowledge::KnowledgeMap &records) |
Sends a rebroadcast packet. More... | |
Private Attributes | |
utility::ScopedArray< char > | buffer_ |
buffer for receiving More... | |
knowledge::ThreadSafeContext * | context_ |
const std::string | id_ |
knowledge::CompiledExpression | on_data_received_ |
data received rules, defined in Transport settings More... | |
PacketScheduler & | packet_scheduler_ |
scheduler for mimicking target network conditions More... | |
BandwidthMonitor & | receive_monitor_ |
monitor for receiving bandwidth usage More... | |
BandwidthMonitor & | send_monitor_ |
monitor for sending bandwidth usage More... | |
const QoSTransportSettings | settings_ |
Transport settings. More... | |
Container for NDDS callbacks.
Definition at line 23 of file NddsListener.h.
madara::transport::NddsListener::NddsListener | ( | const TransportSettings & | settings, |
const std::string & | id, | ||
knowledge::ThreadSafeContext & | context, | ||
BandwidthMonitor & | send_monitor, | ||
BandwidthMonitor & | receive_monitor, | ||
PacketScheduler & | packet_scheduler | ||
) |
Constructor.
settings | Transport settings |
id | unique identifier of this entity (e.g., host:port) |
context | the knowledge context to access and mutate |
send_monitor | bandwidth monitor for enforcing send limits |
receive_monitor | bandwidth monitor for enforcing receive limits |
packet_scheduler | scheduler for mimicking network conditions |
Definition at line 10 of file NddsListener.cpp.
madara::transport::NddsListener::NddsListener | ( | const NddsListener & | ref | ) |
Copy constructor.
Definition at line 43 of file NddsListener.cpp.
madara::transport::NddsListener::~NddsListener | ( | ) |
Destructor.
Definition at line 50 of file NddsListener.cpp.
void madara::transport::NddsListener::on_data_available | ( | DDSDataReader * | reader | ) |
Handles the case that data has become available.
reader | the DDS data reader to read from |
Definition at line 94 of file NddsListener.cpp.
void madara::transport::NddsListener::on_subscription_matched | ( | DDSDataReader * | reader, |
const DDS_SubscriptionMatchedStatus & | status | ||
) |
Handles the case where a subscription has been matched.
reader | the DDS data reader to read from |
status | the status of the matched subscription |
Definition at line 54 of file NddsListener.cpp.
void madara::transport::NddsListener::rebroadcast | ( | const char * | print_prefix, |
MessageHeader * | header, | ||
const knowledge::KnowledgeMap & | records | ||
) |
Sends a rebroadcast packet.
print_prefix | prefix to include before every log message, e.g., "MyTransport::svc" |
header | header for the rebroadcasted packet |
records | records to rebroadcast (already filtered for rebroadcast) |
Definition at line 61 of file NddsListener.cpp.
|
private |
buffer for receiving
Definition at line 94 of file NddsListener.h.
|
private |
Definition at line 88 of file NddsListener.h.
|
private |
Definition at line 85 of file NddsListener.h.
|
private |
data received rules, defined in Transport settings
Definition at line 91 of file NddsListener.h.
|
private |
scheduler for mimicking target network conditions
Definition at line 103 of file NddsListener.h.
|
private |
monitor for receiving bandwidth usage
Definition at line 100 of file NddsListener.h.
|
private |
monitor for sending bandwidth usage
Definition at line 97 of file NddsListener.h.
|
private |
Transport settings.
Definition at line 82 of file NddsListener.h.