zeroc-ice 3.7.9.1 → 3.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/ice/cpp/include/Ice/Config.h +5 -7
- data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -1
- data/ext/ice/cpp/include/Ice/Ice.h +2 -2
- data/ext/ice/cpp/include/Ice/SHA1.h +0 -2
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +3 -7
- data/ext/ice/cpp/include/IceUtil/Config.h +12 -44
- data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +1 -1
- data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -3
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -4
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +5 -21
- data/ext/ice/cpp/include/IceUtil/Thread.h +4 -18
- data/ext/ice/cpp/include/IceUtil/Timer.h +1 -0
- data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Connection.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Current.h +4 -4
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/EndpointF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/FacetMap.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Identity.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Locator.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/LocatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Logger.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/LoggerF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/PluginF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Process.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ProcessF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Properties.h +8 -8
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Router.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/RouterF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +2 -2
- data/ext/ice/cpp/include/generated/Ice/Version.h +2 -2
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +2 -2
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +2 -2
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +2 -2
- data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +2 -2
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +5 -5
- data/ext/ice/cpp/src/Ice/ConnectionI.h +6 -8
- data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -8
- data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -2
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +2 -9
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
- data/ext/ice/cpp/src/Ice/EventHandler.h +2 -2
- data/ext/ice/cpp/src/Ice/Exception.cpp +0 -27
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -46
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +1 -11
- data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Instance.cpp +2 -6
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocalException.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Locator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -3
- data/ext/ice/cpp/src/Ice/Metrics.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Network.cpp +15 -841
- data/ext/ice/cpp/src/Ice/Network.h +4 -86
- data/ext/ice/cpp/src/Ice/NetworkF.h +0 -4
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -13
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +4 -12
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
- data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/SHA1.cpp +27 -43
- data/ext/ice/cpp/src/Ice/Selector.cpp +1 -13
- data/ext/ice/cpp/src/Ice/Selector.h +1 -17
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +4 -167
- data/ext/ice/cpp/src/Ice/StreamSocket.h +3 -10
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -121
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +2 -10
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
- data/ext/ice/cpp/src/Ice/Thread.cpp +1 -243
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +15 -51
- data/ext/ice/cpp/src/Ice/ThreadPool.h +6 -6
- data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -5
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +13 -360
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +2 -23
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +2 -2
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +2 -2
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +2 -45
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +2 -2
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +2 -2
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +2 -2
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +4 -17
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -4
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -45
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +2 -6
- data/ext/ice/cpp/src/IceUtil/UtilException.cpp +1 -1
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +22 -0
- data/ext/ice/cpp/src/Slice/JavaUtil.h +9 -0
- data/ext/ice/mcpp/system.c +0 -4
- data/ice.gemspec +1 -1
- data/lib/Glacier2/Metrics.rb +1 -1
- data/lib/Glacier2/PermissionsVerifier.rb +1 -1
- data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
- data/lib/Glacier2/Router.rb +1 -1
- data/lib/Glacier2/RouterF.rb +1 -1
- data/lib/Glacier2/SSLInfo.rb +1 -1
- data/lib/Glacier2/Session.rb +1 -1
- data/lib/Ice/BuiltinSequences.rb +1 -1
- data/lib/Ice/Communicator.rb +1 -1
- data/lib/Ice/CommunicatorF.rb +1 -1
- data/lib/Ice/Connection.rb +1 -1
- data/lib/Ice/ConnectionF.rb +1 -1
- data/lib/Ice/Current.rb +1 -1
- data/lib/Ice/Endpoint.rb +1 -1
- data/lib/Ice/EndpointF.rb +1 -1
- data/lib/Ice/EndpointTypes.rb +1 -1
- data/lib/Ice/FacetMap.rb +1 -1
- data/lib/Ice/Identity.rb +1 -1
- data/lib/Ice/ImplicitContext.rb +1 -1
- data/lib/Ice/ImplicitContextF.rb +1 -1
- data/lib/Ice/Instrumentation.rb +1 -1
- data/lib/Ice/InstrumentationF.rb +1 -1
- data/lib/Ice/LocalException.rb +1 -1
- data/lib/Ice/Locator.rb +1 -1
- data/lib/Ice/LocatorF.rb +1 -1
- data/lib/Ice/Logger.rb +1 -1
- data/lib/Ice/LoggerF.rb +1 -1
- data/lib/Ice/Metrics.rb +1 -1
- data/lib/Ice/ObjectAdapter.rb +1 -1
- data/lib/Ice/ObjectAdapterF.rb +1 -1
- data/lib/Ice/ObjectFactory.rb +1 -1
- data/lib/Ice/Plugin.rb +1 -1
- data/lib/Ice/PluginF.rb +1 -1
- data/lib/Ice/Process.rb +1 -1
- data/lib/Ice/ProcessF.rb +1 -1
- data/lib/Ice/Properties.rb +1 -1
- data/lib/Ice/PropertiesAdmin.rb +1 -1
- data/lib/Ice/PropertiesF.rb +1 -1
- data/lib/Ice/RemoteLogger.rb +1 -1
- data/lib/Ice/Router.rb +1 -1
- data/lib/Ice/RouterF.rb +1 -1
- data/lib/Ice/ServantLocator.rb +1 -1
- data/lib/Ice/ServantLocatorF.rb +1 -1
- data/lib/Ice/SliceChecksumDict.rb +1 -1
- data/lib/Ice/ValueFactory.rb +1 -1
- data/lib/Ice/Version.rb +1 -1
- data/lib/IceBox/IceBox.rb +1 -1
- data/lib/IceGrid/Admin.rb +1 -1
- data/lib/IceGrid/Descriptor.rb +1 -1
- data/lib/IceGrid/Exception.rb +1 -1
- data/lib/IceGrid/FileParser.rb +1 -1
- data/lib/IceGrid/PluginFacade.rb +1 -1
- data/lib/IceGrid/Registry.rb +1 -1
- data/lib/IceGrid/Session.rb +1 -1
- data/lib/IceGrid/UserAccountMapper.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +1 -1
- data/lib/IcePatch2/FileServer.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +1 -1
- data/lib/IceStorm/Metrics.rb +1 -1
- data/slice/Ice/Current.ice +1 -1
- data/slice/Ice/Properties.ice +3 -3
- metadata +3 -3
@@ -12,20 +12,9 @@
|
|
12
12
|
#include <Ice/Properties.h>
|
13
13
|
#include <IceUtil/StringUtil.h>
|
14
14
|
|
15
|
-
#ifdef ICE_OS_UWP
|
16
|
-
# include <ppltasks.h> // For Concurrency::task
|
17
|
-
#endif
|
18
|
-
|
19
15
|
using namespace std;
|
20
16
|
using namespace Ice;
|
21
17
|
using namespace IceInternal;
|
22
|
-
#ifdef ICE_OS_UWP
|
23
|
-
using namespace Platform;
|
24
|
-
using namespace Windows::Foundation;
|
25
|
-
using namespace Windows::Storage::Streams;
|
26
|
-
using namespace Windows::Networking;
|
27
|
-
using namespace Windows::Networking::Sockets;
|
28
|
-
#endif
|
29
18
|
|
30
19
|
IceUtil::Shared* IceInternal::upCast(UdpTransceiver* p) { return p; }
|
31
20
|
|
@@ -35,11 +24,10 @@ IceInternal::UdpTransceiver::getNativeInfo()
|
|
35
24
|
return this;
|
36
25
|
}
|
37
26
|
|
38
|
-
#if defined(ICE_USE_IOCP)
|
27
|
+
#if defined(ICE_USE_IOCP)
|
39
28
|
AsyncInfo*
|
40
29
|
IceInternal::UdpTransceiver::getAsyncInfo(SocketOperation status)
|
41
30
|
{
|
42
|
-
#if defined(ICE_USE_IOCP)
|
43
31
|
switch(status)
|
44
32
|
{
|
45
33
|
case SocketOperationRead:
|
@@ -50,10 +38,6 @@ IceInternal::UdpTransceiver::getAsyncInfo(SocketOperation status)
|
|
50
38
|
assert(false);
|
51
39
|
return 0;
|
52
40
|
}
|
53
|
-
#elif defined(ICE_OS_UWP)
|
54
|
-
UNREFERENCED_PARAMETER(status);
|
55
|
-
return &_write;
|
56
|
-
#endif
|
57
41
|
}
|
58
42
|
#endif
|
59
43
|
|
@@ -69,19 +53,6 @@ IceInternal::UdpTransceiver::initialize(Buffer& /*readBuffer*/, Buffer& /*writeB
|
|
69
53
|
{
|
70
54
|
#if defined(ICE_USE_IOCP)
|
71
55
|
doFinishConnectAsync(_fd, _write);
|
72
|
-
#elif defined(ICE_OS_UWP)
|
73
|
-
if(_write.error != ERROR_SUCCESS)
|
74
|
-
{
|
75
|
-
try
|
76
|
-
{
|
77
|
-
checkConnectErrorCode(__FILE__, __LINE__, _write.error);
|
78
|
-
}
|
79
|
-
catch(Ice::DNSException& ex)
|
80
|
-
{
|
81
|
-
ex.host = wstringToString(_addr.host->RawName->Data(), Ice::getProcessStringConverter());
|
82
|
-
throw;
|
83
|
-
}
|
84
|
-
}
|
85
56
|
#else
|
86
57
|
doFinishConnect(_fd);
|
87
58
|
#endif
|
@@ -102,17 +73,6 @@ IceInternal::UdpTransceiver::closing(bool, const Ice::LocalException&)
|
|
102
73
|
void
|
103
74
|
IceInternal::UdpTransceiver::close()
|
104
75
|
{
|
105
|
-
#ifdef ICE_OS_UWP
|
106
|
-
IceUtil::Mutex::Lock lock(_mutex);
|
107
|
-
if(_readPending)
|
108
|
-
{
|
109
|
-
assert(_received.empty());
|
110
|
-
completed(SocketOperationRead);
|
111
|
-
_readPending = false;
|
112
|
-
}
|
113
|
-
_received.clear();
|
114
|
-
#endif
|
115
|
-
|
116
76
|
assert(_fd != INVALID_SOCKET);
|
117
77
|
SOCKET fd = _fd;
|
118
78
|
_fd = INVALID_SOCKET;
|
@@ -178,9 +138,6 @@ IceInternal::UdpTransceiver::write(Buffer& buf)
|
|
178
138
|
{
|
179
139
|
return SocketOperationNone;
|
180
140
|
}
|
181
|
-
#ifdef ICE_OS_UWP
|
182
|
-
return SocketOperationWrite;
|
183
|
-
#else
|
184
141
|
assert(buf.i == buf.b.begin());
|
185
142
|
assert(_fd != INVALID_SOCKET && _state >= StateConnected);
|
186
143
|
|
@@ -192,11 +149,11 @@ repeat:
|
|
192
149
|
ssize_t ret;
|
193
150
|
if(_state == StateConnected)
|
194
151
|
{
|
195
|
-
#
|
152
|
+
#ifdef _WIN32
|
196
153
|
ret = ::send(_fd, reinterpret_cast<const char*>(&buf.b[0]), static_cast<int>(buf.b.size()), 0);
|
197
|
-
#
|
154
|
+
#else
|
198
155
|
ret = ::send(_fd, reinterpret_cast<const char*>(&buf.b[0]), buf.b.size(), 0);
|
199
|
-
#
|
156
|
+
#endif
|
200
157
|
}
|
201
158
|
else
|
202
159
|
{
|
@@ -215,13 +172,13 @@ repeat:
|
|
215
172
|
throw SocketException(__FILE__, __LINE__, 0);
|
216
173
|
}
|
217
174
|
|
218
|
-
#
|
175
|
+
#ifdef _WIN32
|
219
176
|
ret = ::sendto(_fd, reinterpret_cast<const char*>(&buf.b[0]), static_cast<int>(buf.b.size()), 0,
|
220
177
|
&_peerAddr.sa, len);
|
221
|
-
#
|
178
|
+
#else
|
222
179
|
ret = ::sendto(_fd, reinterpret_cast<const char*>(&buf.b[0]), buf.b.size(), 0,
|
223
180
|
&_peerAddr.sa, len);
|
224
|
-
#
|
181
|
+
#endif
|
225
182
|
}
|
226
183
|
|
227
184
|
if(ret == SOCKET_ERROR)
|
@@ -242,7 +199,6 @@ repeat:
|
|
242
199
|
assert(ret == static_cast<ssize_t>(buf.b.size()));
|
243
200
|
buf.i = buf.b.end();
|
244
201
|
return SocketOperationNone;
|
245
|
-
#endif
|
246
202
|
}
|
247
203
|
|
248
204
|
SocketOperation
|
@@ -252,10 +208,6 @@ IceInternal::UdpTransceiver::read(Buffer& buf)
|
|
252
208
|
{
|
253
209
|
return SocketOperationNone;
|
254
210
|
}
|
255
|
-
#ifdef ICE_OS_UWP
|
256
|
-
return SocketOperationRead;
|
257
|
-
#else
|
258
|
-
|
259
211
|
assert(buf.i == buf.b.begin());
|
260
212
|
assert(_fd != INVALID_SOCKET);
|
261
213
|
|
@@ -334,12 +286,12 @@ repeat:
|
|
334
286
|
//
|
335
287
|
assert(_incoming); // Client connections should always be connected at this point.
|
336
288
|
|
337
|
-
#
|
289
|
+
#ifndef NDEBUG
|
338
290
|
bool connected = doConnect(_fd, _peerAddr, Address());
|
339
291
|
assert(connected);
|
340
|
-
#
|
292
|
+
#else
|
341
293
|
doConnect(_fd, _peerAddr, Address());
|
342
|
-
#
|
294
|
+
#endif
|
343
295
|
_state = StateConnected;
|
344
296
|
|
345
297
|
if(_instance->traceLevel() >= 1)
|
@@ -352,10 +304,9 @@ repeat:
|
|
352
304
|
buf.b.resize(static_cast<size_t>(ret));
|
353
305
|
buf.i = buf.b.end();
|
354
306
|
return SocketOperationNone;
|
355
|
-
#endif
|
356
307
|
}
|
357
308
|
|
358
|
-
#if defined(ICE_USE_IOCP)
|
309
|
+
#if defined(ICE_USE_IOCP)
|
359
310
|
bool
|
360
311
|
IceInternal::UdpTransceiver::startWrite(Buffer& buf)
|
361
312
|
{
|
@@ -365,105 +316,6 @@ IceInternal::UdpTransceiver::startWrite(Buffer& buf)
|
|
365
316
|
assert(min(_maxPacketSize, _sndSize - _udpOverhead) >= static_cast<int>(buf.b.size()));
|
366
317
|
assert(_fd != INVALID_SOCKET);
|
367
318
|
|
368
|
-
#ifdef ICE_OS_UWP
|
369
|
-
if(_state < StateConnected)
|
370
|
-
{
|
371
|
-
try
|
372
|
-
{
|
373
|
-
bool multicast = isMulticast(_addr) || isAddressValid(_mcastAddr);
|
374
|
-
if(!multicast)
|
375
|
-
{
|
376
|
-
auto operation = safe_cast<DatagramSocket^>(_fd)->ConnectAsync(_addr.host, _addr.port);
|
377
|
-
if(!checkIfErrorOrCompleted(SocketOperationConnect, operation, operation->Status))
|
378
|
-
{
|
379
|
-
operation->Completed = ref new AsyncActionCompletedHandler(
|
380
|
-
[this] (IAsyncAction^ info, Windows::Foundation::AsyncStatus status)
|
381
|
-
{
|
382
|
-
//
|
383
|
-
// COMPILERFIX with v141 using operator!= and operator== inside
|
384
|
-
// a lambda callback triggers a compiler bug, we move the code to
|
385
|
-
// a seperate private method to workaround the issue.
|
386
|
-
//
|
387
|
-
connectCompleted(info, status);
|
388
|
-
});
|
389
|
-
}
|
390
|
-
else
|
391
|
-
{
|
392
|
-
_write.count = 0;
|
393
|
-
_write.error = ERROR_SUCCESS;
|
394
|
-
_writer = ref new DataWriter(safe_cast<DatagramSocket^>(_fd)->OutputStream);
|
395
|
-
}
|
396
|
-
}
|
397
|
-
else
|
398
|
-
{
|
399
|
-
auto operation = safe_cast<DatagramSocket^>(_fd)->GetOutputStreamAsync(_addr.host, _addr.port);
|
400
|
-
if(!checkIfErrorOrCompleted(SocketOperationConnect, operation, operation->Status))
|
401
|
-
{
|
402
|
-
operation->Completed = ref new AsyncOperationCompletedHandler<IOutputStream^>(
|
403
|
-
[=](IAsyncOperation<IOutputStream^>^ info, Windows::Foundation::AsyncStatus status)
|
404
|
-
{
|
405
|
-
//
|
406
|
-
// COMPILERFIX with v141 using operator!= and operator== inside
|
407
|
-
// a lambda callback triggers a compiler bug, we move the code to
|
408
|
-
// a seperate private method to workaround the issue.
|
409
|
-
//
|
410
|
-
getOutputStreamMcastCompleted(info, status);
|
411
|
-
});
|
412
|
-
}
|
413
|
-
else
|
414
|
-
{
|
415
|
-
_write.count = 0;
|
416
|
-
_write.error = ERROR_SUCCESS;
|
417
|
-
_writer = ref new DataWriter(operation->GetResults());
|
418
|
-
if(_mcastAddr.host != nullptr)
|
419
|
-
{
|
420
|
-
setMcastGroup(_fd, _mcastAddr, "");
|
421
|
-
}
|
422
|
-
}
|
423
|
-
}
|
424
|
-
}
|
425
|
-
catch(Platform::Exception^ ex)
|
426
|
-
{
|
427
|
-
checkConnectErrorCode(__FILE__, __LINE__, ex->HResult);
|
428
|
-
}
|
429
|
-
return false;
|
430
|
-
}
|
431
|
-
else if(_state == StateNotConnected)
|
432
|
-
{
|
433
|
-
try
|
434
|
-
{
|
435
|
-
DatagramSocket^ fd = safe_cast<DatagramSocket^>(_fd);
|
436
|
-
concurrency::create_task(fd->GetOutputStreamAsync(_peerAddr.host, _peerAddr.port)).then(
|
437
|
-
[=, &buf](concurrency::task<IOutputStream^> task)
|
438
|
-
{
|
439
|
-
//
|
440
|
-
// COMPILERFIX with v141 using operator!= and operator== inside
|
441
|
-
// a lambda callback triggers a compiler bug, we move the code to
|
442
|
-
// a seperate private method to workaround the issue.
|
443
|
-
//
|
444
|
-
getOutputStreamCompleted(task, buf);
|
445
|
-
});
|
446
|
-
}
|
447
|
-
catch(Platform::Exception^ ex)
|
448
|
-
{
|
449
|
-
checkErrorCode(__FILE__, __LINE__, ex->HResult);
|
450
|
-
}
|
451
|
-
return true;
|
452
|
-
}
|
453
|
-
else
|
454
|
-
{
|
455
|
-
try
|
456
|
-
{
|
457
|
-
_writer->WriteBytes(ref new Array<unsigned char>(&*buf.i, static_cast<int>(buf.b.size())));
|
458
|
-
queueOperation(SocketOperationWrite, _writer->StoreAsync());
|
459
|
-
}
|
460
|
-
catch(Platform::Exception^ ex)
|
461
|
-
{
|
462
|
-
checkErrorCode(__FILE__, __LINE__, ex->HResult);
|
463
|
-
}
|
464
|
-
return true;
|
465
|
-
}
|
466
|
-
#else
|
467
319
|
_write.buf.len = static_cast<int>(buf.b.size());
|
468
320
|
_write.buf.buf = reinterpret_cast<char*>(&*buf.i);
|
469
321
|
_write.error = ERROR_SUCCESS;
|
@@ -506,68 +358,8 @@ IceInternal::UdpTransceiver::startWrite(Buffer& buf)
|
|
506
358
|
}
|
507
359
|
}
|
508
360
|
return true;
|
509
|
-
#endif
|
510
|
-
}
|
511
|
-
|
512
|
-
#ifdef ICE_OS_UWP
|
513
|
-
void
|
514
|
-
IceInternal::UdpTransceiver::connectCompleted(Windows::Foundation::IAsyncAction^ action,
|
515
|
-
Windows::Foundation::AsyncStatus status)
|
516
|
-
{
|
517
|
-
if(status != Windows::Foundation::AsyncStatus::Completed)
|
518
|
-
{
|
519
|
-
_write.error = action->ErrorCode.Value;
|
520
|
-
}
|
521
|
-
else
|
522
|
-
{
|
523
|
-
_write.error = ERROR_SUCCESS;
|
524
|
-
_writer = ref new DataWriter(safe_cast<DatagramSocket^>(_fd)->OutputStream);
|
525
|
-
}
|
526
|
-
_write.count = 0;
|
527
|
-
completed(SocketOperationConnect);
|
528
361
|
}
|
529
362
|
|
530
|
-
void
|
531
|
-
IceInternal::UdpTransceiver::getOutputStreamMcastCompleted(IAsyncOperation<IOutputStream^>^ operation,
|
532
|
-
Windows::Foundation::AsyncStatus status)
|
533
|
-
{
|
534
|
-
if(status != Windows::Foundation::AsyncStatus::Completed)
|
535
|
-
{
|
536
|
-
_write.error = operation->ErrorCode.Value;
|
537
|
-
}
|
538
|
-
else
|
539
|
-
{
|
540
|
-
_write.error = ERROR_SUCCESS;
|
541
|
-
_writer = ref new DataWriter(operation->GetResults());
|
542
|
-
}
|
543
|
-
_write.count = 0;
|
544
|
-
if(_mcastAddr.host != nullptr)
|
545
|
-
{
|
546
|
-
setMcastGroup(_fd, _mcastAddr, "");
|
547
|
-
}
|
548
|
-
completed(SocketOperationConnect);
|
549
|
-
}
|
550
|
-
|
551
|
-
void
|
552
|
-
IceInternal::UdpTransceiver::getOutputStreamCompleted(concurrency::task<IOutputStream^> task, Buffer& buf)
|
553
|
-
{
|
554
|
-
try
|
555
|
-
{
|
556
|
-
DataWriter^ writer = ref new DataWriter(task.get());
|
557
|
-
writer->WriteBytes(ref new Array<unsigned char>(&*buf.i, static_cast<int>(buf.b.size())));
|
558
|
-
DataWriterStoreOperation^ operation = writer->StoreAsync();
|
559
|
-
queueOperation(SocketOperationWrite, operation);
|
560
|
-
}
|
561
|
-
catch(Platform::Exception^ pex)
|
562
|
-
{
|
563
|
-
_write.count = 0;
|
564
|
-
_write.error = pex->HResult;
|
565
|
-
completed(SocketOperationWrite);
|
566
|
-
}
|
567
|
-
}
|
568
|
-
|
569
|
-
#endif
|
570
|
-
|
571
363
|
void
|
572
364
|
IceInternal::UdpTransceiver::finishWrite(Buffer& buf)
|
573
365
|
{
|
@@ -578,7 +370,6 @@ IceInternal::UdpTransceiver::finishWrite(Buffer& buf)
|
|
578
370
|
|
579
371
|
if(_write.error != ERROR_SUCCESS)
|
580
372
|
{
|
581
|
-
#ifndef ICE_OS_UWP
|
582
373
|
WSASetLastError(_write.error);
|
583
374
|
if(connectionLost())
|
584
375
|
{
|
@@ -588,9 +379,6 @@ IceInternal::UdpTransceiver::finishWrite(Buffer& buf)
|
|
588
379
|
{
|
589
380
|
throw SocketException(__FILE__, __LINE__, getSocketErrno());
|
590
381
|
}
|
591
|
-
#else
|
592
|
-
checkErrorCode(__FILE__, __LINE__, _write.error);
|
593
|
-
#endif
|
594
382
|
}
|
595
383
|
|
596
384
|
assert(static_cast<size_t>(_write.count) == buf.b.size());
|
@@ -604,7 +392,6 @@ IceInternal::UdpTransceiver::startRead(Buffer& buf)
|
|
604
392
|
buf.b.resize(packetSize);
|
605
393
|
buf.i = buf.b.begin();
|
606
394
|
assert(!buf.b.empty() && buf.i != buf.b.end());
|
607
|
-
#ifndef ICE_OS_UWP
|
608
395
|
_read.buf.len = packetSize;
|
609
396
|
_read.buf.buf = reinterpret_cast<char*>(&*buf.i);
|
610
397
|
_read.error = ERROR_SUCCESS;
|
@@ -640,55 +427,11 @@ IceInternal::UdpTransceiver::startRead(Buffer& buf)
|
|
640
427
|
}
|
641
428
|
}
|
642
429
|
}
|
643
|
-
#else
|
644
|
-
IceUtil::Mutex::Lock lock(_mutex);
|
645
|
-
assert(!_readPending);
|
646
|
-
if(!_received.empty())
|
647
|
-
{
|
648
|
-
completed(SocketOperationRead);
|
649
|
-
}
|
650
|
-
else
|
651
|
-
{
|
652
|
-
_readPending = true;
|
653
|
-
}
|
654
|
-
#endif
|
655
430
|
}
|
656
431
|
|
657
432
|
void
|
658
433
|
IceInternal::UdpTransceiver::finishRead(Buffer& buf)
|
659
434
|
{
|
660
|
-
#ifdef ICE_OS_UWP
|
661
|
-
IceUtil::Mutex::Lock lock(_mutex);
|
662
|
-
assert(!_readPending && (!_received.empty() || _fd == INVALID_SOCKET));
|
663
|
-
if(_fd == INVALID_SOCKET)
|
664
|
-
{
|
665
|
-
return;
|
666
|
-
}
|
667
|
-
|
668
|
-
DatagramSocketMessageReceivedEventArgs^ args = _received.front();
|
669
|
-
_received.pop_front();
|
670
|
-
|
671
|
-
int ret = 0;
|
672
|
-
try
|
673
|
-
{
|
674
|
-
DataReader^ reader = args->GetDataReader();
|
675
|
-
// Truncate received data if too large.
|
676
|
-
ret = min(static_cast<int>(reader->UnconsumedBufferLength), static_cast<int>(buf.b.size()));
|
677
|
-
|
678
|
-
Array<unsigned char>^ data = ref new Array<unsigned char>(ret);
|
679
|
-
reader->ReadBytes(data);
|
680
|
-
memcpy(&*buf.i, data->Data, ret);
|
681
|
-
if(_state == StateNotConnected)
|
682
|
-
{
|
683
|
-
_peerAddr.host = args->RemoteAddress;
|
684
|
-
_peerAddr.port = args->RemotePort;
|
685
|
-
}
|
686
|
-
}
|
687
|
-
catch(Platform::Exception^ ex)
|
688
|
-
{
|
689
|
-
checkErrorCode(__FILE__, __LINE__, ex->HResult);
|
690
|
-
}
|
691
|
-
#else
|
692
435
|
if(_read.error != ERROR_SUCCESS)
|
693
436
|
{
|
694
437
|
WSASetLastError(_read.error);
|
@@ -719,7 +462,6 @@ IceInternal::UdpTransceiver::finishRead(Buffer& buf)
|
|
719
462
|
}
|
720
463
|
|
721
464
|
int ret = _read.count;
|
722
|
-
#endif
|
723
465
|
|
724
466
|
buf.b.resize(ret);
|
725
467
|
buf.i = buf.b.end();
|
@@ -757,14 +499,7 @@ IceInternal::UdpTransceiver::toString() const
|
|
757
499
|
}
|
758
500
|
else
|
759
501
|
{
|
760
|
-
#ifndef ICE_OS_UWP
|
761
502
|
s << fdToString(_fd);
|
762
|
-
#else
|
763
|
-
Address localAddr;
|
764
|
-
fdToLocalAddress(_fd, localAddr);
|
765
|
-
s << "local address = " << addrToString(localAddr);
|
766
|
-
s << "\nremote address = " << addrToString(_addr);
|
767
|
-
#endif
|
768
503
|
}
|
769
504
|
|
770
505
|
if(isAddressValid(_mcastAddr))
|
@@ -800,15 +535,6 @@ Ice::ConnectionInfoPtr
|
|
800
535
|
IceInternal::UdpTransceiver::getInfo() const
|
801
536
|
{
|
802
537
|
Ice::UDPConnectionInfoPtr info = ICE_MAKE_SHARED(Ice::UDPConnectionInfo);
|
803
|
-
#if defined(ICE_OS_UWP)
|
804
|
-
if(isMulticast(_addr) || isAddressValid(_mcastAddr))
|
805
|
-
{
|
806
|
-
info->remotePort = 0;
|
807
|
-
info->localPort = 0;
|
808
|
-
info->mcastPort = 0;
|
809
|
-
return info;
|
810
|
-
}
|
811
|
-
#endif
|
812
538
|
if(_fd == INVALID_SOCKET)
|
813
539
|
{
|
814
540
|
return info;
|
@@ -875,16 +601,9 @@ IceInternal::UdpTransceiver::effectivePort() const
|
|
875
601
|
|
876
602
|
IceInternal::UdpTransceiver::UdpTransceiver(const ProtocolInstancePtr& instance,
|
877
603
|
const Address& addr,
|
878
|
-
#ifdef ICE_OS_UWP
|
879
|
-
const Address&,
|
880
|
-
const string&,
|
881
|
-
int
|
882
|
-
#else
|
883
604
|
const Address& sourceAddr,
|
884
605
|
const string& mcastInterface,
|
885
|
-
int mcastTtl
|
886
|
-
#endif
|
887
|
-
) :
|
606
|
+
int mcastTtl) :
|
888
607
|
_instance(instance),
|
889
608
|
_incoming(false),
|
890
609
|
_bound(false),
|
@@ -893,15 +612,12 @@ IceInternal::UdpTransceiver::UdpTransceiver(const ProtocolInstancePtr& instance,
|
|
893
612
|
#if defined(ICE_USE_IOCP)
|
894
613
|
, _read(SocketOperationRead),
|
895
614
|
_write(SocketOperationWrite)
|
896
|
-
#elif defined(ICE_OS_UWP)
|
897
|
-
, _readPending(false)
|
898
615
|
#endif
|
899
616
|
{
|
900
617
|
_fd = createSocket(true, _addr);
|
901
618
|
setBufSize(-1, -1);
|
902
619
|
setBlock(_fd, false);
|
903
620
|
|
904
|
-
#ifndef ICE_OS_UWP
|
905
621
|
_mcastAddr.saStorage.ss_family = AF_UNSPEC;
|
906
622
|
_peerAddr.saStorage.ss_family = AF_UNSPEC; // Not initialized yet.
|
907
623
|
|
@@ -932,23 +648,6 @@ IceInternal::UdpTransceiver::UdpTransceiver(const ProtocolInstancePtr& instance,
|
|
932
648
|
{
|
933
649
|
_state = StateConnected;
|
934
650
|
}
|
935
|
-
#else
|
936
|
-
DatagramSocket^ socket = safe_cast<DatagramSocket^>(_fd);
|
937
|
-
IceUtil::Handle<UdpTransceiver> self(this);
|
938
|
-
# if _WIN32_WINNT >= 0x0A00
|
939
|
-
// On Windows 10, it's necessary to set this property to allow Win32 applications to
|
940
|
-
// bind to the same multicast address
|
941
|
-
if(isMulticast(_addr))
|
942
|
-
{
|
943
|
-
socket->Control->MulticastOnly = true;
|
944
|
-
}
|
945
|
-
# endif
|
946
|
-
socket->MessageReceived += ref new TypedEventHandler<DatagramSocket^, DatagramSocketMessageReceivedEventArgs^>(
|
947
|
-
[=](DatagramSocket^ fd, DatagramSocketMessageReceivedEventArgs^ args)
|
948
|
-
{
|
949
|
-
self->appendMessage(args);
|
950
|
-
});
|
951
|
-
#endif
|
952
651
|
|
953
652
|
#ifdef ICE_USE_IOCP
|
954
653
|
//
|
@@ -971,9 +670,7 @@ IceInternal::UdpTransceiver::UdpTransceiver(const UdpEndpointIPtr& endpoint, con
|
|
971
670
|
_mcastInterface(mcastInterface),
|
972
671
|
_port(port),
|
973
672
|
_state(connect ? StateNeedConnect : StateNotConnected)
|
974
|
-
#
|
975
|
-
, _readPending(false)
|
976
|
-
#elif defined(ICE_USE_IOCP)
|
673
|
+
#if defined(ICE_USE_IOCP)
|
977
674
|
, _read(SocketOperationRead),
|
978
675
|
_write(SocketOperationWrite)
|
979
676
|
#endif
|
@@ -982,28 +679,10 @@ IceInternal::UdpTransceiver::UdpTransceiver(const UdpEndpointIPtr& endpoint, con
|
|
982
679
|
setBufSize(-1, -1);
|
983
680
|
setBlock(_fd, false);
|
984
681
|
|
985
|
-
#ifndef ICE_OS_UWP
|
986
682
|
memset(&_mcastAddr.saStorage, 0, sizeof(sockaddr_storage));
|
987
683
|
memset(&_peerAddr.saStorage, 0, sizeof(sockaddr_storage));
|
988
684
|
_peerAddr.saStorage.ss_family = AF_UNSPEC;
|
989
685
|
_mcastAddr.saStorage.ss_family = AF_UNSPEC;
|
990
|
-
#else
|
991
|
-
DatagramSocket^ socket = safe_cast<DatagramSocket^>(_fd);
|
992
|
-
# if _WIN32_WINNT >= 0x0A00
|
993
|
-
// On Windows 10, it's necessary to set this property to allow Win32 applications to
|
994
|
-
// bind to the same multicast address
|
995
|
-
if(isMulticast(_addr))
|
996
|
-
{
|
997
|
-
socket->Control->MulticastOnly = true;
|
998
|
-
}
|
999
|
-
# endif
|
1000
|
-
IceUtil::Handle<UdpTransceiver> self(this);
|
1001
|
-
socket->MessageReceived += ref new TypedEventHandler<DatagramSocket^, DatagramSocketMessageReceivedEventArgs^>(
|
1002
|
-
[=](DatagramSocket^ fd, DatagramSocketMessageReceivedEventArgs^ args)
|
1003
|
-
{
|
1004
|
-
self->appendMessage(args);
|
1005
|
-
});
|
1006
|
-
#endif
|
1007
686
|
}
|
1008
687
|
|
1009
688
|
IceInternal::UdpTransceiver::~UdpTransceiver()
|
@@ -1119,32 +798,6 @@ IceInternal::UdpTransceiver::setBufSize(int rcvSize, int sndSize)
|
|
1119
798
|
}
|
1120
799
|
}
|
1121
800
|
|
1122
|
-
#ifdef ICE_OS_UWP
|
1123
|
-
void
|
1124
|
-
IceInternal::UdpTransceiver::appendMessage(DatagramSocketMessageReceivedEventArgs^ args)
|
1125
|
-
{
|
1126
|
-
IceUtil::Mutex::Lock lock(_mutex);
|
1127
|
-
if(_fd == INVALID_SOCKET) // Transceiver was closed.
|
1128
|
-
{
|
1129
|
-
return;
|
1130
|
-
}
|
1131
|
-
_received.push_back(args);
|
1132
|
-
|
1133
|
-
//
|
1134
|
-
// If the transceiver is waiting to read a message, notify the
|
1135
|
-
// selector that the transceiver is ready for read. This will in
|
1136
|
-
// turn cause finishRead() to be called. If the transceiver is
|
1137
|
-
// ready for read, we just queue the message. It will be picked
|
1138
|
-
// up by startRead() when it is invoked.
|
1139
|
-
//
|
1140
|
-
if(_readPending)
|
1141
|
-
{
|
1142
|
-
completed(SocketOperationRead);
|
1143
|
-
_readPending = false;
|
1144
|
-
}
|
1145
|
-
}
|
1146
|
-
#endif
|
1147
|
-
|
1148
801
|
//
|
1149
802
|
// The maximum IP datagram size is 65535. Subtract 20 bytes for the IP header and 8 bytes for the UDP header
|
1150
803
|
// to get the maximum payload.
|
@@ -11,10 +11,6 @@
|
|
11
11
|
#include <Ice/Transceiver.h>
|
12
12
|
#include <Ice/Network.h>
|
13
13
|
|
14
|
-
#ifdef ICE_OS_UWP
|
15
|
-
# include <deque>
|
16
|
-
#endif
|
17
|
-
|
18
14
|
namespace IceInternal
|
19
15
|
{
|
20
16
|
|
@@ -33,7 +29,7 @@ class UdpTransceiver : public Transceiver, public NativeInfo
|
|
33
29
|
public:
|
34
30
|
|
35
31
|
virtual NativeInfoPtr getNativeInfo();
|
36
|
-
#if defined(ICE_USE_IOCP)
|
32
|
+
#if defined(ICE_USE_IOCP)
|
37
33
|
virtual AsyncInfo* getAsyncInfo(SocketOperation);
|
38
34
|
#endif
|
39
35
|
|
@@ -43,7 +39,7 @@ public:
|
|
43
39
|
virtual EndpointIPtr bind();
|
44
40
|
virtual SocketOperation write(Buffer&);
|
45
41
|
virtual SocketOperation read(Buffer&);
|
46
|
-
#if defined(ICE_USE_IOCP)
|
42
|
+
#if defined(ICE_USE_IOCP)
|
47
43
|
virtual bool startWrite(Buffer&);
|
48
44
|
virtual void finishWrite(Buffer&);
|
49
45
|
virtual void startRead(Buffer&);
|
@@ -68,17 +64,6 @@ private:
|
|
68
64
|
|
69
65
|
void setBufSize(int, int);
|
70
66
|
|
71
|
-
#ifdef ICE_OS_UWP
|
72
|
-
void appendMessage(Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs^);
|
73
|
-
Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs^ readMessage();
|
74
|
-
|
75
|
-
void connectCompleted(Windows::Foundation::IAsyncAction^, Windows::Foundation::AsyncStatus);
|
76
|
-
void getOutputStreamMcastCompleted(
|
77
|
-
Windows::Foundation::IAsyncOperation<Windows::Storage::Streams::IOutputStream^>^,
|
78
|
-
Windows::Foundation::AsyncStatus);
|
79
|
-
void getOutputStreamCompleted(concurrency::task<Windows::Storage::Streams::IOutputStream^>, Buffer&);
|
80
|
-
#endif
|
81
|
-
|
82
67
|
friend class UdpEndpointI;
|
83
68
|
friend class UdpConnector;
|
84
69
|
|
@@ -104,12 +89,6 @@ private:
|
|
104
89
|
AsyncInfo _write;
|
105
90
|
Address _readAddr;
|
106
91
|
socklen_t _readAddrLen;
|
107
|
-
#elif defined(ICE_OS_UWP)
|
108
|
-
AsyncInfo _write;
|
109
|
-
Windows::Storage::Streams::DataWriter^ _writer;
|
110
|
-
IceUtil::Mutex _mutex;
|
111
|
-
bool _readPending;
|
112
|
-
std::deque<Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs^> _received;
|
113
92
|
#endif
|
114
93
|
};
|
115
94
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.10
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 10
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.10
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -37,7 +37,7 @@
|
|
37
37
|
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 10
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -16,7 +16,7 @@ IceInternal::WSAcceptor::getNativeInfo()
|
|
16
16
|
return _delegate->getNativeInfo();
|
17
17
|
}
|
18
18
|
|
19
|
-
#if defined(ICE_USE_IOCP)
|
19
|
+
#if defined(ICE_USE_IOCP)
|
20
20
|
IceInternal::AsyncInfo*
|
21
21
|
IceInternal::WSAcceptor::getAsyncInfo(IceInternal::SocketOperation status)
|
22
22
|
{
|
@@ -37,7 +37,7 @@ IceInternal::WSAcceptor::listen()
|
|
37
37
|
return _endpoint;
|
38
38
|
}
|
39
39
|
|
40
|
-
#if defined(ICE_USE_IOCP)
|
40
|
+
#if defined(ICE_USE_IOCP)
|
41
41
|
void
|
42
42
|
IceInternal::WSAcceptor::startAccept()
|
43
43
|
{
|