diff options
Diffstat (limited to 'cpp/src/IceStorm/Subscriber.h')
-rw-r--r-- | cpp/src/IceStorm/Subscriber.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/IceStorm/Subscriber.h b/cpp/src/IceStorm/Subscriber.h index ba66ac9e91c..7f17631df8a 100644 --- a/cpp/src/IceStorm/Subscriber.h +++ b/cpp/src/IceStorm/Subscriber.h @@ -12,6 +12,8 @@ #include <IceStorm/IceStormInternal.h> #include <IceStorm/SubscriberRecord.h> +#include <IceStorm/Instrumentation.h> +#include <Ice/ObserverHelper.h> #include <IceUtil/RecMutex.h> namespace IceStorm @@ -49,6 +51,8 @@ public: void shutdown(); + void updateObserver(); + enum SubscriberState { SubscriberStateOnline, // Online waiting to send events. @@ -80,11 +84,14 @@ protected: SubscriberState _state; // The subscriber state. int _outstanding; // The current number of outstanding responses. + int _outstandingCount; // The current number of outstanding events when batching events (only used for metrics). EventDataSeq _events; // The queue of events to send. - // The next to try sending a new event if we're offline. + // The next time to try sending a new event if we're offline. IceUtil::Time _next; int _currentRetry; + + IceInternal::ObserverHelperT<IceStorm::Instrumentation::SubscriberObserver> _observer; }; bool operator==(const IceStorm::SubscriberPtr&, const Ice::Identity&); |