00001
00002
00003
00004
00005
00006
00007
00008 #ifndef OPENDDS_DCPS_SENDREPONSELISTENER_H
00009 #define OPENDDS_DCPS_SENDREPONSELISTENER_H
00010
00011 #include "dds/DCPS/dcps_export.h"
00012 #include "TransportSendListener.h"
00013 #include "dds/DCPS/MessageTracker.h"
00014 #include "dds/DCPS/PoolAllocator.h"
00015
00016 namespace OpenDDS {
00017 namespace DCPS {
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 class OpenDDS_Dcps_Export SendResponseListener
00029 : public TransportSendListener {
00030 public:
00031 SendResponseListener(const OPENDDS_STRING& msg_src);
00032 virtual ~SendResponseListener();
00033
00034 virtual void data_delivered(const DataSampleElement* sample);
00035 virtual void data_dropped(const DataSampleElement* sample,
00036 bool dropped_by_transport);
00037
00038 virtual void control_delivered(ACE_Message_Block* sample);
00039 virtual void control_dropped(ACE_Message_Block* sample,
00040 bool dropped_by_transport);
00041
00042 void notify_publication_disconnected(const ReaderIdSeq&) {}
00043 void notify_publication_reconnected(const ReaderIdSeq&) {}
00044 void notify_publication_lost(const ReaderIdSeq&) {}
00045 void notify_connection_deleted(const RepoId&) {}
00046 void remove_associations(const ReaderIdSeq&, bool) {}
00047
00048 void track_message();
00049 private:
00050 MessageTracker tracker_;
00051 };
00052
00053 }
00054 }
00055
00056 #endif