summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Notify/Peer.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Notify/Peer.h')
-rw-r--r--TAO/orbsvcs/orbsvcs/Notify/Peer.h58
1 files changed, 24 insertions, 34 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Notify/Peer.h b/TAO/orbsvcs/orbsvcs/Notify/Peer.h
index 23d1844bf03..13dd08e5ab2 100644
--- a/TAO/orbsvcs/orbsvcs/Notify/Peer.h
+++ b/TAO/orbsvcs/orbsvcs/Notify/Peer.h
@@ -21,7 +21,10 @@
#include "orbsvcs/CosNotificationC.h"
#include "EventTypeSeq.h"
-#include "Types.h"
+
+class TAO_NS_Proxy;
+class TAO_NS_QoSProperties;
+class TAO_NS_Peer;
/**
* @class TAO_NS_Peer
@@ -37,50 +40,37 @@ public:
TAO_NS_Peer (void);
/// Destructor
- ~TAO_NS_Peer ();
-
- void updates_dispatch_observer (TAO_NS_Updates_Dispatch_Observer* updates_dispatch_observer);
-
- /// Access Proxy.
- virtual TAO_NS_Proxy* proxy (void) = 0;
+ virtual ~TAO_NS_Peer ();
/// This method sigantures deliberately match the RefCounting methods required for ESF Proxy
CORBA::ULong _incr_refcnt (void);
CORBA::ULong _decr_refcnt (void);
- ///=Subscription change
-
- /// Subscription type added
- void type_added (const TAO_NS_EventType& added);
+ /// Release
+ virtual void release (void) = 0;
- /// Subscription type removed
- void type_removed (const TAO_NS_EventType& removed);
+ /// Shutdown the peer.
+ virtual void shutdown (ACE_ENV_SINGLE_ARG_DECL);
- /// Dispatch Pending.
- void dispatch_pending (ACE_ENV_SINGLE_ARG_DECL);
-
-protected:
- // Dispatch updates implementation.
- virtual void dispatch_updates_i (const TAO_NS_EventTypeSeq & added,
- const TAO_NS_EventTypeSeq & removed
- ACE_ENV_ARG_DECL) = 0;
-
- ///= Data Members
-
- /// The mutex to serialize access to state variables.
- TAO_SYNCH_MUTEX lock_;
+ /// Access Proxy.
+ virtual TAO_NS_Proxy* proxy (void) = 0;
- /// Types added.
- TAO_NS_EventTypeSeq added_;
+ // Dispatch updates
+ virtual void dispatch_updates (const TAO_NS_EventTypeSeq & added,
+ const TAO_NS_EventTypeSeq & removed
+ ACE_ENV_ARG_DECL);
- /// Types removed.
- TAO_NS_EventTypeSeq removed_;
+ /// QoS changed notification from the Peer.
+ virtual void qos_changed (const TAO_NS_QoSProperties& qos_properties);
- // Updates Dispatch Observer
- TAO_NS_Updates_Dispatch_Observer* updates_dispatch_observer_;
+ /// Handle dispatch exceptions.
+ void handle_dispatch_exception (ACE_ENV_SINGLE_ARG_DECL);
- /// Retry count. How many times have we failed to contact the remote peer?
- int retry_count_;
+protected:
+ /// Implementation of Peer specific dispatch_updates
+ virtual void dispatch_updates_i (const CosNotification::EventTypeSeq& added,
+ const CosNotification::EventTypeSeq& removed
+ ACE_ENV_ARG_DECL) = 0;
};
#if defined (__ACE_INLINE__)