MADARA  3.1.8
SpliceSubscriberListener.h
Go to the documentation of this file.
1 #ifndef _SPLICE_SUBSCRIBER_LISTENER_H_
2 #define _SPLICE_SUBSCRIBER_LISTENER_H_
3 
4 #include <string>
5 
8 
9 #include "ccpp_dds_dcps.h"
10 #include "madara/transport/splice/ccpp_SpliceKnowledgeUpdate.h"
11 
12 #include "ace/Task.h"
13 #include "ace/Mutex.h"
14 #include "ace/Barrier.h"
15 #include "ace/Atomic_Op_T.h"
16 #include "ace/Thread_Mutex.h"
17 
18 #include "ace/Synch.h"
19 
20 namespace madara
21 {
22  namespace transport
23  {
28  class SpliceSubscriberListener: public DDS::SubscriberListener
29  {
30  public:
33 
35 
37 
38  void handle_assignment (Knowledge::Update & data);
39  void handle_multiassignment (Knowledge::Update & data);
40 
41  public:
45  void on_requested_deadline_missed (DDS::DataReader_ptr,
46  const DDS::RequestedDeadlineMissedStatus & status);
47 
51  void on_requested_incompatible_qos (DDS::DataReader_ptr,
52  const DDS::RequestedIncompatibleQosStatus & status);
53 
57  void on_sample_rejected (DDS::DataReader_ptr,
58  const DDS::SampleRejectedStatus & status);
59 
63  void on_liveliness_changed (DDS::DataReader_ptr,
64  const DDS::LivelinessChangedStatus & status);
65 
69  void on_sample_lost (DDS::DataReader_ptr,
70  const DDS::SampleLostStatus & status);
71 
75  void on_subscription_matched (DDS::DataReader_ptr reader,
76  const DDS::SubscriptionMatchedStatus & status);
77 
81  void on_data_available (DDS::DataReader_ptr reader);
82 
86  void on_data_on_readers (DDS::Subscriber_ptr sub);
87 
88  private:
89 
90  // NDDS variables
93 
94  }; // End of class NDDSListener
95  }
96 }
97 
98 #endif // _SPLICE_SUBSCRIBER_LISTENER_H_
void on_requested_incompatible_qos(DDS::DataReader_ptr, const DDS::RequestedIncompatibleQosStatus &status)
DDS callback for incompatible qos.
This class stores variables and their values for use by any entity needing state information in a thr...
SpliceSubscriberListener(const std::string &id, knowledge::ThreadSafeContext &context)
void on_sample_lost(DDS::DataReader_ptr, const DDS::SampleLostStatus &status)
DDS callback for sample lost.
Container for subscriber callbacks (deprecated and unused)
void on_data_available(DDS::DataReader_ptr reader)
DDS callback for new data being available.
void on_sample_rejected(DDS::DataReader_ptr, const DDS::SampleRejectedStatus &status)
DDS callback for sample rejected.
void handle_assignment(Knowledge::Update &data)
static constexpr struct madara::knowledge::tags::string_t string
void handle_multiassignment(Knowledge::Update &data)
void on_data_on_readers(DDS::Subscriber_ptr sub)
DDS callback for reader status changes (including new data)
void on_liveliness_changed(DDS::DataReader_ptr, const DDS::LivelinessChangedStatus &status)
DDS callback for sample rejected.
void on_requested_deadline_missed(DDS::DataReader_ptr, const DDS::RequestedDeadlineMissedStatus &status)
DDS callback for deadline being missed.
Copyright (c) 2015 Carnegie Mellon University.
void on_subscription_matched(DDS::DataReader_ptr reader, const DDS::SubscriptionMatchedStatus &status)
DDS callback for subscription matched.