summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/winrt/StreamTransceiver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/winrt/StreamTransceiver.cpp')
-rw-r--r--cpp/src/Ice/winrt/StreamTransceiver.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/cpp/src/Ice/winrt/StreamTransceiver.cpp b/cpp/src/Ice/winrt/StreamTransceiver.cpp
index 3bc67733388..b47d92a8f8e 100644
--- a/cpp/src/Ice/winrt/StreamTransceiver.cpp
+++ b/cpp/src/Ice/winrt/StreamTransceiver.cpp
@@ -1,6 +1,6 @@
// **********************************************************************
//
-// Copyright (c) 2003-2013 ZeroC, Inc. All rights reserved.
+// Copyright (c) 2003-2014 ZeroC, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described in the
// ICE_LICENSE file included in this distribution.
@@ -86,7 +86,7 @@ IceInternal::StreamTransceiver::setCompletedHandler(SocketOperationCompletedHand
}
SocketOperation
-IceInternal::StreamTransceiver::initialize(Buffer&, Buffer&)
+IceInternal::StreamTransceiver::initialize(Buffer&, Buffer&,bool&)
{
if(_state == StateNeedConnect)
{
@@ -127,6 +127,14 @@ IceInternal::StreamTransceiver::initialize(Buffer&, Buffer&)
}
void
+IceInternal::StreamTransceiver::closing(bool, const Ice::LocalException&)
+{
+ // If we are initiating the connection closure, wait for the peer
+ // to close the TCP/IP connection. Otherwise, close immediately.
+ return initiator ? SocketOperationRead : SocketOperationNone;
+}
+
+void
IceInternal::StreamTransceiver::close()
{
if(_state == StateConnected && _traceLevels->network >= 1)
@@ -148,16 +156,16 @@ IceInternal::StreamTransceiver::close()
}
}
-bool
+SocketOperation
IceInternal::StreamTransceiver::write(Buffer&)
{
- return false;
+ return SocketOperationWrite;
}
bool
IceInternal::StreamTransceiver::read(Buffer&)
{
- return false;
+ return SocketOperationRead;
}
bool