diff options
Diffstat (limited to 'cpp/src/Ice/ConnectionI.cpp')
-rw-r--r-- | cpp/src/Ice/ConnectionI.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp index c7eec6d2cb9..e1a8e03dd82 100644 --- a/cpp/src/Ice/ConnectionI.cpp +++ b/cpp/src/Ice/ConnectionI.cpp @@ -1132,7 +1132,7 @@ Ice::ConnectionI::createProxy(const Identity& ident) const return _instance->proxyFactory()->referenceToProxy(_instance->referenceFactory()->create(ident, self)); } -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) bool Ice::ConnectionI::startAsync(SocketOperation operation) { @@ -1578,7 +1578,7 @@ Ice::ConnectionI::finish() OutgoingMessage* message = &_sendStreams.front(); _writeStream.swap(*message->stream); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) // // The current message might be sent but not yet removed from _sendStreams. If // the response has been received in the meantime, we remove the message from @@ -1999,7 +1999,7 @@ Ice::ConnectionI::setState(State state) return; } _threadPool->finish(this); -#ifdef ICE_USE_IOCP +#if defined(ICE_USE_IOCP) || defined(ICE_OS_WINRT) _transceiver->close(); #endif break; @@ -2008,7 +2008,7 @@ Ice::ConnectionI::setState(State state) case StateFinished: { assert(_state == StateClosed); -#ifndef ICE_USE_IOCP +#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) _transceiver->close(); #endif _communicator = 0; @@ -2257,6 +2257,7 @@ Ice::ConnectionI::sendNextMessage(vector<OutgoingAsyncMessageCallbackPtr>& callb // message = &_sendStreams.front(); assert(!message->stream->i); +#ifndef ICE_OS_WINRT if(message->compress && message->stream->b.size() >= 100) // Only compress messages > 100 bytes. { // @@ -2284,6 +2285,7 @@ Ice::ConnectionI::sendNextMessage(vector<OutgoingAsyncMessageCallbackPtr>& callb } else { +#endif if(message->compress) { // @@ -2311,7 +2313,9 @@ Ice::ConnectionI::sendNextMessage(vector<OutgoingAsyncMessageCallbackPtr>& callb { traceSend(*message->stream, _logger, _traceLevels); } +#ifndef ICE_OS_WINRT } +#endif _writeStream.swap(*message->stream); // @@ -2365,7 +2369,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) // message.stream->i = message.stream->b.begin(); - +#ifndef ICE_OS_WINRT if(message.compress && message.stream->b.size() >= 100) // Only compress messages larger than 100 bytes. { // @@ -2412,6 +2416,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) } else { +#endif if(message.compress) { // @@ -2461,7 +2466,9 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) _sendStreams.push_back(message); _sendStreams.back().adopt(0); // Adopt the stream. +#ifndef ICE_OS_WINRT } +#endif _writeStream.swap(*_sendStreams.back().stream); scheduleTimeout(SocketOperationWrite, _endpoint->timeout()); @@ -2469,6 +2476,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message) return AsyncStatusQueued; } +#ifndef ICE_OS_WINRT static string getBZ2Error(int bzError) { @@ -2613,6 +2621,7 @@ Ice::ConnectionI::doUncompress(BasicStream& compressed, BasicStream& uncompresse copy(compressed.b.begin(), compressed.b.begin() + headerSize, uncompressed.b.begin()); } +#endif void Ice::ConnectionI::parseMessage(BasicStream& stream, Int& invokeNum, Int& requestId, Byte& compress, @@ -2640,12 +2649,15 @@ Ice::ConnectionI::parseMessage(BasicStream& stream, Int& invokeNum, Int& request Byte messageType; stream.read(messageType); stream.read(compress); + +#ifndef ICE_OS_WINRT if(compress == 2) { BasicStream ustream(_instance.get(), Ice::currentProtocolEncoding); doUncompress(stream, ustream); stream.b.swap(ustream.b); } +#endif stream.i = stream.b.begin() + headerSize; switch(messageType) |