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