diff options
author | Benoit Foucher <benoit@zeroc.com> | 2012-09-14 09:38:12 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2012-09-14 09:38:12 +0200 |
commit | 385eee21aa83ab84227900bef4e4f821e8f18ab8 (patch) | |
tree | 2d251648e791c0be499c50d14ccc1ec4626be29d /cpp/src/Ice/ConnectionI.cpp | |
parent | Fixed IceGrid issue caused by skype_props merge (diff) | |
download | ice-385eee21aa83ab84227900bef4e4f821e8f18ab8.tar.bz2 ice-385eee21aa83ab84227900bef4e4f821e8f18ab8.tar.xz ice-385eee21aa83ab84227900bef4e4f821e8f18ab8.zip |
Fixed metrics tests
Diffstat (limited to 'cpp/src/Ice/ConnectionI.cpp')
-rw-r--r-- | cpp/src/Ice/ConnectionI.cpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp index e7ea83d6fe7..f4ecf9e3f51 100644 --- a/cpp/src/Ice/ConnectionI.cpp +++ b/cpp/src/Ice/ConnectionI.cpp @@ -2158,15 +2158,18 @@ Ice::ConnectionI::setState(State state) } } - if(_observer) + if(_instance->initializationData().observer) { ConnectionState oldState = toConnectionState(_state); ConnectionState newState = toConnectionState(state); if(oldState != newState) { - _observer->stateChanged(oldState, newState); + _observer.attach(_instance->initializationData().observer->getConnectionObserver(initConnectionInfo(), + _endpoint, + newState, + _observer.get())); } - if(state == StateClosed && _exception.get()) + if(_observer && state == StateClosed && _exception.get()) { if(!(dynamic_cast<const CloseConnectionException*>(_exception.get()) || dynamic_cast<const ForcedCloseConnectionException*>(_exception.get()) || @@ -2261,14 +2264,6 @@ Ice::ConnectionI::initialize(SocketOperation operation) const_cast<string&>(_desc) = _transceiver->toString(); setState(StateNotValidated); - if(_instance->initializationData().observer) - { - _observer.attach(_instance->initializationData().observer->getConnectionObserver(initConnectionInfo(), - _endpoint, - ConnectionStateValidating, - 0)); - } - return true; } |