zeroc-ice 3.7.2 → 3.7.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (283) hide show
  1. checksums.yaml +5 -5
  2. data/ext/Config.h +4 -0
  3. data/ext/Operation.cpp +5 -5
  4. data/ext/Properties.cpp +1 -1
  5. data/ext/Proxy.cpp +16 -2
  6. data/ext/Types.cpp +45 -40
  7. data/ext/Util.cpp +1 -1
  8. data/ext/Util.h +10 -8
  9. data/ext/ice/cpp/include/Ice/Config.h +4 -0
  10. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
  11. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +4 -3
  12. data/ext/ice/cpp/include/Ice/InputStream.h +4 -4
  13. data/ext/ice/cpp/include/Ice/Optional.h +11 -0
  14. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +1 -1
  15. data/ext/ice/cpp/include/Ice/OutputStream.h +5 -5
  16. data/ext/ice/cpp/include/Ice/Proxy.h +17 -5
  17. data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
  18. data/ext/ice/cpp/include/Ice/Value.h +1 -1
  19. data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
  20. data/ext/ice/cpp/include/IceUtil/Config.h +16 -6
  21. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +4 -4
  22. data/ext/ice/cpp/include/IceUtil/Optional.h +8 -0
  23. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +17 -14
  24. data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
  25. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
  26. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +6 -0
  27. data/ext/ice/cpp/include/IceUtil/StringConverter.h +1 -1
  28. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +3 -3
  29. data/ext/ice/cpp/include/generated/Ice/Communicator.h +3 -3
  30. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +3 -3
  31. data/ext/ice/cpp/include/generated/Ice/Connection.h +33 -36
  32. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +3 -3
  33. data/ext/ice/cpp/include/generated/Ice/Current.h +20 -21
  34. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +24 -24
  35. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +3 -3
  36. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +3 -3
  37. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +3 -3
  38. data/ext/ice/cpp/include/generated/Ice/Identity.h +4 -5
  39. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +3 -3
  40. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +3 -3
  41. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +15 -15
  42. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +3 -3
  43. data/ext/ice/cpp/include/generated/Ice/LocalException.h +27 -93
  44. data/ext/ice/cpp/include/generated/Ice/Locator.h +27 -32
  45. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +3 -3
  46. data/ext/ice/cpp/include/generated/Ice/Logger.h +3 -3
  47. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +3 -3
  48. data/ext/ice/cpp/include/generated/Ice/Metrics.h +75 -79
  49. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +3 -3
  50. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +3 -3
  51. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +3 -3
  52. data/ext/ice/cpp/include/generated/Ice/Plugin.h +3 -3
  53. data/ext/ice/cpp/include/generated/Ice/PluginF.h +3 -3
  54. data/ext/ice/cpp/include/generated/Ice/Process.h +3 -3
  55. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +3 -3
  56. data/ext/ice/cpp/include/generated/Ice/Properties.h +3 -3
  57. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +9 -9
  58. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +3 -3
  59. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +9 -11
  60. data/ext/ice/cpp/include/generated/Ice/Router.h +22 -22
  61. data/ext/ice/cpp/include/generated/Ice/RouterF.h +3 -3
  62. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +3 -3
  63. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +3 -3
  64. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +3 -3
  65. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +3 -3
  66. data/ext/ice/cpp/include/generated/Ice/Version.h +15 -17
  67. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +3 -3
  68. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +3 -3
  69. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +3 -3
  70. data/ext/ice/cpp/src/Ice/ArgVector.cpp +3 -3
  71. data/ext/ice/cpp/src/Ice/Base64.cpp +11 -12
  72. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
  73. data/ext/ice/cpp/src/Ice/Buffer.cpp +2 -2
  74. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
  75. data/ext/ice/cpp/src/Ice/Communicator.cpp +3 -3
  76. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
  77. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +19 -0
  78. data/ext/ice/cpp/src/Ice/CommunicatorI.h +5 -0
  79. data/ext/ice/cpp/src/Ice/Connection.cpp +3 -3
  80. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
  81. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +31 -16
  82. data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
  83. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +13 -0
  84. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +6 -5
  85. data/ext/ice/cpp/src/Ice/Endpoint.cpp +3 -3
  86. data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
  87. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
  88. data/ext/ice/cpp/src/Ice/Exception.cpp +5 -5
  89. data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
  90. data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
  91. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +12 -1
  92. data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
  93. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +3 -3
  94. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
  95. data/ext/ice/cpp/src/Ice/Incoming.cpp +2 -0
  96. data/ext/ice/cpp/src/Ice/Initialize.cpp +4 -3
  97. data/ext/ice/cpp/src/Ice/InputStream.cpp +19 -19
  98. data/ext/ice/cpp/src/Ice/Instance.cpp +28 -8
  99. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +3 -3
  100. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
  101. data/ext/ice/cpp/src/Ice/LocalException.cpp +3 -3
  102. data/ext/ice/cpp/src/Ice/Locator.cpp +7 -7
  103. data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
  104. data/ext/ice/cpp/src/Ice/Logger.cpp +3 -3
  105. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -7
  106. data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
  107. data/ext/ice/cpp/src/Ice/LoggerI.cpp +6 -0
  108. data/ext/ice/cpp/src/Ice/Metrics.cpp +5 -5
  109. data/ext/ice/cpp/src/Ice/Network.cpp +23 -22
  110. data/ext/ice/cpp/src/Ice/Network.h +1 -1
  111. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
  112. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
  113. data/ext/ice/cpp/src/Ice/Object.cpp +9 -7
  114. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +3 -3
  115. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
  116. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +13 -1
  117. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +4 -0
  118. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +3 -3
  119. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
  120. data/ext/ice/cpp/src/Ice/OutputStream.cpp +24 -24
  121. data/ext/ice/cpp/src/Ice/Plugin.cpp +3 -3
  122. data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
  123. data/ext/ice/cpp/src/Ice/Process.cpp +3 -3
  124. data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
  125. data/ext/ice/cpp/src/Ice/Properties.cpp +3 -3
  126. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +4 -4
  127. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
  128. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +2 -1
  129. data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
  130. data/ext/ice/cpp/src/Ice/Proxy.cpp +6 -0
  131. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
  132. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
  133. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +3 -2
  134. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +3 -3
  135. data/ext/ice/cpp/src/Ice/Router.cpp +6 -6
  136. data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
  137. data/ext/ice/cpp/src/Ice/SHA1.cpp +2 -2
  138. data/ext/ice/cpp/src/Ice/Selector.cpp +18 -13
  139. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +3 -3
  140. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
  141. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
  142. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +6 -6
  143. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +6 -0
  144. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +5 -0
  145. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +5 -0
  146. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +5 -0
  147. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +63 -0
  148. data/ext/ice/cpp/src/Ice/ThreadPool.h +10 -2
  149. data/ext/ice/cpp/src/Ice/Timer.cpp +10 -0
  150. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +11 -1
  151. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +10 -2
  152. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +3 -3
  153. data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
  154. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +16 -15
  155. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +3 -3
  156. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +3 -3
  157. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +3 -3
  158. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +3 -3
  159. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +37 -8
  160. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +3 -3
  161. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +3 -3
  162. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
  163. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +3 -3
  164. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +4 -16
  165. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -1
  166. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +40 -3
  167. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -7
  168. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -2
  169. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +18 -6
  170. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +19 -7
  171. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +2 -0
  172. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +32 -21
  173. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +21 -6
  174. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +19 -16
  175. data/ext/ice/cpp/src/IceSSL/Util.cpp +11 -5
  176. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +1 -1
  177. data/ext/ice/cpp/src/IceUtil/Options.cpp +3 -3
  178. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +40 -10
  179. data/ext/ice/cpp/src/IceUtil/Random.cpp +2 -2
  180. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +5 -5
  181. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +3 -3
  182. data/ext/ice/cpp/src/IceUtil/Time.cpp +3 -3
  183. data/ext/ice/cpp/src/IceUtil/UUID.cpp +5 -5
  184. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +4 -4
  185. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +13 -9
  186. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +1 -1
  187. data/ext/ice/cpp/src/Slice/Grammar.cpp +8 -0
  188. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +1 -2
  189. data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -0
  190. data/ext/ice/cpp/src/Slice/Parser.cpp +60 -112
  191. data/ext/ice/cpp/src/Slice/Parser.h +27 -1
  192. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
  193. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +10 -10
  194. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +1 -1
  195. data/ext/ice/cpp/src/Slice/Scanner.cpp +8 -0
  196. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +11 -6
  197. data/ext/ice/mcpp/Makefile +2 -5
  198. data/ice.gemspec +1 -1
  199. data/lib/Glacier2/Metrics.rb +1 -1
  200. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  201. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  202. data/lib/Glacier2/Router.rb +1 -1
  203. data/lib/Glacier2/RouterF.rb +1 -1
  204. data/lib/Glacier2/SSLInfo.rb +1 -1
  205. data/lib/Glacier2/Session.rb +1 -1
  206. data/lib/Ice/BuiltinSequences.rb +1 -1
  207. data/lib/Ice/Communicator.rb +1 -1
  208. data/lib/Ice/CommunicatorF.rb +1 -1
  209. data/lib/Ice/Connection.rb +1 -1
  210. data/lib/Ice/ConnectionF.rb +1 -1
  211. data/lib/Ice/Current.rb +1 -1
  212. data/lib/Ice/Endpoint.rb +1 -1
  213. data/lib/Ice/EndpointF.rb +1 -1
  214. data/lib/Ice/EndpointTypes.rb +1 -1
  215. data/lib/Ice/FacetMap.rb +1 -1
  216. data/lib/Ice/Identity.rb +1 -1
  217. data/lib/Ice/ImplicitContext.rb +1 -1
  218. data/lib/Ice/ImplicitContextF.rb +1 -1
  219. data/lib/Ice/Instrumentation.rb +1 -1
  220. data/lib/Ice/InstrumentationF.rb +1 -1
  221. data/lib/Ice/LocalException.rb +1 -1
  222. data/lib/Ice/Locator.rb +1 -1
  223. data/lib/Ice/LocatorF.rb +1 -1
  224. data/lib/Ice/Logger.rb +1 -1
  225. data/lib/Ice/LoggerF.rb +1 -1
  226. data/lib/Ice/Metrics.rb +1 -1
  227. data/lib/Ice/ObjectAdapter.rb +1 -1
  228. data/lib/Ice/ObjectAdapterF.rb +1 -1
  229. data/lib/Ice/ObjectFactory.rb +1 -1
  230. data/lib/Ice/Plugin.rb +1 -1
  231. data/lib/Ice/PluginF.rb +1 -1
  232. data/lib/Ice/Process.rb +1 -1
  233. data/lib/Ice/ProcessF.rb +1 -1
  234. data/lib/Ice/Properties.rb +1 -1
  235. data/lib/Ice/PropertiesAdmin.rb +1 -1
  236. data/lib/Ice/PropertiesF.rb +1 -1
  237. data/lib/Ice/RemoteLogger.rb +1 -1
  238. data/lib/Ice/Router.rb +1 -1
  239. data/lib/Ice/RouterF.rb +1 -1
  240. data/lib/Ice/ServantLocator.rb +1 -1
  241. data/lib/Ice/ServantLocatorF.rb +1 -1
  242. data/lib/Ice/SliceChecksumDict.rb +1 -1
  243. data/lib/Ice/ValueFactory.rb +1 -1
  244. data/lib/Ice/Version.rb +1 -1
  245. data/lib/IceBox/IceBox.rb +1 -1
  246. data/lib/IceGrid/Admin.rb +1 -1
  247. data/lib/IceGrid/Descriptor.rb +1 -1
  248. data/lib/IceGrid/Exception.rb +1 -1
  249. data/lib/IceGrid/FileParser.rb +1 -1
  250. data/lib/IceGrid/PluginFacade.rb +1 -1
  251. data/lib/IceGrid/Registry.rb +1 -1
  252. data/lib/IceGrid/Session.rb +1 -1
  253. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  254. data/lib/IcePatch2/FileInfo.rb +1 -1
  255. data/lib/IcePatch2/FileServer.rb +1 -1
  256. data/lib/IceStorm/IceStorm.rb +1 -1
  257. data/lib/IceStorm/Metrics.rb +1 -1
  258. data/slice/Glacier2/Metrics.ice +1 -1
  259. data/slice/Ice/Communicator.ice +57 -25
  260. data/slice/Ice/Connection.ice +14 -14
  261. data/slice/Ice/Current.ice +1 -1
  262. data/slice/Ice/Endpoint.ice +6 -6
  263. data/slice/Ice/EndpointF.ice +1 -1
  264. data/slice/Ice/FacetMap.ice +1 -1
  265. data/slice/Ice/ImplicitContext.ice +6 -6
  266. data/slice/Ice/Instrumentation.ice +6 -6
  267. data/slice/Ice/Logger.ice +6 -6
  268. data/slice/Ice/Metrics.ice +12 -9
  269. data/slice/Ice/ObjectAdapter.ice +43 -31
  270. data/slice/Ice/ObjectFactory.ice +1 -1
  271. data/slice/Ice/Plugin.ice +2 -2
  272. data/slice/Ice/Properties.ice +10 -10
  273. data/slice/Ice/ServantLocator.ice +4 -2
  274. data/slice/Ice/ValueFactory.ice +3 -3
  275. data/slice/IceBT/EndpointInfo.ice +1 -1
  276. data/slice/IceGrid/PluginFacade.ice +4 -4
  277. data/slice/IceIAP/ConnectionInfo.ice +1 -1
  278. data/slice/IceIAP/EndpointInfo.ice +1 -1
  279. data/slice/IceSSL/ConnectionInfo.ice +3 -2
  280. data/slice/IceSSL/ConnectionInfoF.ice +1 -1
  281. data/slice/IceSSL/EndpointInfo.ice +1 -1
  282. data/slice/IceStorm/Metrics.ice +1 -1
  283. metadata +5 -3
@@ -18,6 +18,9 @@
18
18
  #include <IceUtil/Mutex.h>
19
19
  #include <IceUtil/MutexPtrLock.h>
20
20
  #include <Ice/UUID.h>
21
+ #ifdef ICE_SWIFT
22
+ # include <Ice/ThreadPool.h>
23
+ #endif
21
24
 
22
25
  using namespace std;
23
26
  using namespace Ice;
@@ -378,6 +381,22 @@ Ice::CommunicatorI::getValueFactoryManager() const ICE_NOEXCEPT
378
381
  return _instance->initializationData().valueFactoryManager;
379
382
  }
380
383
 
384
+ #ifdef ICE_SWIFT
385
+
386
+ dispatch_queue_t
387
+ Ice::CommunicatorI::getClientDispatchQueue() const
388
+ {
389
+ return _instance->clientThreadPool()->getDispatchQueue();
390
+ }
391
+
392
+ dispatch_queue_t
393
+ Ice::CommunicatorI::getServerDispatchQueue() const
394
+ {
395
+ return _instance->serverThreadPool()->getDispatchQueue();
396
+ }
397
+
398
+ #endif
399
+
381
400
  namespace
382
401
  {
383
402
 
@@ -97,6 +97,11 @@ public:
97
97
 
98
98
  virtual ValueFactoryManagerPtr getValueFactoryManager() const ICE_NOEXCEPT;
99
99
 
100
+ #ifdef ICE_SWIFT
101
+ virtual dispatch_queue_t getClientDispatchQueue() const;
102
+ virtual dispatch_queue_t getServerDispatchQueue() const;
103
+ #endif
104
+
100
105
  #ifdef ICE_CPP11_MAPPING
101
106
  virtual ::std::function<void()>
102
107
  flushBatchRequestsAsync(CompressBatch,
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -34,10 +34,10 @@
34
34
  # if ICE_INT_VERSION / 100 != 307
35
35
  # error Ice version mismatch!
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 > 50
37
+ # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 2
40
+ # if ICE_INT_VERSION % 100 < 3
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.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -32,10 +32,10 @@
32
32
  # if ICE_INT_VERSION / 100 != 307
33
33
  # error Ice version mismatch!
34
34
  # endif
35
- # if ICE_INT_VERSION % 100 > 50
35
+ # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 2
38
+ # if ICE_INT_VERSION % 100 < 3
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -1650,6 +1650,15 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current)
1650
1650
  _observer->receivedBytes(static_cast<int>(headerSize));
1651
1651
  }
1652
1652
 
1653
+ //
1654
+ // Connection is validated on first message. This is only used by
1655
+ // setState() to check wether or not we can print a connection
1656
+ // warning (a client might close the connection forcefully if the
1657
+ // connection isn't validated, we don't want to print a warning
1658
+ // in this case).
1659
+ //
1660
+ _validated = true;
1661
+
1653
1662
  ptrdiff_t pos = _readStream.i - _readStream.b.begin();
1654
1663
  if(pos < headerSize)
1655
1664
  {
@@ -1683,13 +1692,14 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current)
1683
1692
  {
1684
1693
  throw IllegalMessageSizeException(__FILE__, __LINE__);
1685
1694
  }
1695
+
1686
1696
  if(size > static_cast<Int>(_messageSizeMax))
1687
1697
  {
1688
- Ex::throwMemoryLimitException(__FILE__, __LINE__, size, _messageSizeMax);
1698
+ Ex::throwMemoryLimitException(__FILE__, __LINE__, static_cast<size_t>(size), _messageSizeMax);
1689
1699
  }
1690
- if(size > static_cast<Int>(_readStream.b.size()))
1700
+ if(static_cast<size_t>(size) > _readStream.b.size())
1691
1701
  {
1692
- _readStream.b.resize(size);
1702
+ _readStream.b.resize(static_cast<size_t>(size));
1693
1703
  }
1694
1704
  _readStream.i = _readStream.b.begin() + pos;
1695
1705
  }
@@ -1835,6 +1845,12 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current)
1835
1845
  }
1836
1846
  }
1837
1847
 
1848
+ // dispatchFromThisThread dispatches to the correct DispatchQueue
1849
+ #ifdef ICE_SWIFT
1850
+ _threadPool->dispatchFromThisThread(new DispatchCall(ICE_SHARED_FROM_THIS, startCB, sentCBs, compress, requestId,
1851
+ invokeNum, servantManager, adapter, outAsync,
1852
+ heartbeatCallback, current.stream));
1853
+ #else
1838
1854
  if(!_dispatcher) // Optimization, call dispatch() directly if there's no dispatcher.
1839
1855
  {
1840
1856
  dispatch(startCB, sentCBs, compress, requestId, invokeNum, servantManager, adapter, outAsync, heartbeatCallback,
@@ -1847,6 +1863,7 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current)
1847
1863
  heartbeatCallback, current.stream));
1848
1864
 
1849
1865
  }
1866
+ #endif
1850
1867
  }
1851
1868
 
1852
1869
  void
@@ -1998,6 +2015,11 @@ Ice::ConnectionI::finished(ThreadPoolCurrent& current, bool close)
1998
2015
  }
1999
2016
 
2000
2017
  current.ioCompleted();
2018
+
2019
+ // dispatchFromThisThread dispatches to the correct DispatchQueue
2020
+ #ifdef ICE_SWIFT
2021
+ _threadPool->dispatchFromThisThread(new FinishCall(ICE_SHARED_FROM_THIS, close));
2022
+ #else
2001
2023
  if(!_dispatcher) // Optimization, call finish() directly if there's no dispatcher.
2002
2024
  {
2003
2025
  finish(close);
@@ -2006,6 +2028,7 @@ Ice::ConnectionI::finished(ThreadPoolCurrent& current, bool close)
2006
2028
  {
2007
2029
  _threadPool->dispatchFromThisThread(new FinishCall(ICE_SHARED_FROM_THIS, close));
2008
2030
  }
2031
+ #endif
2009
2032
  }
2010
2033
 
2011
2034
  void
@@ -2724,6 +2747,8 @@ Ice::ConnectionI::validate(SocketOperation operation)
2724
2747
  _observer.finishRead(_readStream);
2725
2748
  }
2726
2749
 
2750
+ _validated = true;
2751
+
2727
2752
  assert(_readStream.i == _readStream.b.end());
2728
2753
  _readStream.i = _readStream.b.begin();
2729
2754
  Byte m[4];
@@ -2756,8 +2781,6 @@ Ice::ConnectionI::validate(SocketOperation operation)
2756
2781
  throw IllegalMessageSizeException(__FILE__, __LINE__);
2757
2782
  }
2758
2783
  traceRecv(_readStream, _logger, _traceLevels);
2759
-
2760
- _validated = true;
2761
2784
  }
2762
2785
  }
2763
2786
 
@@ -3195,11 +3218,11 @@ Ice::ConnectionI::doUncompress(InputStream& compressed, InputStream& uncompresse
3195
3218
 
3196
3219
  if(uncompressedSize > static_cast<Int>(_messageSizeMax))
3197
3220
  {
3198
- Ex::throwMemoryLimitException(__FILE__, __LINE__, uncompressedSize, _messageSizeMax);
3221
+ Ex::throwMemoryLimitException(__FILE__, __LINE__, static_cast<size_t>(uncompressedSize), _messageSizeMax);
3199
3222
  }
3200
- uncompressed.resize(uncompressedSize);
3223
+ uncompressed.resize(static_cast<size_t>(uncompressedSize));
3201
3224
 
3202
- unsigned int uncompressedLen = uncompressedSize - headerSize;
3225
+ unsigned int uncompressedLen = static_cast<unsigned int>(uncompressedSize - headerSize);
3203
3226
  unsigned int compressedLen = static_cast<unsigned int>(compressed.b.size() - headerSize - sizeof(Int));
3204
3227
  int bzError = BZ2_bzBuffToBuffDecompress(reinterpret_cast<char*>(&uncompressed.b[0]) + headerSize,
3205
3228
  &uncompressedLen,
@@ -3230,14 +3253,6 @@ Ice::ConnectionI::parseMessage(InputStream& stream, Int& invokeNum, Int& request
3230
3253
 
3231
3254
  assert(stream.i == stream.b.end());
3232
3255
 
3233
- //
3234
- // Connection is validated on first message. This is only used by
3235
- // setState() to check wether or not we can print a connection
3236
- // warning (a client might close the connection forcefully if the
3237
- // connection isn't validated).
3238
- //
3239
- _validated = true;
3240
-
3241
3256
  try
3242
3257
  {
3243
3258
  //
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -34,10 +34,10 @@
34
34
  # if ICE_INT_VERSION / 100 != 307
35
35
  # error Ice version mismatch!
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 > 50
37
+ # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 2
40
+ # if ICE_INT_VERSION % 100 < 3
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -21,4 +21,17 @@ Ice::DispatchInterceptor::_iceDispatch(IceInternal::Incoming& in, const Current&
21
21
  {
22
22
  return false;
23
23
  }
24
+ catch(const std::exception&)
25
+ {
26
+ //
27
+ // If the input parameters weren't read, make sure we skip them here. It's needed to read the
28
+ // encoding version used by the client to eventually marshal the user exception. It's also needed
29
+ // if we dispatch a batch oneway request to read the next batch request.
30
+ //
31
+ if(in.getCurrent().encoding.major == 0 && in.getCurrent().encoding.minor == 0)
32
+ {
33
+ in.skipReadParams();
34
+ }
35
+ throw;
36
+ }
24
37
  }
@@ -212,12 +212,11 @@ IceInternal::DynamicLibrary::load(const string& lib)
212
212
  // Don't need to use a wide string converter as the wide string is passed
213
213
  // to Windows API.
214
214
  //
215
- #ifdef ICE_OS_UWP
215
+ #if defined(ICE_OS_UWP)
216
216
  _hnd = LoadPackagedLibrary(stringToWstring(lib, getProcessStringConverter()).c_str(), 0);
217
217
  #elif defined(_WIN32)
218
218
  _hnd = LoadLibraryW(stringToWstring(lib, getProcessStringConverter()).c_str());
219
219
  #else
220
-
221
220
  int flags = RTLD_NOW | RTLD_GLOBAL;
222
221
  #ifdef _AIX
223
222
  flags |= RTLD_MEMBER;
@@ -230,8 +229,10 @@ IceInternal::DynamicLibrary::load(const string& lib)
230
229
  //
231
230
  // Remember the most recent error in _err.
232
231
  //
233
- #ifdef _WIN32
234
- _err = IceUtilInternal::lastErrorToString();
232
+ #if defined(ICE_OS_UWP)
233
+ _err = "LoadPackagedLibrary on `" + lib + "' failed with `" + IceUtilInternal::lastErrorToString() + "'";
234
+ #elif defined(_WIN32)
235
+ _err = "LoadLibraryW on `" + lib + "' failed with `" + IceUtilInternal::lastErrorToString() + "'";
235
236
  #else
236
237
  const char* err = dlerror();
237
238
  if(err)
@@ -260,7 +261,7 @@ IceInternal::DynamicLibrary::getSymbol(const string& name)
260
261
  // Remember the most recent error in _err.
261
262
  //
262
263
  #ifdef _WIN32
263
- _err = IceUtilInternal::lastErrorToString();
264
+ _err = "GetProcAddress for `" + name + "' failed with `" + IceUtilInternal::lastErrorToString() + "'";
264
265
  #else
265
266
  const char* err = dlerror();
266
267
  if(err)
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -34,10 +34,10 @@
34
34
  # if ICE_INT_VERSION / 100 != 307
35
35
  # error Ice version mismatch!
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 > 50
37
+ # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 2
40
+ # if ICE_INT_VERSION % 100 < 3
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.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -32,10 +32,10 @@
32
32
  # if ICE_INT_VERSION / 100 != 307
33
33
  # error Ice version mismatch!
34
34
  # endif
35
- # if ICE_INT_VERSION % 100 > 50
35
+ # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 2
38
+ # if ICE_INT_VERSION % 100 < 3
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.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -32,10 +32,10 @@
32
32
  # if ICE_INT_VERSION / 100 != 307
33
33
  # error Ice version mismatch!
34
34
  # endif
35
- # if ICE_INT_VERSION % 100 > 50
35
+ # if ICE_INT_VERSION % 100 >= 50
36
36
  # error Beta header file detected
37
37
  # endif
38
- # if ICE_INT_VERSION % 100 < 2
38
+ # if ICE_INT_VERSION % 100 < 3
39
39
  # error Ice patch level mismatch!
40
40
  # endif
41
41
  #endif
@@ -707,7 +707,7 @@ void
707
707
  Ice::NoValueFactoryException::ice_print(ostream& out) const
708
708
  {
709
709
  Exception::ice_print(out);
710
- out << ":\nprotocol error: no suitable object factory found for `" << type << "'";
710
+ out << ":\nprotocol error: no suitable value factory found for `" << type << "'";
711
711
  if(!reason.empty())
712
712
  {
713
713
  out << ":\n" << reason;
@@ -788,28 +788,28 @@ void
788
788
  Ice::NotRegisteredException::ice_print(ostream& out) const
789
789
  {
790
790
  Exception::ice_print(out);
791
- out << ":\n no " << kindOfObject << " with id `" << id << "' is registered";
791
+ out << ":\nno " << kindOfObject << " with id `" << id << "' is registered";
792
792
  }
793
793
 
794
794
  void
795
795
  Ice::TwowayOnlyException::ice_print(ostream& out) const
796
796
  {
797
797
  Exception::ice_print(out);
798
- out << ":\n operation `" << operation << "' can only be invoked as a twoway request";
798
+ out << ":\noperation `" << operation << "' can only be invoked as a twoway request";
799
799
  }
800
800
 
801
801
  void
802
802
  Ice::CloneNotImplementedException::ice_print(ostream& out) const
803
803
  {
804
804
  Exception::ice_print(out);
805
- out << ":\n ice_clone() must be implemented in classes derived from abstract base classes";
805
+ out << ":\nice_clone() must be implemented in classes derived from abstract base classes";
806
806
  }
807
807
 
808
808
  void
809
809
  Ice::FeatureNotSupportedException::ice_print(ostream& out) const
810
810
  {
811
811
  Exception::ice_print(out);
812
- out << ":\nfeature `" << unsupportedFeature << "' is not supported.";
812
+ out << ":\nfeature `" << unsupportedFeature << "' is not supported";
813
813
  }
814
814
 
815
815
  void
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -34,10 +34,10 @@
34
34
  # if ICE_INT_VERSION / 100 != 307
35
35
  # error Ice version mismatch!
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 > 50
37
+ # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 2
40
+ # if ICE_INT_VERSION % 100 < 3
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif
@@ -11,7 +11,7 @@ namespace IceInternal
11
11
  inline void
12
12
  hashAdd(Ice::Int& hashCode, Ice::Int value)
13
13
  {
14
- hashCode = ((hashCode << 5) + hashCode) ^ (2654435761u * value);
14
+ hashCode = ((hashCode << 5) + hashCode) ^ static_cast<Ice::Int>(2654435761u) * value;
15
15
  }
16
16
 
17
17
  inline void
@@ -255,7 +255,18 @@ IceInternal::IPEndpointI::options() const
255
255
 
256
256
  if(isAddressValid(_sourceAddr))
257
257
  {
258
- s << " --sourceAddress " << inetAddrToString(_sourceAddr);
258
+ const string sourceAddr = inetAddrToString(_sourceAddr);
259
+ bool addQuote = sourceAddr.find(':') != string::npos;
260
+ s << " --sourceAddress ";
261
+ if(addQuote)
262
+ {
263
+ s << "\"";
264
+ }
265
+ s << sourceAddr;
266
+ if(addQuote)
267
+ {
268
+ s << "\"";
269
+ }
259
270
  }
260
271
 
261
272
  return s.str();
@@ -2,7 +2,7 @@
2
2
  // Copyright (c) ZeroC, Inc. All rights reserved.
3
3
  //
4
4
  //
5
- // Ice version 3.7.2
5
+ // Ice version 3.7.3
6
6
  //
7
7
  // <auto-generated>
8
8
  //
@@ -34,10 +34,10 @@
34
34
  # if ICE_INT_VERSION / 100 != 307
35
35
  # error Ice version mismatch!
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 > 50
37
+ # if ICE_INT_VERSION % 100 >= 50
38
38
  # error Beta header file detected
39
39
  # endif
40
- # if ICE_INT_VERSION % 100 < 2
40
+ # if ICE_INT_VERSION % 100 < 3
41
41
  # error Ice patch level mismatch!
42
42
  # endif
43
43
  #endif