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.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/ext/ice/cpp/include/Ice/Config.h +5 -7
  3. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +1 -1
  4. data/ext/ice/cpp/include/Ice/Ice.h +2 -2
  5. data/ext/ice/cpp/include/Ice/SHA1.h +0 -2
  6. data/ext/ice/cpp/include/IceSSL/IceSSL.h +3 -7
  7. data/ext/ice/cpp/include/IceUtil/Config.h +12 -44
  8. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +1 -1
  9. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -3
  10. data/ext/ice/cpp/include/IceUtil/IceUtil.h +1 -1
  11. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -4
  12. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +5 -21
  13. data/ext/ice/cpp/include/IceUtil/Thread.h +4 -18
  14. data/ext/ice/cpp/include/IceUtil/Timer.h +1 -0
  15. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +2 -2
  16. data/ext/ice/cpp/include/generated/Ice/Communicator.h +2 -2
  17. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +2 -2
  18. data/ext/ice/cpp/include/generated/Ice/Connection.h +2 -2
  19. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +2 -2
  20. data/ext/ice/cpp/include/generated/Ice/Current.h +4 -4
  21. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +2 -2
  22. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +2 -2
  23. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +2 -2
  24. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +2 -2
  25. data/ext/ice/cpp/include/generated/Ice/Identity.h +2 -2
  26. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +2 -2
  27. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +2 -2
  28. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +2 -2
  29. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +2 -2
  30. data/ext/ice/cpp/include/generated/Ice/LocalException.h +2 -2
  31. data/ext/ice/cpp/include/generated/Ice/Locator.h +2 -2
  32. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +2 -2
  33. data/ext/ice/cpp/include/generated/Ice/Logger.h +2 -2
  34. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +2 -2
  35. data/ext/ice/cpp/include/generated/Ice/Metrics.h +2 -2
  36. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +2 -2
  37. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +2 -2
  38. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +2 -2
  39. data/ext/ice/cpp/include/generated/Ice/Plugin.h +2 -2
  40. data/ext/ice/cpp/include/generated/Ice/PluginF.h +2 -2
  41. data/ext/ice/cpp/include/generated/Ice/Process.h +2 -2
  42. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +2 -2
  43. data/ext/ice/cpp/include/generated/Ice/Properties.h +8 -8
  44. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +2 -2
  45. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +2 -2
  46. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +2 -2
  47. data/ext/ice/cpp/include/generated/Ice/Router.h +2 -2
  48. data/ext/ice/cpp/include/generated/Ice/RouterF.h +2 -2
  49. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +2 -2
  50. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +2 -2
  51. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +2 -2
  52. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +2 -2
  53. data/ext/ice/cpp/include/generated/Ice/Version.h +2 -2
  54. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +2 -2
  55. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +2 -2
  56. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +2 -2
  57. data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
  58. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
  59. data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
  60. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
  61. data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
  62. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
  63. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +1 -1
  64. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +2 -2
  65. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +5 -5
  66. data/ext/ice/cpp/src/Ice/ConnectionI.h +6 -8
  67. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -8
  68. data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
  69. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -2
  70. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +2 -9
  71. data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
  72. data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
  73. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
  74. data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
  75. data/ext/ice/cpp/src/Ice/EventHandler.h +2 -2
  76. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -27
  77. data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
  78. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -46
  79. data/ext/ice/cpp/src/Ice/IPEndpointI.h +1 -11
  80. data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
  81. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
  82. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
  83. data/ext/ice/cpp/src/Ice/Instance.cpp +2 -6
  84. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
  85. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
  86. data/ext/ice/cpp/src/Ice/LocalException.cpp +2 -2
  87. data/ext/ice/cpp/src/Ice/Locator.cpp +2 -2
  88. data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
  89. data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
  90. data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
  91. data/ext/ice/cpp/src/Ice/LoggerI.cpp +1 -3
  92. data/ext/ice/cpp/src/Ice/Metrics.cpp +2 -2
  93. data/ext/ice/cpp/src/Ice/Network.cpp +15 -841
  94. data/ext/ice/cpp/src/Ice/Network.h +4 -86
  95. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -4
  96. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -13
  97. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
  98. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
  99. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
  100. data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
  101. data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
  102. data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
  103. data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
  104. data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
  105. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
  106. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
  107. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +4 -12
  108. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +2 -2
  109. data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
  110. data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
  111. data/ext/ice/cpp/src/Ice/SHA1.cpp +27 -43
  112. data/ext/ice/cpp/src/Ice/Selector.cpp +1 -13
  113. data/ext/ice/cpp/src/Ice/Selector.h +1 -17
  114. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
  115. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
  116. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
  117. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +4 -167
  118. data/ext/ice/cpp/src/Ice/StreamSocket.h +3 -10
  119. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -121
  120. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +2 -10
  121. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +1 -1
  122. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +1 -1
  123. data/ext/ice/cpp/src/Ice/Thread.cpp +1 -243
  124. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +15 -51
  125. data/ext/ice/cpp/src/Ice/ThreadPool.h +6 -6
  126. data/ext/ice/cpp/src/Ice/Transceiver.h +1 -1
  127. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -5
  128. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +13 -360
  129. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +2 -23
  130. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +2 -2
  131. data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
  132. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +2 -2
  133. data/ext/ice/cpp/src/Ice/WSAcceptor.h +2 -2
  134. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +2 -45
  135. data/ext/ice/cpp/src/Ice/WSTransceiver.h +2 -2
  136. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
  137. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +2 -2
  138. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
  139. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +2 -2
  140. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +2 -2
  141. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +2 -2
  142. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
  143. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +2 -2
  144. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
  145. data/ext/ice/cpp/src/IceSSL/Util.cpp +1 -1
  146. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +1 -1
  147. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +4 -17
  148. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -4
  149. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -45
  150. data/ext/ice/cpp/src/IceUtil/UUID.cpp +2 -6
  151. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +1 -1
  152. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +22 -0
  153. data/ext/ice/cpp/src/Slice/JavaUtil.h +9 -0
  154. data/ext/ice/mcpp/system.c +0 -4
  155. data/ice.gemspec +1 -1
  156. data/lib/Glacier2/Metrics.rb +1 -1
  157. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  158. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  159. data/lib/Glacier2/Router.rb +1 -1
  160. data/lib/Glacier2/RouterF.rb +1 -1
  161. data/lib/Glacier2/SSLInfo.rb +1 -1
  162. data/lib/Glacier2/Session.rb +1 -1
  163. data/lib/Ice/BuiltinSequences.rb +1 -1
  164. data/lib/Ice/Communicator.rb +1 -1
  165. data/lib/Ice/CommunicatorF.rb +1 -1
  166. data/lib/Ice/Connection.rb +1 -1
  167. data/lib/Ice/ConnectionF.rb +1 -1
  168. data/lib/Ice/Current.rb +1 -1
  169. data/lib/Ice/Endpoint.rb +1 -1
  170. data/lib/Ice/EndpointF.rb +1 -1
  171. data/lib/Ice/EndpointTypes.rb +1 -1
  172. data/lib/Ice/FacetMap.rb +1 -1
  173. data/lib/Ice/Identity.rb +1 -1
  174. data/lib/Ice/ImplicitContext.rb +1 -1
  175. data/lib/Ice/ImplicitContextF.rb +1 -1
  176. data/lib/Ice/Instrumentation.rb +1 -1
  177. data/lib/Ice/InstrumentationF.rb +1 -1
  178. data/lib/Ice/LocalException.rb +1 -1
  179. data/lib/Ice/Locator.rb +1 -1
  180. data/lib/Ice/LocatorF.rb +1 -1
  181. data/lib/Ice/Logger.rb +1 -1
  182. data/lib/Ice/LoggerF.rb +1 -1
  183. data/lib/Ice/Metrics.rb +1 -1
  184. data/lib/Ice/ObjectAdapter.rb +1 -1
  185. data/lib/Ice/ObjectAdapterF.rb +1 -1
  186. data/lib/Ice/ObjectFactory.rb +1 -1
  187. data/lib/Ice/Plugin.rb +1 -1
  188. data/lib/Ice/PluginF.rb +1 -1
  189. data/lib/Ice/Process.rb +1 -1
  190. data/lib/Ice/ProcessF.rb +1 -1
  191. data/lib/Ice/Properties.rb +1 -1
  192. data/lib/Ice/PropertiesAdmin.rb +1 -1
  193. data/lib/Ice/PropertiesF.rb +1 -1
  194. data/lib/Ice/RemoteLogger.rb +1 -1
  195. data/lib/Ice/Router.rb +1 -1
  196. data/lib/Ice/RouterF.rb +1 -1
  197. data/lib/Ice/ServantLocator.rb +1 -1
  198. data/lib/Ice/ServantLocatorF.rb +1 -1
  199. data/lib/Ice/SliceChecksumDict.rb +1 -1
  200. data/lib/Ice/ValueFactory.rb +1 -1
  201. data/lib/Ice/Version.rb +1 -1
  202. data/lib/IceBox/IceBox.rb +1 -1
  203. data/lib/IceGrid/Admin.rb +1 -1
  204. data/lib/IceGrid/Descriptor.rb +1 -1
  205. data/lib/IceGrid/Exception.rb +1 -1
  206. data/lib/IceGrid/FileParser.rb +1 -1
  207. data/lib/IceGrid/PluginFacade.rb +1 -1
  208. data/lib/IceGrid/Registry.rb +1 -1
  209. data/lib/IceGrid/Session.rb +1 -1
  210. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  211. data/lib/IcePatch2/FileInfo.rb +1 -1
  212. data/lib/IcePatch2/FileServer.rb +1 -1
  213. data/lib/IceStorm/IceStorm.rb +1 -1
  214. data/lib/IceStorm/Metrics.rb +1 -1
  215. data/slice/Ice/Current.ice +1 -1
  216. data/slice/Ice/Properties.ice +3 -3
  217. 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) || defined(ICE_OS_UWP)
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
- # ifdef _WIN32
152
+ #ifdef _WIN32
196
153
  ret = ::send(_fd, reinterpret_cast<const char*>(&buf.b[0]), static_cast<int>(buf.b.size()), 0);
197
- # else
154
+ #else
198
155
  ret = ::send(_fd, reinterpret_cast<const char*>(&buf.b[0]), buf.b.size(), 0);
199
- # endif
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
- # ifdef _WIN32
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
- # else
178
+ #else
222
179
  ret = ::sendto(_fd, reinterpret_cast<const char*>(&buf.b[0]), buf.b.size(), 0,
223
180
  &_peerAddr.sa, len);
224
- # endif
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
- # ifndef NDEBUG
289
+ #ifndef NDEBUG
338
290
  bool connected = doConnect(_fd, _peerAddr, Address());
339
291
  assert(connected);
340
- # else
292
+ #else
341
293
  doConnect(_fd, _peerAddr, Address());
342
- # endif
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) || defined(ICE_OS_UWP)
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
- #ifdef ICE_OS_UWP
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) || defined(ICE_OS_UWP)
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) || defined(ICE_OS_UWP)
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.9
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 < 9
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.9
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 < 9
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) || defined(ICE_OS_UWP)
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) || defined(ICE_OS_UWP)
40
+ #if defined(ICE_USE_IOCP)
41
41
  void
42
42
  IceInternal::WSAcceptor::startAccept()
43
43
  {