zeroc-ice 3.7.9 → 3.7.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (216) 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/ice.gemspec +1 -1
  155. data/lib/Glacier2/Metrics.rb +1 -1
  156. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  157. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  158. data/lib/Glacier2/Router.rb +1 -1
  159. data/lib/Glacier2/RouterF.rb +1 -1
  160. data/lib/Glacier2/SSLInfo.rb +1 -1
  161. data/lib/Glacier2/Session.rb +1 -1
  162. data/lib/Ice/BuiltinSequences.rb +1 -1
  163. data/lib/Ice/Communicator.rb +1 -1
  164. data/lib/Ice/CommunicatorF.rb +1 -1
  165. data/lib/Ice/Connection.rb +1 -1
  166. data/lib/Ice/ConnectionF.rb +1 -1
  167. data/lib/Ice/Current.rb +1 -1
  168. data/lib/Ice/Endpoint.rb +1 -1
  169. data/lib/Ice/EndpointF.rb +1 -1
  170. data/lib/Ice/EndpointTypes.rb +1 -1
  171. data/lib/Ice/FacetMap.rb +1 -1
  172. data/lib/Ice/Identity.rb +1 -1
  173. data/lib/Ice/ImplicitContext.rb +1 -1
  174. data/lib/Ice/ImplicitContextF.rb +1 -1
  175. data/lib/Ice/Instrumentation.rb +1 -1
  176. data/lib/Ice/InstrumentationF.rb +1 -1
  177. data/lib/Ice/LocalException.rb +1 -1
  178. data/lib/Ice/Locator.rb +1 -1
  179. data/lib/Ice/LocatorF.rb +1 -1
  180. data/lib/Ice/Logger.rb +1 -1
  181. data/lib/Ice/LoggerF.rb +1 -1
  182. data/lib/Ice/Metrics.rb +1 -1
  183. data/lib/Ice/ObjectAdapter.rb +1 -1
  184. data/lib/Ice/ObjectAdapterF.rb +1 -1
  185. data/lib/Ice/ObjectFactory.rb +1 -1
  186. data/lib/Ice/Plugin.rb +1 -1
  187. data/lib/Ice/PluginF.rb +1 -1
  188. data/lib/Ice/Process.rb +1 -1
  189. data/lib/Ice/ProcessF.rb +1 -1
  190. data/lib/Ice/Properties.rb +1 -1
  191. data/lib/Ice/PropertiesAdmin.rb +1 -1
  192. data/lib/Ice/PropertiesF.rb +1 -1
  193. data/lib/Ice/RemoteLogger.rb +1 -1
  194. data/lib/Ice/Router.rb +1 -1
  195. data/lib/Ice/RouterF.rb +1 -1
  196. data/lib/Ice/ServantLocator.rb +1 -1
  197. data/lib/Ice/ServantLocatorF.rb +1 -1
  198. data/lib/Ice/SliceChecksumDict.rb +1 -1
  199. data/lib/Ice/ValueFactory.rb +1 -1
  200. data/lib/Ice/Version.rb +1 -1
  201. data/lib/IceBox/IceBox.rb +1 -1
  202. data/lib/IceGrid/Admin.rb +1 -1
  203. data/lib/IceGrid/Descriptor.rb +1 -1
  204. data/lib/IceGrid/Exception.rb +1 -1
  205. data/lib/IceGrid/FileParser.rb +1 -1
  206. data/lib/IceGrid/PluginFacade.rb +1 -1
  207. data/lib/IceGrid/Registry.rb +1 -1
  208. data/lib/IceGrid/Session.rb +1 -1
  209. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  210. data/lib/IcePatch2/FileInfo.rb +1 -1
  211. data/lib/IcePatch2/FileServer.rb +1 -1
  212. data/lib/IceStorm/IceStorm.rb +1 -1
  213. data/lib/IceStorm/Metrics.rb +1 -1
  214. data/slice/Ice/Current.ice +1 -1
  215. data/slice/Ice/Properties.ice +3 -3
  216. metadata +2 -2
@@ -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
  {