MADARA  3.2.3
NddsTransport.h
Go to the documentation of this file.
1 #ifndef _NDDS_TRANSPORT_H_
2 #define _NDDS_TRANSPORT_H_
3 
4 #include <string>
5 
8 #include <ndds/ndds_cpp.h>
9 #include "madara/transport/ndds/Ndds_Knowledge_Update.h"
10 #include "madara/transport/ndds/Ndds_Knowledge_UpdateSupport.h"
12 
13 namespace madara
14 {
15  namespace transport
16  {
22  class NddsTransport : public Base
23  {
24  public:
25 
33  NddsTransport (const std::string & id,
35  TransportSettings & config, bool launch_transport);
36 
40  ~NddsTransport ();
41 
47  long send_data (const knowledge::VariableReferenceMap & updates) override;
48 
53  int reliability (void) const;
54 
59  int reliability (const int & setting);
60 
64  void close (void);
65 
71  int setup (void);
72  protected:
73  private:
74 
75  const static char * topic_names_[];
76  const static char * partition_;
77 
78  // NDDS variables
79  DDSDomainParticipant * domain_participant_;
80  DDSPublisher * publisher_;
81  DDSSubscriber * subscriber_;
82  DDSTopic * update_topic_;
83  DDSDataReader * data_reader_;
84  DDSDataWriter * data_writer_;
85  Ndds_Knowledge_UpdateDataWriter * update_writer_;
87 
88  };
89  }
90 }
91 
92 #endif
int reliability(void) const
Accesses reliability setting.
Container for NDDS callbacks.
Definition: NddsListener.h:23
This class stores variables and their values for use by any entity needing state information in a thr...
static const char * partition_
Definition: NddsTransport.h:76
Holds basic transport settings.
long send_data(const knowledge::VariableReferenceMap &updates) override
Sends a list of knowledge updates to listeners.
DDSDomainParticipant * domain_participant_
Definition: NddsTransport.h:79
NddsTransport(const std::string &id, knowledge::ThreadSafeContext &context, TransportSettings &config, bool launch_transport)
Constructor.
Ndds_Knowledge_UpdateDataWriter * update_writer_
Definition: NddsTransport.h:85
static struct madara::knowledge::tags::string_t string
This class provides an interface into the NDDS dissemination transport.
Definition: NddsTransport.h:22
std::map< const char *, VariableReference, VariableReferenceMapCompare > VariableReferenceMap
a map of variable references
int setup(void)
Activates this transport.
void close(void)
Closes this transport.
Copyright (c) 2015 Carnegie Mellon University.
Base class from which all transports must be derived.
Definition: Transport.h:45
static const char * topic_names_[]
Definition: NddsTransport.h:75