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
@@ -24,13 +24,7 @@ struct timespec zeroTimeout = { 0, 0 };
24
24
  }
25
25
  #endif
26
26
 
27
- #if defined(ICE_OS_UWP)
28
- using namespace Windows::Storage::Streams;
29
- using namespace Windows::Networking;
30
- using namespace Windows::Networking::Sockets;
31
- #endif
32
-
33
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
27
+ #if defined(ICE_USE_IOCP)
34
28
 
35
29
  Selector::Selector(const InstancePtr& instance) : _instance(instance)
36
30
  {
@@ -116,12 +110,6 @@ Selector::update(EventHandler* handler, SocketOperation remove, SocketOperation
116
110
  void
117
111
  Selector::finish(IceInternal::EventHandler* handler)
118
112
  {
119
- #ifdef ICE_OS_UWP
120
- // If async operations are no longer pending, clear the completion handler to break
121
- // the cyclic reference count.
122
- assert(!handler->_started && !handler->_pending);
123
- handler->getNativeInfo()->setCompletedHandler(nullptr);
124
- #endif
125
113
  handler->_registered = SocketOperationNone;
126
114
  handler->_finish = false; // Ensures that finished() is only called once on the event handler.
127
115
  }
@@ -39,10 +39,6 @@ struct __CFSocket;
39
39
  typedef struct __CFSocket * CFSocketRef;
40
40
  #endif
41
41
 
42
- #if defined(ICE_OS_UWP)
43
- # include <deque>
44
- #endif
45
-
46
42
  namespace IceInternal
47
43
  {
48
44
 
@@ -53,22 +49,10 @@ class SelectorTimeoutException
53
49
  {
54
50
  };
55
51
 
56
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
52
+ #if defined(ICE_USE_IOCP)
57
53
 
58
54
  class Selector
59
55
  {
60
- #if defined(ICE_OS_UWP)
61
- struct SelectEvent
62
- {
63
- SelectEvent(const EventHandlerPtr& handler, SocketOperation status) : handler(handler), status(status)
64
- {
65
- }
66
-
67
- EventHandlerPtr handler;
68
- SocketOperation status;
69
- };
70
- #endif
71
-
72
56
  public:
73
57
 
74
58
  Selector(const InstancePtr&);
@@ -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
  //
@@ -35,7 +35,7 @@
35
35
  # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 9
38
+ # if ICE_INT_VERSION % 100 < 10
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #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
@@ -8,13 +8,6 @@
8
8
 
9
9
  using namespace IceInternal;
10
10
 
11
- #if defined(ICE_OS_UWP)
12
-
13
- #include <Ice/Properties.h>
14
- using namespace Platform;
15
- using namespace Windows::Foundation;
16
- #endif
17
-
18
11
  StreamSocket::StreamSocket(const ProtocolInstancePtr& instance,
19
12
  const NetworkProxyPtr& proxy,
20
13
  const Address& addr,
@@ -30,7 +23,7 @@ StreamSocket::StreamSocket(const ProtocolInstancePtr& instance,
30
23
  #endif
31
24
  {
32
25
  init();
33
- #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
26
+ #if !defined(ICE_USE_IOCP)
34
27
  if(doConnect(_fd, _proxy ? _proxy->getAddress() : _addr, sourceAddr))
35
28
  {
36
29
  _state = _proxy ? StateProxyWrite : StateConnected;
@@ -86,24 +79,6 @@ StreamSocket::connect(Buffer& readBuffer, Buffer& writeBuffer)
86
79
  {
87
80
  #if defined(ICE_USE_IOCP)
88
81
  doFinishConnectAsync(_fd, _write);
89
- #elif defined(ICE_OS_UWP)
90
- if(_write.error != ERROR_SUCCESS)
91
- {
92
- try
93
- {
94
- checkConnectErrorCode(__FILE__, __LINE__, _write.error);
95
- }
96
- catch(Ice::DNSException& ex)
97
- {
98
- //
99
- // Don't need to pass a wide string converter as the wide string come from
100
- // Windows API.
101
- //
102
- const Address& addr = _proxy ? _proxy->getAddress() : _addr;
103
- ex.host = wstringToString(addr.host->RawName->Data(), Ice::getProcessStringConverter());
104
- throw;
105
- }
106
- }
107
82
  #else
108
83
  doFinishConnect(_fd);
109
84
  #endif
@@ -147,7 +122,7 @@ StreamSocket::isConnected()
147
122
  size_t
148
123
  StreamSocket::getSendPacketSize(size_t length)
149
124
  {
150
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
125
+ #if defined(ICE_USE_IOCP)
151
126
  return _maxSendPacketSize > 0 ? std::min(length, _maxSendPacketSize) : length;
152
127
  #else
153
128
  return length;
@@ -157,7 +132,7 @@ StreamSocket::getSendPacketSize(size_t length)
157
132
  size_t
158
133
  StreamSocket::getRecvPacketSize(size_t length)
159
134
  {
160
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
135
+ #if defined(ICE_USE_IOCP)
161
136
  return _maxRecvPacketSize > 0 ? std::min(length, _maxRecvPacketSize) : length;
162
137
  #else
163
138
  return length;
@@ -173,7 +148,6 @@ StreamSocket::setBufferSize(int rcvSize, int sndSize)
173
148
  SocketOperation
174
149
  StreamSocket::read(Buffer& buf)
175
150
  {
176
- #if !defined(ICE_OS_UWP)
177
151
  if(_state == StateProxyRead)
178
152
  {
179
153
  while(true)
@@ -192,14 +166,12 @@ StreamSocket::read(Buffer& buf)
192
166
  }
193
167
  }
194
168
  buf.i += read(reinterpret_cast<char*>(&*buf.i), static_cast<size_t>(buf.b.end() - buf.i));
195
- #endif
196
169
  return buf.i != buf.b.end() ? SocketOperationRead : SocketOperationNone;
197
170
  }
198
171
 
199
172
  SocketOperation
200
173
  StreamSocket::write(Buffer& buf)
201
174
  {
202
- #if !defined(ICE_OS_UWP)
203
175
  if(_state == StateProxyWrite)
204
176
  {
205
177
  while(true)
@@ -218,11 +190,9 @@ StreamSocket::write(Buffer& buf)
218
190
  }
219
191
  }
220
192
  buf.i += write(reinterpret_cast<const char*>(&*buf.i), static_cast<size_t>(buf.b.end() - buf.i));
221
- #endif
222
193
  return buf.i != buf.b.end() ? SocketOperationWrite : SocketOperationNone;
223
194
  }
224
195
 
225
- #if !defined(ICE_OS_UWP)
226
196
  ssize_t
227
197
  StreamSocket::read(char* buf, size_t length)
228
198
  {
@@ -348,9 +318,8 @@ StreamSocket::write(const char* buf, size_t length)
348
318
  }
349
319
  return sent;
350
320
  }
351
- #endif
352
321
 
353
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
322
+ #if defined(ICE_USE_IOCP)
354
323
  AsyncInfo*
355
324
  StreamSocket::getAsyncInfo(SocketOperation op)
356
325
  {
@@ -492,120 +461,6 @@ StreamSocket::finishRead(Buffer& buf)
492
461
 
493
462
  }
494
463
 
495
- #elif defined(ICE_OS_UWP)
496
-
497
- bool
498
- StreamSocket::startWrite(Buffer& buf)
499
- {
500
- if(_state == StateConnectPending)
501
- {
502
- const Address& addr = _proxy ? _proxy->getAddress() : _addr;
503
- try
504
- {
505
- try
506
- {
507
- queueAction(SocketOperationConnect,
508
- safe_cast<Windows::Networking::Sockets::StreamSocket^>(_fd)->ConnectAsync(
509
- addr.host, addr.port,
510
- Windows::Networking::Sockets::SocketProtectionLevel::PlainSocket), true);
511
- }
512
- catch(Platform::Exception^ ex)
513
- {
514
- checkConnectErrorCode(__FILE__, __LINE__, ex->HResult);
515
- }
516
- }
517
- catch(Ice::DNSException& ex)
518
- {
519
- //
520
- // Don't need to pass a wide string converter as the wide string come from
521
- // Windows API.
522
- //
523
- ex.host = wstringToString(addr.host->RawName->Data(), Ice::getProcessStringConverter());
524
- throw;
525
- }
526
- return false;
527
- }
528
-
529
- assert(!buf.b.empty());
530
- assert(buf.i != buf.b.end());
531
-
532
- size_t packetSize = getSendPacketSize(buf.b.end() - buf.i);
533
- _writer->WriteBytes(ref new Array<unsigned char>(&*buf.i, static_cast<unsigned int>(packetSize)));
534
- try
535
- {
536
- queueOperation(SocketOperationWrite, _writer->StoreAsync());
537
- }
538
- catch(Platform::Exception^ ex)
539
- {
540
- checkErrorCode(__FILE__, __LINE__, ex->HResult);
541
- }
542
- return packetSize == static_cast<size_t>(buf.b.end() - buf.i);
543
- }
544
-
545
- void
546
- StreamSocket::finishWrite(Buffer& buf)
547
- {
548
- _write.operation = nullptr; // Must be cleared with the connection lock held
549
- if(_fd == INVALID_SOCKET || (_state < StateConnected && _state != StateProxyWrite))
550
- {
551
- return;
552
- }
553
-
554
- if(_write.error != ERROR_SUCCESS)
555
- {
556
- checkErrorCode(__FILE__, __LINE__, _write.error);
557
- }
558
-
559
- buf.i += _write.count;
560
- }
561
-
562
- void
563
- StreamSocket::startRead(Buffer& buf)
564
- {
565
- assert(!buf.b.empty() && buf.i != buf.b.end());
566
- size_t packetSize = getRecvPacketSize(buf.b.end() - buf.i);
567
- try
568
- {
569
- queueOperation(SocketOperationRead, _reader->LoadAsync(static_cast<unsigned int>(packetSize)));
570
- }
571
- catch(Platform::Exception^ ex)
572
- {
573
- checkErrorCode(__FILE__, __LINE__, ex->HResult);
574
- }
575
- }
576
-
577
- void
578
- StreamSocket::finishRead(Buffer& buf)
579
- {
580
- _read.operation = nullptr; // Must be cleared with the connection lock held
581
- if(_fd == INVALID_SOCKET)
582
- {
583
- return;
584
- }
585
-
586
- if(_read.error != ERROR_SUCCESS)
587
- {
588
- checkErrorCode(__FILE__, __LINE__, _read.error);
589
- }
590
- else if(_read.count == 0)
591
- {
592
- throw Ice::ConnectionLostException(__FILE__, __LINE__, 0);
593
- }
594
-
595
- try
596
- {
597
- auto data = ref new Platform::Array<unsigned char>(_read.count);
598
- _reader->ReadBytes(data);
599
- memcpy(&*buf.i, data->Data, _read.count);
600
- }
601
- catch(Platform::Exception^ ex)
602
- {
603
- checkErrorCode(__FILE__, __LINE__, ex->HResult);
604
- }
605
-
606
- buf.i += _read.count;
607
- }
608
-
609
464
  #endif
610
465
 
611
466
  void
@@ -614,16 +469,6 @@ StreamSocket::close()
614
469
  assert(_fd != INVALID_SOCKET);
615
470
  try
616
471
  {
617
- #if defined(ICE_OS_UWP)
618
- if(_read.operation)
619
- {
620
- _read.operation->Cancel();
621
- }
622
- if(_write.operation)
623
- {
624
- _write.operation->Cancel();
625
- }
626
- #endif
627
472
  closeSocket(_fd);
628
473
  _fd = INVALID_SOCKET;
629
474
  }
@@ -656,14 +501,6 @@ StreamSocket::init()
656
501
  //
657
502
  _maxSendPacketSize = std::max(512, IceInternal::getSendBufferSize(_fd));
658
503
  _maxRecvPacketSize = std::max(512, IceInternal::getRecvBufferSize(_fd));
659
- #elif defined(ICE_OS_UWP)
660
- Windows::Networking::Sockets::StreamSocket^ s = safe_cast<Windows::Networking::Sockets::StreamSocket^>(_fd);
661
- _writer = ref new Windows::Storage::Streams::DataWriter(s->OutputStream);
662
- _reader = ref new Windows::Storage::Streams::DataReader(s->InputStream);
663
- _reader->InputStreamOptions = Windows::Storage::Streams::InputStreamOptions::Partial;
664
-
665
- _maxSendPacketSize = std::max(static_cast<unsigned int>(512), s->Control->OutboundBufferSizeInBytes / 2);
666
- _maxRecvPacketSize = _instance->properties()->getPropertyAsIntWithDefault("Ice.TCP.RcvSize", 128 * 1024);
667
504
  #endif
668
505
  }
669
506
 
@@ -31,16 +31,14 @@ public:
31
31
  SocketOperation read(Buffer&);
32
32
  SocketOperation write(Buffer&);
33
33
 
34
- #if !defined(ICE_OS_UWP)
35
34
  ssize_t read(char*, size_t);
36
35
  ssize_t write(const char*, size_t);
37
- #endif
38
36
 
39
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
37
+ #if defined(ICE_USE_IOCP)
40
38
  AsyncInfo* getAsyncInfo(SocketOperation);
41
39
  #endif
42
40
 
43
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
41
+ #if defined(ICE_USE_IOCP)
44
42
  bool startWrite(Buffer&);
45
43
  void finishWrite(Buffer&);
46
44
  void startRead(Buffer&);
@@ -73,17 +71,12 @@ private:
73
71
  State _state;
74
72
  std::string _desc;
75
73
 
76
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
74
+ #if defined(ICE_USE_IOCP)
77
75
  size_t _maxSendPacketSize;
78
76
  size_t _maxRecvPacketSize;
79
77
  AsyncInfo _read;
80
78
  AsyncInfo _write;
81
79
  #endif
82
-
83
- #if defined(ICE_OS_UWP)
84
- Windows::Storage::Streams::DataReader^ _reader;
85
- Windows::Storage::Streams::DataWriter^ _writer;
86
- #endif
87
80
  };
88
81
  typedef IceUtil::Handle<StreamSocket> StreamSocketPtr;
89
82
 
@@ -18,12 +18,6 @@
18
18
 
19
19
  #if defined(ICE_USE_IOCP)
20
20
  # include <Mswsock.h>
21
- #elif defined(ICE_OS_UWP)
22
- using namespace Platform;
23
- using namespace Windows::Foundation;
24
- using namespace Windows::Storage::Streams;
25
- using namespace Windows::Networking;
26
- using namespace Windows::Networking::Sockets;
27
21
  #endif
28
22
 
29
23
  //
@@ -48,25 +42,6 @@ IceInternal::TcpAcceptor::getNativeInfo()
48
42
  void
49
43
  IceInternal::TcpAcceptor::close()
50
44
  {
51
- #if defined(ICE_OS_UWP)
52
- IceUtil::Mutex::Lock lock(_mutex);
53
- if(_acceptPending)
54
- {
55
- assert(_accepted.empty());
56
- completed(SocketOperationRead);
57
- _acceptPending = false;
58
- }
59
- else if(!_accepted.empty())
60
- {
61
- for(deque<Windows::Networking::Sockets::StreamSocket^>::const_iterator p = _accepted.begin();
62
- p != _accepted.end(); ++p)
63
- {
64
- closeSocket(*p);
65
- }
66
- _accepted.clear();
67
- }
68
- #endif
69
-
70
45
  #if defined(ICE_USE_IOCP)
71
46
  if(_acceptFd != INVALID_SOCKET)
72
47
  {
@@ -87,9 +62,7 @@ IceInternal::TcpAcceptor::listen()
87
62
  try
88
63
  {
89
64
  const_cast<Address&>(_addr) = doBind(_fd, _addr);
90
- #if !defined(ICE_OS_UWP)
91
65
  doListen(_fd, _backlog);
92
- #endif
93
66
  }
94
67
  catch(...)
95
68
  {
@@ -170,70 +143,6 @@ IceInternal::TcpAcceptor::accept()
170
143
  _acceptFd = INVALID_SOCKET;
171
144
  return new TcpTransceiver(_instance, new StreamSocket(_instance, fd));
172
145
  }
173
-
174
- #elif defined(ICE_OS_UWP)
175
-
176
- AsyncInfo*
177
- IceInternal::TcpAcceptor::getAsyncInfo(SocketOperation)
178
- {
179
- return 0; // Not used
180
- }
181
-
182
- void
183
- IceInternal::TcpAcceptor::startAccept()
184
- {
185
- assert(_fd != INVALID_SOCKET);
186
-
187
- //
188
- // If there are already sockets waiting to be accepted, we just
189
- // notify the selector that the acceptor is ready for acceting the
190
- // new socket. Otherwise, we set the _acceptPending flag, when a
191
- // new socket connection event is received, the message handler
192
- // will notify the selector.
193
- //
194
- IceUtil::Mutex::Lock lock(_mutex);
195
- assert(!_acceptPending);
196
- if(!_accepted.empty())
197
- {
198
- completed(SocketOperationRead);
199
- }
200
- else
201
- {
202
- _acceptPending = true;
203
- }
204
- }
205
-
206
- void
207
- IceInternal::TcpAcceptor::finishAccept()
208
- {
209
- //
210
- // Nothing to do, we just check there's at least one accepted
211
- // socket or the acceptor was closed.
212
- //
213
- IceUtil::Mutex::Lock lock(_mutex);
214
- assert(!_acceptPending && (!_accepted.empty() || _fd == INVALID_SOCKET));
215
- }
216
-
217
- TransceiverPtr
218
- IceInternal::TcpAcceptor::accept()
219
- {
220
- if(_fd == INVALID_SOCKET) // Acceptor closed.
221
- {
222
- assert(_accepted.empty());
223
- throw SocketException(__FILE__, __LINE__);
224
- }
225
-
226
- Windows::Networking::Sockets::StreamSocket^ fd;
227
- {
228
- IceUtil::Mutex::Lock lock(_mutex);
229
- assert(!_accepted.empty());
230
- fd = _accepted.front();
231
- _accepted.pop_front();
232
- }
233
-
234
- return new TcpTransceiver(_instance, new StreamSocket(_instance, fd));
235
- }
236
-
237
146
  #else
238
147
 
239
148
  TransceiverPtr
@@ -288,37 +197,7 @@ IceInternal::TcpAcceptor::TcpAcceptor(const TcpEndpointIPtr& endpoint,
288
197
  #endif
289
198
  {
290
199
  _backlog = instance->properties()->getPropertyAsIntWithDefault("Ice.TCP.Backlog", SOMAXCONN);
291
-
292
- #if defined(ICE_OS_UWP)
293
- _fd = ref new StreamSocketListener();
294
- safe_cast<StreamSocketListener^>(_fd)->ConnectionReceived +=
295
- ref new TypedEventHandler<StreamSocketListener^, StreamSocketListenerConnectionReceivedEventArgs^>(
296
- [=](StreamSocketListener^, StreamSocketListenerConnectionReceivedEventArgs^ args)
297
- {
298
- IceUtil::Mutex::Lock lock(_mutex);
299
- if(_fd == INVALID_SOCKET) // Acceptor was closed.
300
- {
301
- closeSocket(args->Socket);
302
- return;
303
- }
304
- _accepted.push_back(args->Socket);
305
-
306
- //
307
- // If the acceptor is waiting for a socket to be accepted, notify
308
- // the selector that the acceptor is ready for "read". This will
309
- // in turn caused finishAccept() and accept() to be called by the
310
- // thread pool. If the acceptor isn't ready to accept the socket,
311
- // it is just queued, when startAccept is called it will be dequed.
312
- //
313
- if(_acceptPending)
314
- {
315
- completed(SocketOperationRead);
316
- _acceptPending = false;
317
- }
318
- });
319
- #else
320
200
  _fd = createServerSocket(false, _addr, instance->protocolSupport());
321
- #endif
322
201
 
323
202
  #ifdef ICE_USE_IOCP
324
203
  _acceptBuf.resize((sizeof(sockaddr_storage) + 16) * 2);
@@ -10,10 +10,6 @@
10
10
  #include <Ice/Acceptor.h>
11
11
  #include <Ice/Network.h>
12
12
 
13
- #if defined(ICE_OS_UWP)
14
- #include <deque>
15
- #endif
16
-
17
13
  namespace IceInternal
18
14
  {
19
15
 
@@ -24,13 +20,13 @@ class TcpAcceptor : public Acceptor, public NativeInfo
24
20
  public:
25
21
 
26
22
  virtual NativeInfoPtr getNativeInfo();
27
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
23
+ #if defined(ICE_USE_IOCP)
28
24
  virtual AsyncInfo* getAsyncInfo(SocketOperation);
29
25
  #endif
30
26
 
31
27
  virtual void close();
32
28
  virtual EndpointIPtr listen();
33
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
29
+ #if defined(ICE_USE_IOCP)
34
30
  virtual void startAccept();
35
31
  virtual void finishAccept();
36
32
  #endif
@@ -58,10 +54,6 @@ private:
58
54
  int _acceptError;
59
55
  std::vector<char> _acceptBuf;
60
56
  AsyncInfo _info;
61
- #elif defined(ICE_OS_UWP)
62
- IceUtil::Mutex _mutex;
63
- bool _acceptPending;
64
- std::deque<Windows::Networking::Sockets::StreamSocket^> _accepted;
65
57
  #endif
66
58
  };
67
59
 
@@ -55,7 +55,7 @@ IceInternal::TcpTransceiver::read(Buffer& buf)
55
55
  return _stream->read(buf);
56
56
  }
57
57
 
58
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
58
+ #if defined(ICE_USE_IOCP)
59
59
  bool
60
60
  IceInternal::TcpTransceiver::startWrite(Buffer& buf)
61
61
  {
@@ -28,7 +28,7 @@ public:
28
28
  virtual void close();
29
29
  virtual SocketOperation write(Buffer&);
30
30
  virtual SocketOperation read(Buffer&);
31
- #if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
31
+ #if defined(ICE_USE_IOCP)
32
32
  virtual bool startWrite(Buffer&);
33
33
  virtual void finishWrite(Buffer&);
34
34
  virtual void startRead(Buffer&);