summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/OutgoingAsync.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2012-09-17 15:19:14 +0200
committerBenoit Foucher <benoit@zeroc.com>2012-09-17 15:19:14 +0200
commit30daedd1ef690457f535a8a2d4db9df8f65103c1 (patch)
tree6a4f0dc6697b6ca078c309719145ddaf9fd37411 /cpp/src/Ice/OutgoingAsync.cpp
parentMerge remote-tracking branch 'origin/encoding11' into mx (diff)
downloadice-30daedd1ef690457f535a8a2d4db9df8f65103c1.tar.bz2
ice-30daedd1ef690457f535a8a2d4db9df8f65103c1.tar.xz
ice-30daedd1ef690457f535a8a2d4db9df8f65103c1.zip
Win32 fixes
Diffstat (limited to 'cpp/src/Ice/OutgoingAsync.cpp')
-rw-r--r--cpp/src/Ice/OutgoingAsync.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/cpp/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp
index 2224b7dee97..b7bcc5c4104 100644
--- a/cpp/src/Ice/OutgoingAsync.cpp
+++ b/cpp/src/Ice/OutgoingAsync.cpp
@@ -1015,9 +1015,11 @@ IceInternal::CommunicatorBatchOutgoingAsync::flushConnection(const ConnectionIPt
{
public:
- BatchOutgoingAsyncI(const CommunicatorBatchOutgoingAsyncPtr& outAsync) :
- BatchOutgoingAsync(outAsync->_communicator, outAsync->_instance, outAsync->_operation, __dummyCallback, 0),
- _outAsync(outAsync)
+ BatchOutgoingAsyncI(const CommunicatorBatchOutgoingAsyncPtr& outAsync,
+ const InstancePtr& instance,
+ InvocationObserver& observer) :
+ BatchOutgoingAsync(outAsync->getCommunicator(), instance, outAsync->getOperation(), __dummyCallback, 0),
+ _outAsync(outAsync), _observer(observer)
{
}
@@ -1036,12 +1038,13 @@ IceInternal::CommunicatorBatchOutgoingAsync::flushConnection(const ConnectionIPt
virtual void __attachRemoteObserver(const Ice::ConnectionInfoPtr& connection, const Ice::EndpointPtr& endpt)
{
- _remoteObserver.attach(_outAsync->_observer.getRemoteObserver(connection, endpt));
+ _remoteObserver.attach(_observer.getRemoteObserver(connection, endpt));
}
private:
const CommunicatorBatchOutgoingAsyncPtr _outAsync;
+ InvocationObserver& _observer;
};
{
@@ -1049,7 +1052,7 @@ IceInternal::CommunicatorBatchOutgoingAsync::flushConnection(const ConnectionIPt
++_useCount;
}
- AsyncStatus status = con->flushAsyncBatchRequests(new BatchOutgoingAsyncI(this));
+ AsyncStatus status = con->flushAsyncBatchRequests(new BatchOutgoingAsyncI(this, _instance, _observer));
if(!(status & AsyncStatusSent))
{
_sentSynchronously = false;