summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ConnectionI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ConnectionI.cpp')
-rw-r--r--cpp/src/Ice/ConnectionI.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp
index c839d76b49b..b823e77de2f 100644
--- a/cpp/src/Ice/ConnectionI.cpp
+++ b/cpp/src/Ice/ConnectionI.cpp
@@ -513,12 +513,12 @@ Ice::ConnectionI::updateObserver()
_info->adapterName = _adapter ? _adapter->getName() : string();
}
- const ObserverResolverPtr& resolver = _instance->initializationData().observerResolver;
- assert(resolver);
- ConnectionObserverPtr obsv = resolver->getConnectionObserver(info,
- _endpoint->getInfo(),
- connectionStateMap[static_cast<int>(_state)],
- _observer.get() ? _observer->get() : 0);
+ const CommunicatorObserverPtr& comObsv = _instance->initializationData().observer;
+ assert(comObsv);
+ ConnectionObserverPtr obsv = comObsv->getConnectionObserver(info,
+ _endpoint->getInfo(),
+ connectionStateMap[static_cast<int>(_state)],
+ _observer.get() ? _observer->get() : 0);
if(obsv)
{
if(!_observer.get())
@@ -567,6 +567,7 @@ bool
Ice::ConnectionI::sendRequest(Outgoing* out, bool compress, bool response)
{
BasicStream* os = out->os();
+ out->attachRemoteObserver(this);
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
if(_exception.get())
@@ -2280,18 +2281,18 @@ Ice::ConnectionI::initialize(SocketOperation operation)
return false;
}
- const ObserverResolverPtr& resolver = _instance->initializationData().observerResolver;
- if(resolver)
+ const CommunicatorObserverPtr& comObsv = _instance->initializationData().observer;
+ if(comObsv)
{
_info = _transceiver->getInfo();
_info->connectionId = _endpoint->connectionId();
_info->incoming = _connector == 0;
_info->adapterName = _adapter ? _adapter->getName() : string();
- ConnectionObserverPtr obsv = resolver->getConnectionObserver(_info,
- _endpoint->getInfo(),
- ConnectionStateValidating,
- 0);
+ ConnectionObserverPtr obsv = comObsv->getConnectionObserver(_info,
+ _endpoint->getInfo(),
+ ConnectionStateValidating,
+ 0);
if(obsv)
{
_observer.reset(new Observer(_readStream, _writeStream));