diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-07-27 13:07:32 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-07-27 13:07:32 +0200 |
commit | 901fd391336495286219a8610d5787113a816963 (patch) | |
tree | 850c6081489f45d6f6b7a27590b91fb5c03a8bbd /cpp/src/Ice/ConnectionI.h | |
parent | More work (diff) | |
download | ice-901fd391336495286219a8610d5787113a816963.tar.bz2 ice-901fd391336495286219a8610d5787113a816963.tar.xz ice-901fd391336495286219a8610d5787113a816963.zip |
Before RequestObserver change
Diffstat (limited to 'cpp/src/Ice/ConnectionI.h')
-rw-r--r-- | cpp/src/Ice/ConnectionI.h | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/cpp/src/Ice/ConnectionI.h b/cpp/src/Ice/ConnectionI.h index 94ff0432fdb..f310f538a0a 100644 --- a/cpp/src/Ice/ConnectionI.h +++ b/cpp/src/Ice/ConnectionI.h @@ -65,6 +65,35 @@ class LocalException; class ICE_API ConnectionI : public Connection, public IceInternal::EventHandler, public IceUtil::Monitor<IceUtil::Mutex> { + class Observer + { + public: + + Observer(const IceInternal::BasicStream&, const IceInternal::BasicStream&); + + void setObserver(const Ice::ConnectionObserverPtr&); + const Ice::ConnectionObserverPtr& getObserver() const + { + return _observer; + } + + void startRead(); + void finishRead(); + void startWrite(); + void finishWrite(); + + private: + + Ice::ConnectionObserverPtr _observer; + Ice::Byte* _writeStreamPos; + IceUtilInternal::StopWatch _writeWatch; + Ice::Byte* _readStreamPos; + IceUtilInternal::StopWatch _readWatch; + + const IceInternal::BasicStream& _readStream; + const IceInternal::BasicStream& _writeStream; + }; + public: class StartCallback : virtual public IceUtil::Shared @@ -281,7 +310,6 @@ private: const std::string _type; const IceInternal::ConnectorPtr _connector; const IceInternal::EndpointIPtr _endpoint; - Ice::ConnectionObserverPtr _observer; ObjectAdapterPtr _adapter; IceInternal::ServantManagerPtr _servantManager; @@ -329,10 +357,7 @@ private: bool _readHeader; IceInternal::BasicStream _writeStream; - Ice::Byte* _writeStreamPos; - IceUtilInternal::StopWatch _writeWatch; - Ice::Byte* _readStreamPos; - IceUtilInternal::StopWatch _readWatch; + std::auto_ptr<Observer> _observer; int _dispatchCount; |