1 #ifndef _MADARA_NDDS_LISTENER_H_ 2 #define _MADARA_NDDS_LISTENER_H_ 10 #include <ndds/ndds_cpp.h> 12 #include "madara/transport/ndds/Ndds_Knowledge_Update.h" 13 #include "madara/transport/ndds/Ndds_Knowledge_UpdateSupport.h" 59 const DDS_SubscriptionMatchedStatus & status);
70 const char * print_prefix,
108 #endif // _MADARA_NDDS_LISTENER_H_ knowledge::ThreadSafeContext * context_
void rebroadcast(const char *print_prefix, MessageHeader *header, const knowledge::KnowledgeMap &records)
Sends a rebroadcast packet.
Container for NDDS callbacks.
This class stores variables and their values for use by any entity needing state information in a thr...
Provides scheduler for dropping packets.
knowledge::CompiledExpression on_data_received_
data received rules, defined in Transport settings
Holds basic transport settings.
BandwidthMonitor & send_monitor_
monitor for sending bandwidth usage
Compiled, optimized KaRL logic.
~NddsListener()
Destructor.
BandwidthMonitor & receive_monitor_
monitor for receiving bandwidth usage
void on_subscription_matched(DDSDataReader *reader, const DDS_SubscriptionMatchedStatus &status)
Handles the case where a subscription has been matched.
::std::map< std::string, KnowledgeRecord > KnowledgeMap
const QoSTransportSettings settings_
Transport settings.
NddsListener(const TransportSettings &settings, const std::string &id, knowledge::ThreadSafeContext &context, BandwidthMonitor &send_monitor, BandwidthMonitor &receive_monitor, PacketScheduler &packet_scheduler)
Constructor.
PacketScheduler & packet_scheduler_
scheduler for mimicking target network conditions
Container for quality-of-service settings.
Provides monitoring capability of a transport's bandwidth.
Copyright (c) 2015 Carnegie Mellon University.
void on_data_available(DDSDataReader *reader)
Handles the case that data has become available.
utility::ScopedArray< char > buffer_
buffer for receiving