zeroc-ice 3.7.11 → 3.8.1

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 (895) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +159 -376
  3. data/dist/IceRuby/Communicator.h +8 -9
  4. data/dist/IceRuby/Config.h +23 -89
  5. data/dist/IceRuby/Connection.cpp +111 -219
  6. data/dist/IceRuby/Connection.h +8 -12
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +63 -65
  10. data/dist/IceRuby/Endpoint.h +7 -11
  11. data/dist/IceRuby/ImplicitContext.cpp +26 -31
  12. data/dist/IceRuby/ImplicitContext.h +6 -10
  13. data/dist/IceRuby/Init.cpp +27 -40
  14. data/dist/IceRuby/Logger.cpp +23 -28
  15. data/dist/IceRuby/Logger.h +8 -12
  16. data/dist/IceRuby/Operation.cpp +177 -219
  17. data/dist/IceRuby/Operation.h +15 -18
  18. data/dist/IceRuby/Properties.cpp +133 -89
  19. data/dist/IceRuby/Properties.h +6 -10
  20. data/dist/IceRuby/Proxy.cpp +179 -649
  21. data/dist/IceRuby/Proxy.h +11 -12
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +88 -94
  25. data/dist/IceRuby/Slice.h +3 -7
  26. data/dist/IceRuby/Types.cpp +987 -1190
  27. data/dist/IceRuby/Types.h +390 -461
  28. data/dist/IceRuby/Util.cpp +214 -473
  29. data/dist/IceRuby/Util.h +378 -479
  30. data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
  31. data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
  32. data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +4 -10
  33. data/dist/ice/cpp/include/Ice/Buffer.h +116 -111
  34. data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
  35. data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
  36. data/dist/ice/cpp/include/Ice/Config.h +46 -62
  37. data/dist/ice/cpp/include/Ice/Connection.h +410 -0
  38. data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
  39. data/dist/ice/cpp/include/Ice/ConnectionIF.h +6 -28
  40. data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
  41. data/dist/ice/cpp/include/Ice/Current.h +60 -0
  42. data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
  43. data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
  44. data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
  45. data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
  46. data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
  47. data/dist/ice/cpp/include/Ice/Exception.h +46 -151
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +11 -27
  50. data/dist/ice/cpp/include/Ice/Ice.h +53 -48
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +165 -326
  52. data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
  53. data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
  54. data/dist/ice/cpp/include/Ice/Initialize.h +113 -927
  55. data/dist/ice/cpp/include/Ice/InputStream.h +748 -1320
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +4 -10
  57. data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
  58. data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
  59. data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
  60. data/dist/ice/cpp/include/Ice/Logger.h +62 -0
  61. data/dist/ice/cpp/include/Ice/LoggerUtil.h +124 -147
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +41 -71
  64. data/dist/ice/cpp/include/Ice/Object.h +151 -490
  65. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
  66. data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
  67. data/dist/ice/cpp/include/Ice/ObjectF.h +5 -19
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +115 -132
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +392 -748
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +756 -956
  72. data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
  73. data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
  74. data/dist/ice/cpp/include/{IceUtil → Ice}/PopDisableWarnings.h +8 -6
  75. data/dist/ice/cpp/include/Ice/Properties.h +307 -0
  76. data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
  77. data/dist/ice/cpp/include/Ice/Proxy.h +665 -5094
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +2 -44
  79. data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
  80. data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
  81. data/dist/ice/cpp/include/Ice/ReferenceF.h +4 -19
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +8 -18
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +276 -0
  84. data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
  85. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
  86. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
  87. data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
  88. data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
  89. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +286 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +182 -342
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +113 -160
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +17 -27
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +532 -1070
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +152 -63
  98. data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
  99. data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
  100. data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
  101. data/dist/ice/cpp/include/Ice/UUID.h +6 -9
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +4 -79
  104. data/dist/ice/cpp/include/Ice/Value.h +103 -115
  105. data/dist/ice/cpp/include/Ice/ValueF.h +6 -11
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +16 -1877
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -1185
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +46 -146
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +49 -93
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +70 -226
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +494 -3850
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +937 -4603
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +197 -929
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +249 -1301
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +637 -2620
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +429 -1783
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +18 -65
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +73 -318
  124. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
  125. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
  126. data/dist/ice/cpp/src/Ice/Acceptor.h +28 -24
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +6 -14
  128. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
  129. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
  130. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
  131. data/dist/ice/cpp/src/Ice/ArgVector.cpp +17 -18
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +19 -25
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +66 -66
  134. data/dist/ice/cpp/src/Ice/Base64.h +14 -19
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +70 -121
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +37 -47
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +73 -41
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +215 -249
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +38 -60
  141. data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
  142. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
  143. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
  144. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +63 -184
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +30 -51
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +4 -14
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +578 -792
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +200 -200
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +6 -19
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +1674 -1782
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +333 -293
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +25 -19
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +4 -11
  156. data/dist/ice/cpp/src/{IceUtil → Ice}/ConsoleUtil.cpp +32 -53
  157. data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
  158. data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
  159. data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
  160. data/dist/ice/cpp/src/Ice/DLLMain.cpp +25 -35
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +41 -119
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +27 -41
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +4 -11
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +26 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +44 -112
  168. data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
  169. data/dist/ice/cpp/src/Ice/Endian.h +40 -0
  170. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +35 -59
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +82 -103
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +4 -11
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +54 -87
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +28 -33
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +4 -11
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +53 -23
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +132 -200
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +11 -39
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +3 -26
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +46 -56
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +4 -14
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +3 -816
  183. data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
  184. data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
  185. data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
  186. data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
  187. data/dist/ice/cpp/src/Ice/HashUtil.h +46 -32
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +431 -431
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +95 -100
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +207 -324
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +80 -126
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +6 -17
  193. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
  194. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
  195. data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
  196. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
  197. data/dist/ice/cpp/src/Ice/Initialize.cpp +48 -542
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +848 -1385
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +816 -827
  200. data/dist/ice/cpp/src/Ice/Instance.h +202 -212
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +526 -661
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +171 -192
  203. data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
  204. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
  205. data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +291 -329
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +144 -157
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +8 -17
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +561 -743
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +18 -28
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +66 -91
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +36 -41
  212. data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
  213. data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
  214. data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +14 -38
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +194 -280
  217. data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
  218. data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
  219. data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
  220. data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
  221. data/dist/ice/cpp/src/Ice/Network.cpp +595 -917
  222. data/dist/ice/cpp/src/Ice/Network.h +189 -213
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +2 -10
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +99 -104
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +49 -54
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +4 -11
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +16 -18
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +22 -27
  229. data/dist/ice/cpp/src/Ice/Object.cpp +152 -338
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +170 -113
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +41 -41
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +4 -15
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +580 -727
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +149 -145
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +36 -17
  236. data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
  237. data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
  238. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +147 -187
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +56 -64
  240. data/dist/ice/cpp/src/{IceUtil → Ice}/Options.cpp +187 -258
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +516 -732
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +610 -543
  245. data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
  246. data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
  247. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +118 -277
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +41 -48
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +519 -1341
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +49 -64
  252. data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
  253. data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
  254. data/dist/ice/cpp/src/Ice/Protocol.cpp +129 -94
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +117 -62
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +63 -82
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +4 -11
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +10 -32
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +25 -54
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +294 -1357
  262. data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
  263. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
  264. data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
  265. data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
  266. data/dist/ice/cpp/src/Ice/Random.h +23 -0
  267. data/dist/ice/cpp/src/Ice/Reference.cpp +635 -1097
  268. data/dist/ice/cpp/src/Ice/Reference.h +314 -298
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +320 -378
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +48 -66
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +4 -9
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +15 -24
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +43 -68
  274. data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
  275. data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
  276. data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
  277. data/dist/ice/cpp/src/Ice/RetryQueue.cpp +51 -57
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +39 -46
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +4 -9
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +97 -201
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +61 -118
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +6 -14
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +86 -60
  284. data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
  285. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
  286. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
  287. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +521 -0
  288. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
  289. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
  290. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +646 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/{IceSSL → Ice/SSL}/RFC2253.cpp +85 -88
  293. data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
  294. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
  295. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
  296. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
  297. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
  298. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
  299. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
  300. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
  301. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +69 -0
  302. data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
  303. data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
  304. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
  305. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
  306. data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
  307. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +673 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +118 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1449 -0
  310. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
  311. data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
  312. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1088 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +825 -0
  315. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
  316. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
  317. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
  318. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
  319. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1048 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +233 -0
  322. data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
  323. data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
  324. data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
  325. data/dist/ice/cpp/src/Ice/Selector.cpp +341 -606
  326. data/dist/ice/cpp/src/Ice/Selector.h +167 -224
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +195 -128
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +52 -55
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +548 -641
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +13 -26
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +17 -96
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +104 -151
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +48 -60
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +586 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +41 -47
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +24 -27
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +16 -17
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +19 -25
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +67 -88
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +34 -40
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +42 -41
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +26 -35
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +172 -146
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +76 -80
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +38 -26
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +40 -45
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +333 -515
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +202 -290
  353. data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
  354. data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
  355. data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
  356. data/dist/ice/cpp/src/Ice/Timer.cpp +73 -167
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +11 -29
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +22 -28
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +4 -11
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +136 -215
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +27 -16
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +3 -7
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +35 -32
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +10 -20
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +39 -39
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +27 -36
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +178 -213
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +82 -85
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +201 -221
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +68 -74
  373. data/dist/ice/cpp/{include/IceUtil → src/Ice}/UndefSysMacros.h +12 -12
  374. data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
  375. data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
  376. data/dist/ice/cpp/src/Ice/Value.cpp +107 -38
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +10 -15
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +31 -37
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +25 -40
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +26 -33
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +164 -217
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +72 -83
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +469 -458
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +117 -123
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +20 -29
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +20 -31
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +24 -34
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +454 -1744
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +824 -1971
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +190 -331
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +289 -449
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +547 -867
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +406 -723
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +19 -29
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +28 -31
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +76 -139
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +55 -96
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +190 -303
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +126 -185
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +56 -77
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +20 -25
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +14 -37
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +411 -649
  410. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
  411. data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
  412. data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
  413. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
  414. data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
  415. data/dist/ice/cpp/src/Slice/FileTracker.cpp +25 -75
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +35 -56
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +2711 -3382
  418. data/dist/ice/cpp/src/Slice/Grammar.h +95 -75
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +117 -217
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +486 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +3068 -5223
  423. data/dist/ice/cpp/src/Slice/Parser.h +1086 -1065
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +97 -599
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +26 -42
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +1562 -924
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +517 -113
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +254 -269
  429. data/dist/ice/cpp/src/Slice/Util.h +126 -35
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +13 -15
  431. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
  432. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
  433. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
  434. data/dist/ice/slice/Glacier2/Metrics.ice +34 -75
  435. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +42 -98
  436. data/dist/ice/slice/Glacier2/Router.ice +80 -173
  437. data/dist/ice/slice/Glacier2/SSLInfo.ice +23 -40
  438. data/dist/ice/slice/Glacier2/Session.ice +120 -261
  439. data/dist/ice/slice/Ice/BuiltinSequences.ice +33 -38
  440. data/dist/ice/slice/Ice/Context.ice +24 -0
  441. data/dist/ice/slice/Ice/EndpointTypes.ice +35 -33
  442. data/dist/ice/slice/Ice/Identity.ice +24 -63
  443. data/dist/ice/slice/Ice/Locator.ice +61 -226
  444. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  445. data/dist/ice/slice/Ice/Metrics.ice +189 -424
  446. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  447. data/dist/ice/slice/Ice/Process.ice +16 -52
  448. data/dist/ice/slice/Ice/PropertiesAdmin.ice +25 -75
  449. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  450. data/dist/ice/slice/Ice/RemoteLogger.ice +113 -213
  451. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  452. data/dist/ice/slice/Ice/Router.ice +42 -91
  453. data/dist/ice/slice/Ice/SliceChecksumDict.ice +7 -25
  454. data/dist/ice/slice/Ice/Version.ice +31 -39
  455. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  456. data/dist/ice/slice/IceGrid/Admin.ice +942 -1918
  457. data/dist/ice/slice/IceGrid/Descriptor.ice +476 -1051
  458. data/dist/ice/slice/IceGrid/Exception.ice +86 -384
  459. data/dist/ice/slice/IceGrid/FileParser.ice +23 -59
  460. data/dist/ice/slice/IceGrid/Registry.ice +117 -256
  461. data/dist/ice/slice/IceGrid/Session.ice +46 -110
  462. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +22 -57
  463. data/dist/ice/slice/IceStorm/IceStorm.ice +173 -401
  464. data/dist/ice/slice/IceStorm/Metrics.ice +28 -70
  465. data/dist/lib/Glacier2/Metrics.rb +16 -31
  466. data/dist/lib/Glacier2/PermissionsVerifier.rb +18 -50
  467. data/dist/lib/Glacier2/Router.rb +20 -42
  468. data/dist/lib/Glacier2/SSLInfo.rb +14 -22
  469. data/dist/lib/Glacier2/Session.rb +53 -113
  470. data/dist/lib/Glacier2.rb +6 -6
  471. data/dist/lib/Ice/BuiltinSequences.rb +14 -26
  472. data/dist/lib/Ice/CompressBatch.rb +50 -0
  473. data/dist/lib/Ice/Context.rb +12 -0
  474. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  475. data/dist/lib/Ice/EndpointTypes.rb +14 -55
  476. data/dist/lib/Ice/Exception.rb +20 -0
  477. data/dist/lib/Ice/Identity.rb +10 -26
  478. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  479. data/dist/lib/Ice/InitializationData.rb +12 -0
  480. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  481. data/dist/lib/Ice/Locator.rb +21 -134
  482. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  483. data/dist/lib/Ice/Metrics.rb +85 -132
  484. data/dist/lib/Ice/OperationMode.rb +58 -0
  485. data/dist/lib/Ice/Process.rb +12 -31
  486. data/dist/lib/Ice/PropertiesAdmin.rb +12 -36
  487. data/dist/lib/Ice/PropertyDict.rb +12 -0
  488. data/dist/lib/Ice/Proxy.rb +85 -0
  489. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  490. data/dist/lib/Ice/RemoteLogger.rb +29 -60
  491. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  492. data/dist/lib/Ice/Router.rb +19 -47
  493. data/dist/lib/Ice/SliceChecksumDict.rb +5 -17
  494. data/dist/lib/Ice/SliceUtil.rb +41 -0
  495. data/dist/lib/Ice/Struct.rb +11 -0
  496. data/dist/lib/Ice/ToStringMode.rb +50 -0
  497. data/dist/lib/Ice/Value.rb +93 -0
  498. data/dist/lib/Ice/Version.rb +12 -24
  499. data/dist/lib/Ice.rb +29 -665
  500. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  501. data/dist/lib/IceBox.rb +2 -4
  502. data/dist/lib/IceGrid/Admin.rb +303 -291
  503. data/dist/lib/IceGrid/Descriptor.rb +147 -192
  504. data/dist/lib/IceGrid/Exception.rb +26 -257
  505. data/dist/lib/IceGrid/FileParser.rb +12 -36
  506. data/dist/lib/IceGrid/Registry.rb +35 -76
  507. data/dist/lib/IceGrid/Session.rb +19 -34
  508. data/dist/lib/IceGrid/UserAccountMapper.rb +11 -34
  509. data/dist/lib/IceGrid.rb +3 -3
  510. data/dist/lib/IceStorm/IceStorm.rb +51 -132
  511. data/dist/lib/IceStorm/Metrics.rb +19 -37
  512. data/dist/lib/IceStorm.rb +3 -5
  513. data/extconf.rb +6 -8
  514. data/ice.gemspec +3 -3
  515. data/scripts/slice2rb +1 -3
  516. metadata +206 -386
  517. data/dist/IceRuby/ValueFactoryManager.cpp +0 -445
  518. data/dist/IceRuby/ValueFactoryManager.h +0 -95
  519. data/dist/ice/cpp/include/Ice/Application.h +0 -326
  520. data/dist/ice/cpp/include/Ice/AsyncResult.h +0 -155
  521. data/dist/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  522. data/dist/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  523. data/dist/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  524. data/dist/ice/cpp/include/Ice/Comparable.h +0 -205
  525. data/dist/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  526. data/dist/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  527. data/dist/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  528. data/dist/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  529. data/dist/ice/cpp/include/Ice/Dispatcher.h +0 -67
  530. data/dist/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  531. data/dist/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  532. data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  533. data/dist/ice/cpp/include/Ice/FactoryTable.h +0 -73
  534. data/dist/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  535. data/dist/ice/cpp/include/Ice/Functional.h +0 -140
  536. data/dist/ice/cpp/include/Ice/GCObject.h +0 -76
  537. data/dist/ice/cpp/include/Ice/Handle.h +0 -182
  538. data/dist/ice/cpp/include/Ice/Incoming.h +0 -225
  539. data/dist/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  540. data/dist/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  541. data/dist/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  542. data/dist/ice/cpp/include/Ice/LocalObject.h +0 -35
  543. data/dist/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  544. data/dist/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  545. data/dist/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  546. data/dist/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  547. data/dist/ice/cpp/include/Ice/Optional.h +0 -1114
  548. data/dist/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  549. data/dist/ice/cpp/include/Ice/Protocol.h +0 -274
  550. data/dist/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  551. data/dist/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  552. data/dist/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  553. data/dist/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  554. data/dist/ice/cpp/include/Ice/SHA1.h +0 -40
  555. data/dist/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  556. data/dist/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  557. data/dist/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  558. data/dist/ice/cpp/include/Ice/UniquePtr.h +0 -95
  559. data/dist/ice/cpp/include/Ice/UniqueRef.h +0 -97
  560. data/dist/ice/cpp/include/IceSSL/Config.h +0 -21
  561. data/dist/ice/cpp/include/IceSSL/IceSSL.h +0 -24
  562. data/dist/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  563. data/dist/ice/cpp/include/IceSSL/Plugin.h +0 -712
  564. data/dist/ice/cpp/include/IceSSL/SChannel.h +0 -72
  565. data/dist/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  566. data/dist/ice/cpp/include/IceUtil/Atomic.h +0 -179
  567. data/dist/ice/cpp/include/IceUtil/Cond.h +0 -317
  568. data/dist/ice/cpp/include/IceUtil/Config.h +0 -392
  569. data/dist/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  570. data/dist/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  571. data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -96
  572. data/dist/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  573. data/dist/ice/cpp/include/IceUtil/Exception.h +0 -394
  574. data/dist/ice/cpp/include/IceUtil/FileUtil.h +0 -140
  575. data/dist/ice/cpp/include/IceUtil/Functional.h +0 -389
  576. data/dist/ice/cpp/include/IceUtil/Handle.h +0 -261
  577. data/dist/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  578. data/dist/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  579. data/dist/ice/cpp/include/IceUtil/Iterator.h +0 -31
  580. data/dist/ice/cpp/include/IceUtil/Lock.h +0 -128
  581. data/dist/ice/cpp/include/IceUtil/Monitor.h +0 -243
  582. data/dist/ice/cpp/include/IceUtil/Mutex.h +0 -349
  583. data/dist/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  584. data/dist/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  585. data/dist/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  586. data/dist/ice/cpp/include/IceUtil/Optional.h +0 -433
  587. data/dist/ice/cpp/include/IceUtil/Options.h +0 -135
  588. data/dist/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  589. data/dist/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  590. data/dist/ice/cpp/include/IceUtil/Random.h +0 -55
  591. data/dist/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  592. data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  593. data/dist/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  594. data/dist/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  595. data/dist/ice/cpp/include/IceUtil/Shared.h +0 -127
  596. data/dist/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  597. data/dist/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  598. data/dist/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  599. data/dist/ice/cpp/include/IceUtil/Thread.h +0 -160
  600. data/dist/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  601. data/dist/ice/cpp/include/IceUtil/Time.h +0 -205
  602. data/dist/ice/cpp/include/IceUtil/Timer.h +0 -153
  603. data/dist/ice/cpp/include/IceUtil/UUID.h +0 -21
  604. data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +0 -475
  605. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +0 -1430
  606. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +0 -147
  607. data/dist/ice/cpp/include/generated/Glacier2/Router.h +0 -3260
  608. data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +0 -125
  609. data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +0 -223
  610. data/dist/ice/cpp/include/generated/Glacier2/Session.h +0 -5894
  611. data/dist/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  612. data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  613. data/dist/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  614. data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  615. data/dist/ice/cpp/include/generated/Ice/Current.h +0 -322
  616. data/dist/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  617. data/dist/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  618. data/dist/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  619. data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  620. data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  621. data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  622. data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  623. data/dist/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  624. data/dist/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  625. data/dist/ice/cpp/include/generated/Ice/Logger.h +0 -237
  626. data/dist/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  627. data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  628. data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  629. data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  630. data/dist/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  631. data/dist/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  632. data/dist/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  633. data/dist/ice/cpp/include/generated/Ice/Properties.h +0 -452
  634. data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  635. data/dist/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  636. data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  637. data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  638. data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  639. data/dist/ice/cpp/include/generated/IceBox/IceBox.h +0 -3269
  640. data/dist/ice/cpp/include/generated/IceGrid/Admin.h +0 -33773
  641. data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +0 -5254
  642. data/dist/ice/cpp/include/generated/IceGrid/Exception.h +0 -2834
  643. data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +0 -824
  644. data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +0 -635
  645. data/dist/ice/cpp/include/generated/IceGrid/Registry.h +0 -5089
  646. data/dist/ice/cpp/include/generated/IceGrid/Session.h +0 -2240
  647. data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +0 -800
  648. data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +0 -325
  649. data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +0 -2891
  650. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  651. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  652. data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  653. data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +0 -6627
  654. data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +0 -665
  655. data/dist/ice/cpp/src/Ice/ACM.cpp +0 -380
  656. data/dist/ice/cpp/src/Ice/ACM.h +0 -119
  657. data/dist/ice/cpp/src/Ice/ACMF.h +0 -30
  658. data/dist/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  659. data/dist/ice/cpp/src/Ice/Application.cpp +0 -661
  660. data/dist/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  661. data/dist/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  662. data/dist/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  663. data/dist/ice/cpp/src/Ice/Cond.cpp +0 -381
  664. data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  665. data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  666. data/dist/ice/cpp/src/Ice/Connector.cpp +0 -16
  667. data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  668. data/dist/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  669. data/dist/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  670. data/dist/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  671. data/dist/ice/cpp/src/Ice/GCObject.cpp +0 -442
  672. data/dist/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  673. data/dist/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  674. data/dist/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  675. data/dist/ice/cpp/src/Ice/Incoming.cpp +0 -795
  676. data/dist/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  677. data/dist/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  678. data/dist/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  679. data/dist/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  680. data/dist/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  681. data/dist/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  682. data/dist/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
  683. data/dist/ice/cpp/src/Ice/PropertiesI.h +0 -70
  684. data/dist/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  685. data/dist/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  686. data/dist/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  687. data/dist/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  688. data/dist/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  689. data/dist/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  690. data/dist/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  691. data/dist/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  692. data/dist/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  693. data/dist/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  694. data/dist/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  695. data/dist/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  696. data/dist/ice/cpp/src/Ice/StringUtil.h +0 -30
  697. data/dist/ice/cpp/src/Ice/Thread.cpp +0 -569
  698. data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  699. data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  700. data/dist/ice/cpp/src/Ice/VirtualShared.h +0 -38
  701. data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +0 -79
  702. data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +0 -61
  703. data/dist/ice/cpp/src/Ice/generated/Connection.cpp +0 -155
  704. data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +0 -61
  705. data/dist/ice/cpp/src/Ice/generated/Current.cpp +0 -62
  706. data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +0 -147
  707. data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +0 -61
  708. data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +0 -49
  709. data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +0 -75
  710. data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +0 -61
  711. data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +0 -188
  712. data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +0 -66
  713. data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +0 -3262
  714. data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +0 -63
  715. data/dist/ice/cpp/src/Ice/generated/Logger.cpp +0 -73
  716. data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +0 -61
  717. data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +0 -79
  718. data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +0 -61
  719. data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +0 -75
  720. data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +0 -87
  721. data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +0 -61
  722. data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +0 -63
  723. data/dist/ice/cpp/src/Ice/generated/Properties.cpp +0 -78
  724. data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +0 -63
  725. data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +0 -63
  726. data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +0 -75
  727. data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +0 -61
  728. data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +0 -83
  729. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +0 -154
  730. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +0 -49
  731. data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +0 -146
  732. data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +0 -52
  733. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +0 -477
  734. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +0 -156
  735. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +0 -570
  736. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +0 -93
  737. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +0 -1889
  738. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +0 -915
  739. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  740. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +0 -730
  741. data/dist/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  742. data/dist/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  743. data/dist/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  744. data/dist/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  745. data/dist/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  746. data/dist/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  747. data/dist/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  748. data/dist/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  749. data/dist/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  750. data/dist/ice/cpp/src/IceSSL/Instance.h +0 -37
  751. data/dist/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  752. data/dist/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  753. data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  754. data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  755. data/dist/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  756. data/dist/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  757. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  758. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  759. data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  760. data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  761. data/dist/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  762. data/dist/ice/cpp/src/IceSSL/PluginI.h +0 -67
  763. data/dist/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  764. data/dist/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  765. data/dist/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  766. data/dist/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  767. data/dist/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  768. data/dist/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  769. data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  770. data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  771. data/dist/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  772. data/dist/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  773. data/dist/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  774. data/dist/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  775. data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  776. data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  777. data/dist/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  778. data/dist/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  779. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  780. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  781. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  782. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  783. data/dist/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  784. data/dist/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  785. data/dist/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  786. data/dist/ice/cpp/src/IceSSL/Util.cpp +0 -192
  787. data/dist/ice/cpp/src/IceSSL/Util.h +0 -99
  788. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +0 -75
  789. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +0 -61
  790. data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +0 -75
  791. data/dist/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  792. data/dist/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  793. data/dist/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  794. data/dist/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
  795. data/dist/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  796. data/dist/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  797. data/dist/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  798. data/dist/ice/cpp/src/IceUtil/Random.cpp +0 -180
  799. data/dist/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
  800. data/dist/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  801. data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  802. data/dist/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
  803. data/dist/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  804. data/dist/ice/cpp/src/IceUtil/Time.cpp +0 -307
  805. data/dist/ice/cpp/src/IceUtil/UUID.cpp +0 -165
  806. data/dist/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  807. data/dist/ice/cpp/src/IceUtil/Unicode.h +0 -43
  808. data/dist/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  809. data/dist/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  810. data/dist/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  811. data/dist/ice/cpp/src/Slice/Checksum.cpp +0 -447
  812. data/dist/ice/cpp/src/Slice/Checksum.h +0 -21
  813. data/dist/ice/cpp/src/Slice/JavaUtil.cpp +0 -5183
  814. data/dist/ice/cpp/src/Slice/JavaUtil.h +0 -407
  815. data/dist/ice/cpp/src/Slice/MD5.cpp +0 -52
  816. data/dist/ice/cpp/src/Slice/MD5.h +0 -39
  817. data/dist/ice/cpp/src/Slice/MD5I.cpp +0 -393
  818. data/dist/ice/cpp/src/Slice/MD5I.h +0 -91
  819. data/dist/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  820. data/dist/ice/cpp/src/Slice/PHPUtil.h +0 -36
  821. data/dist/ice/cpp/src/Slice/Python.cpp +0 -830
  822. data/dist/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  823. data/dist/ice/cpp/src/Slice/PythonUtil.h +0 -70
  824. data/dist/ice/cpp/src/Slice/Ruby.cpp +0 -350
  825. data/dist/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  826. data/dist/ice/cpp/src/Slice/RubyUtil.h +0 -49
  827. data/dist/ice/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  828. data/dist/ice/slice/Glacier2/RouterF.ice +0 -29
  829. data/dist/ice/slice/Ice/Communicator.ice +0 -676
  830. data/dist/ice/slice/Ice/CommunicatorF.ice +0 -31
  831. data/dist/ice/slice/Ice/Connection.ice +0 -516
  832. data/dist/ice/slice/Ice/ConnectionF.ice +0 -33
  833. data/dist/ice/slice/Ice/Current.ice +0 -170
  834. data/dist/ice/slice/Ice/Endpoint.ice +0 -291
  835. data/dist/ice/slice/Ice/EndpointF.ice +0 -43
  836. data/dist/ice/slice/Ice/FacetMap.ice +0 -36
  837. data/dist/ice/slice/Ice/ImplicitContext.ice +0 -119
  838. data/dist/ice/slice/Ice/ImplicitContextF.ice +0 -30
  839. data/dist/ice/slice/Ice/Instrumentation.ice +0 -509
  840. data/dist/ice/slice/Ice/InstrumentationF.ice +0 -38
  841. data/dist/ice/slice/Ice/LocalException.ice +0 -1040
  842. data/dist/ice/slice/Ice/LocatorF.ice +0 -32
  843. data/dist/ice/slice/Ice/Logger.ice +0 -99
  844. data/dist/ice/slice/Ice/LoggerF.ice +0 -31
  845. data/dist/ice/slice/Ice/ObjectAdapter.ice +0 -710
  846. data/dist/ice/slice/Ice/ObjectAdapterF.ice +0 -31
  847. data/dist/ice/slice/Ice/ObjectFactory.ice +0 -71
  848. data/dist/ice/slice/Ice/Plugin.ice +0 -131
  849. data/dist/ice/slice/Ice/PluginF.ice +0 -36
  850. data/dist/ice/slice/Ice/ProcessF.ice +0 -31
  851. data/dist/ice/slice/Ice/Properties.ice +0 -244
  852. data/dist/ice/slice/Ice/PropertiesF.ice +0 -32
  853. data/dist/ice/slice/Ice/RouterF.ice +0 -31
  854. data/dist/ice/slice/Ice/ServantLocator.ice +0 -136
  855. data/dist/ice/slice/Ice/ServantLocatorF.ice +0 -31
  856. data/dist/ice/slice/Ice/ValueFactory.ice +0 -133
  857. data/dist/ice/slice/IceBox/IceBox.ice +0 -216
  858. data/dist/ice/slice/IceGrid/PluginFacade.ice +0 -329
  859. data/dist/ice/slice/IcePatch2/FileInfo.ice +0 -85
  860. data/dist/ice/slice/IcePatch2/FileServer.ice +0 -191
  861. data/dist/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  862. data/dist/lib/Glacier2/RouterF.rb +0 -25
  863. data/dist/lib/Ice/Communicator.rb +0 -87
  864. data/dist/lib/Ice/CommunicatorF.rb +0 -24
  865. data/dist/lib/Ice/Connection.rb +0 -413
  866. data/dist/lib/Ice/ConnectionF.rb +0 -32
  867. data/dist/lib/Ice/Current.rb +0 -141
  868. data/dist/lib/Ice/Endpoint.rb +0 -187
  869. data/dist/lib/Ice/EndpointF.rb +0 -48
  870. data/dist/lib/Ice/FacetMap.rb +0 -24
  871. data/dist/lib/Ice/ImplicitContext.rb +0 -26
  872. data/dist/lib/Ice/ImplicitContextF.rb +0 -24
  873. data/dist/lib/Ice/Instrumentation.rb +0 -169
  874. data/dist/lib/Ice/InstrumentationF.rb +0 -31
  875. data/dist/lib/Ice/LocalException.rb +0 -1031
  876. data/dist/lib/Ice/LocatorF.rb +0 -30
  877. data/dist/lib/Ice/Logger.rb +0 -24
  878. data/dist/lib/Ice/LoggerF.rb +0 -24
  879. data/dist/lib/Ice/ObjectAdapter.rb +0 -29
  880. data/dist/lib/Ice/ObjectAdapterF.rb +0 -24
  881. data/dist/lib/Ice/ObjectFactory.rb +0 -24
  882. data/dist/lib/Ice/Plugin.rb +0 -30
  883. data/dist/lib/Ice/PluginF.rb +0 -28
  884. data/dist/lib/Ice/ProcessF.rb +0 -25
  885. data/dist/lib/Ice/Properties.rb +0 -25
  886. data/dist/lib/Ice/PropertiesF.rb +0 -29
  887. data/dist/lib/Ice/RouterF.rb +0 -25
  888. data/dist/lib/Ice/ServantLocator.rb +0 -26
  889. data/dist/lib/Ice/ServantLocatorF.rb +0 -24
  890. data/dist/lib/Ice/ValueFactory.rb +0 -28
  891. data/dist/lib/IceBox/IceBox.rb +0 -164
  892. data/dist/lib/IceGrid/PluginFacade.rb +0 -35
  893. data/dist/lib/IcePatch2/FileInfo.rb +0 -115
  894. data/dist/lib/IcePatch2/FileServer.rb +0 -123
  895. data/dist/lib/IcePatch2.rb +0 -5
@@ -1,248 +1,161 @@
1
- //
2
- // Copyright (c) ZeroC, Inc. All rights reserved.
3
- //
1
+ // Copyright (c) ZeroC, Inc.
4
2
 
5
- #include <IceUtil/IceUtil.h>
6
- #include <Ice/Ice.h>
7
- #include <Ice/Network.h> // For getInterfacesForMulticast
8
- #include <Ice/LoggerUtil.h>
3
+ #include "../Ice/Network.h" // For getInterfacesForMulticast
4
+ #include "../Ice/Timer.h"
5
+ #include "Ice/LoggerUtil.h"
6
+ #include "IceLocatorDiscovery/IceLocatorDiscovery.h"
7
+ #include "IceLocatorDiscovery/Lookup.h"
8
+ #include "Plugin.h"
9
9
 
10
- #include <IceLocatorDiscovery/Plugin.h>
11
- #include <IceLocatorDiscovery/IceLocatorDiscovery.h>
10
+ #include <algorithm>
11
+ #include <thread>
12
12
 
13
13
  using namespace std;
14
14
  using namespace IceLocatorDiscovery;
15
15
 
16
16
  namespace
17
17
  {
18
+ const char* const locatorDiscoveryPluginName = "IceLocatorDiscovery";
18
19
 
19
- class LocatorI; // Forward declaration
20
-
21
- #ifdef ICE_CPP11_MAPPING
22
- typedef std::pair<function<void(bool, const pair<const Ice::Byte*, const Ice::Byte*>&)>,
23
- function<void(exception_ptr)>> AMDCallback;
24
- #else
25
- typedef Ice::AMD_Object_ice_invokePtr AMDCallback;
26
- #endif
27
-
28
- class Request :
29
- #ifdef ICE_CPP11_MAPPING
30
- public std::enable_shared_from_this<Request>
31
- #else
32
- public virtual IceUtil::Shared
33
- #endif
34
- {
35
- public:
36
-
37
- Request(LocatorI* locator,
38
- const string& operation,
39
- Ice::OperationMode mode,
40
- const pair<const Ice::Byte*, const Ice::Byte*>& inParams,
41
- const Ice::Context& ctx,
42
- const AMDCallback& amdCB) :
43
- _locator(locator),
44
- _operation(operation),
45
- _mode(mode),
46
- _context(ctx),
47
- _inParams(inParams.first, inParams.second),
48
- _amdCB(amdCB)
49
- {
50
- }
51
-
52
- void invoke(const Ice::LocatorPrxPtr&);
53
- void response(bool, const pair<const Ice::Byte*, const Ice::Byte*>&);
54
- void exception(const Ice::Exception&);
55
-
56
- protected:
57
-
58
- LocatorI* _locator;
59
- const string _operation;
60
- const Ice::OperationMode _mode;
61
- const Ice::Context _context;
62
- const Ice::ByteSeq _inParams;
63
- AMDCallback _amdCB;
64
- #ifdef ICE_CPP11_MAPPING
65
- exception_ptr _exception;
66
- #else
67
- IceInternal::UniquePtr<Ice::Exception> _exception;
68
- #endif
69
-
70
- Ice::LocatorPrxPtr _locatorPrx;
71
- };
72
- ICE_DEFINE_PTR(RequestPtr, Request);
73
-
74
- class LocatorI : public Ice::BlobjectArrayAsync,
75
- public IceUtil::TimerTask,
76
- private IceUtil::Monitor<IceUtil::Mutex>
77
- #ifdef ICE_CPP11_MAPPING
78
- , public std::enable_shared_from_this<LocatorI>
79
- #endif
80
- {
81
- public:
82
-
83
- LocatorI(const string&, const LookupPrxPtr&, const Ice::PropertiesPtr&, const string&, const Ice::LocatorPrxPtr&);
84
- void setLookupReply(const LookupReplyPrxPtr&);
85
-
86
- #ifdef ICE_CPP11_MAPPING
87
- virtual void ice_invokeAsync(pair<const Ice::Byte*, const Ice::Byte*>,
88
- function<void(bool, const pair<const Ice::Byte*, const Ice::Byte*>&)>,
89
- function<void(exception_ptr)>,
90
- const Ice::Current&);
91
- #else
92
- virtual void ice_invoke_async(const Ice::AMD_Object_ice_invokePtr&, const pair<const Ice::Byte*, const Ice::Byte*>&,
93
- const Ice::Current&);
94
- #endif
95
-
96
- void foundLocator(const Ice::LocatorPrxPtr&);
97
- void invoke(const Ice::LocatorPrxPtr&, const RequestPtr&);
98
-
99
- vector<Ice::LocatorPrxPtr> getLocators(const string&, const IceUtil::Time&);
100
-
101
- void exception(const Ice::LocalException&);
102
-
103
- private:
104
-
105
- virtual void runTimerTask();
106
-
107
- LookupPrxPtr _lookup;
108
- vector<pair<LookupPrxPtr, LookupReplyPrxPtr> > _lookups;
109
- IceUtil::Time _timeout;
110
- int _retryCount;
111
- IceUtil::Time _retryDelay;
112
- const IceUtil::TimerPtr _timer;
113
- const int _traceLevel;
114
-
115
- string _instanceName;
116
- bool _warned;
117
- Ice::LocatorPrxPtr _locator;
118
- map<string, Ice::LocatorPrxPtr> _locators;
119
- Ice::LocatorPrxPtr _voidLocator;
120
-
121
- IceUtil::Time _nextRetry;
122
- bool _pending;
123
- int _pendingRetryCount;
124
- size_t _failureCount;
125
- bool _warnOnce;
126
- vector<RequestPtr> _pendingRequests;
127
- };
128
- ICE_DEFINE_PTR(LocatorIPtr, LocatorI);
129
-
130
- class LookupReplyI : public LookupReply
131
- {
132
- public:
133
-
134
- LookupReplyI(const LocatorIPtr& locator) : _locator(locator)
135
- {
136
- }
137
-
138
- virtual void foundLocator(ICE_IN(Ice::LocatorPrxPtr), const Ice::Current&);
139
-
140
- private:
141
-
142
- const LocatorIPtr _locator;
143
- };
144
-
145
- //
146
- // The void locator implementation below is used when no locator is found.
147
- //
148
- class VoidLocatorI : public Ice::Locator
149
- {
150
- public:
151
-
152
- #ifdef ICE_CPP11_MAPPING
153
- virtual void
154
- findObjectByIdAsync(::Ice::Identity,
155
- function<void(const shared_ptr<::Ice::ObjectPrx>&)> response,
156
- function<void(exception_ptr)>,
157
- const Ice::Current&) const
158
- {
159
- response(nullptr);
160
- }
161
-
162
- virtual void
163
- findAdapterByIdAsync(string,
164
- function<void(const shared_ptr<::Ice::ObjectPrx>&)> response,
165
- function<void(exception_ptr)>,
166
- const Ice::Current&) const
167
- {
168
- response(nullptr);
169
- }
170
- #else
171
- virtual void
172
- findObjectById_async(const Ice::AMD_Locator_findObjectByIdPtr& amdCB,
173
- const Ice::Identity&,
174
- const Ice::Current&) const
175
- {
176
- amdCB->ice_response(0);
177
- }
178
-
179
- virtual void
180
- findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr& amdCB,
181
- const string&,
182
- const Ice::Current&) const
183
- {
184
- amdCB->ice_response(0);
185
- }
186
- #endif
187
-
188
- virtual Ice::LocatorRegistryPrxPtr
189
- getRegistry(const Ice::Current&) const
190
- {
191
- return ICE_NULLPTR;
192
- }
193
- };
194
-
195
- class PluginI : public Plugin
196
- {
197
- public:
198
-
199
- PluginI(const std::string&, const Ice::CommunicatorPtr&);
200
-
201
- virtual void initialize();
202
- virtual void destroy();
203
- virtual vector<Ice::LocatorPrxPtr> getLocators(const string&, const IceUtil::Time&) const;
204
-
205
- private:
206
-
207
- const string _name;
208
- const Ice::CommunicatorPtr _communicator;
209
- Ice::ObjectAdapterPtr _locatorAdapter;
210
- Ice::ObjectAdapterPtr _replyAdapter;
211
- LocatorIPtr _locator;
212
- Ice::LocatorPrxPtr _locatorPrx;
213
- Ice::LocatorPrxPtr _defaultLocator;
214
- };
215
-
216
- #ifndef ICE_CPP11_MAPPING
217
-
218
- class CallbackI : public IceUtil::Shared
219
- {
220
- public:
221
-
222
- CallbackI(const LocatorIPtr& locator) : _locator(locator)
20
+ class LocatorI; // Forward declaration
21
+ class Request : public std::enable_shared_from_this<Request>
223
22
  {
224
- }
23
+ public:
24
+ Request(
25
+ LocatorI* locator,
26
+ string operation,
27
+ Ice::OperationMode mode,
28
+ pair<const byte*, const byte*> inParams,
29
+ Ice::Context ctx,
30
+ function<void(bool, pair<const byte*, const byte*>)> responseCallback,
31
+ function<void(exception_ptr)> exceptionCallback)
32
+ : _locator(locator),
33
+ _operation(std::move(operation)),
34
+ _mode(mode),
35
+ _context(std::move(ctx)),
36
+ _inParams(inParams.first, inParams.second),
37
+ _responseCallback(std::move(responseCallback)),
38
+ _exceptionCallback(std::move(exceptionCallback))
39
+ {
40
+ }
41
+
42
+ void invoke(const Ice::LocatorPrx&);
43
+ void response(bool, pair<const byte*, const byte*>);
44
+ void exception(std::exception_ptr);
45
+
46
+ protected:
47
+ LocatorI* _locator;
48
+ const string _operation;
49
+ const Ice::OperationMode _mode;
50
+ const Ice::Context _context;
51
+ const Ice::ByteSeq _inParams;
52
+ function<void(bool, pair<const byte*, const byte*>)> _responseCallback;
53
+ function<void(exception_ptr)> _exceptionCallback;
54
+ exception_ptr _exception;
55
+
56
+ optional<Ice::LocatorPrx> _locatorPrx;
57
+ };
58
+ using RequestPtr = std::shared_ptr<Request>;
59
+
60
+ class LocatorI final : public Ice::BlobjectArrayAsync,
61
+ public IceInternal::TimerTask,
62
+ public std::enable_shared_from_this<LocatorI>
63
+ {
64
+ public:
65
+ LocatorI(const LookupPrx&, const Ice::PropertiesPtr&, string, Ice::LocatorPrx);
66
+ void setLookupReply(const LookupReplyPrx&);
67
+
68
+ void ice_invokeAsync(
69
+ pair<const byte*, const byte*>,
70
+ function<void(bool, pair<const byte*, const byte*>)>,
71
+ function<void(exception_ptr)>,
72
+ const Ice::Current&) final;
73
+
74
+ void foundLocator(const Ice::LocatorPrx&);
75
+ void invoke(const optional<Ice::LocatorPrx>&, const RequestPtr&);
76
+
77
+ vector<Ice::LocatorPrx> getLocators(const string&, const chrono::milliseconds&);
78
+
79
+ void exception(std::exception_ptr);
80
+
81
+ private:
82
+ void runTimerTask() final;
83
+
84
+ LookupPrx _lookup;
85
+ vector<pair<LookupPrx, LookupReplyPrx>> _lookups;
86
+ chrono::milliseconds _timeout;
87
+ int _retryCount;
88
+ chrono::milliseconds _retryDelay;
89
+ const IceInternal::TimerPtr _timer;
90
+ const int _traceLevel;
91
+
92
+ string _instanceName;
93
+ bool _warned{false};
94
+ optional<Ice::LocatorPrx> _locator;
95
+ map<string, Ice::LocatorPrx> _locators;
96
+ Ice::LocatorPrx _voidLocator;
97
+
98
+ chrono::steady_clock::time_point _nextRetry;
99
+ bool _pending{false};
100
+ int _pendingRetryCount{0};
101
+ size_t _failureCount{0};
102
+ bool _warnOnce{true};
103
+ vector<RequestPtr> _pendingRequests;
104
+ std::mutex _mutex;
105
+ std::condition_variable _conditionVariable;
106
+ };
107
+ using LocatorIPtr = std::shared_ptr<LocatorI>;
108
+
109
+ class LookupReplyI final : public LookupReply
110
+ {
111
+ public:
112
+ LookupReplyI(LocatorIPtr locator) : _locator(std::move(locator)) {}
113
+
114
+ void foundLocator(optional<Ice::LocatorPrx>, const Ice::Current&) final;
115
+
116
+ private:
117
+ const LocatorIPtr _locator;
118
+ };
225
119
 
226
- void
227
- completed(const Ice::AsyncResultPtr& result)
120
+ //
121
+ // The void locator implementation below is used when no locator is found.
122
+ //
123
+ class VoidLocatorI final : public Ice::Locator
228
124
  {
229
- try
125
+ public:
126
+ [[nodiscard]] std::optional<Ice::ObjectPrx> findObjectById(Ice::Identity, const Ice::Current&) const final
230
127
  {
231
- result->throwLocalException();
128
+ return nullopt;
232
129
  }
233
- catch(const Ice::LocalException& ex)
130
+
131
+ [[nodiscard]] std::optional<Ice::ObjectPrx> findAdapterById(string, const Ice::Current&) const final
234
132
  {
235
- _locator->exception(ex);
133
+ return nullopt;
236
134
  }
237
- }
238
135
 
239
- private:
136
+ [[nodiscard]] std::optional<Ice::LocatorRegistryPrx> getRegistry(const Ice::Current&) const final
137
+ {
138
+ return nullopt;
139
+ }
140
+ };
240
141
 
241
- LocatorIPtr _locator;
242
- };
142
+ class PluginI final : public Plugin
143
+ {
144
+ public:
145
+ PluginI(Ice::CommunicatorPtr);
243
146
 
244
- #endif
147
+ void initialize() final;
148
+ void destroy() final;
149
+ [[nodiscard]] vector<Ice::LocatorPrx> getLocators(const string&, const chrono::milliseconds&) const final;
245
150
 
151
+ private:
152
+ const Ice::CommunicatorPtr _communicator;
153
+ Ice::ObjectAdapterPtr _locatorAdapter;
154
+ Ice::ObjectAdapterPtr _replyAdapter;
155
+ LocatorIPtr _locator;
156
+ optional<Ice::LocatorPrx> _locatorPrx;
157
+ optional<Ice::LocatorPrx> _defaultLocator;
158
+ };
246
159
  }
247
160
 
248
161
  //
@@ -251,62 +164,53 @@ private:
251
164
  extern "C" ICE_LOCATOR_DISCOVERY_API Ice::Plugin*
252
165
  createIceLocatorDiscovery(const Ice::CommunicatorPtr& communicator, const string& name, const Ice::StringSeq&)
253
166
  {
254
- return new PluginI(name, communicator);
255
- }
167
+ string pluginName{locatorDiscoveryPluginName};
256
168
 
257
- namespace Ice
258
- {
259
-
260
- ICE_LOCATOR_DISCOVERY_API void
261
- registerIceLocatorDiscovery(bool loadOnInitialize)
262
- {
263
- Ice::registerPluginFactory("IceLocatorDiscovery", createIceLocatorDiscovery, loadOnInitialize);
264
-
265
- #ifdef ICE_STATIC_LIBS
266
- //
267
- // Also register the UDP plugin with static builds to ensure the UDP transport is loaded.
268
- //
269
- registerIceUDP(true);
169
+ if (name != pluginName)
170
+ {
171
+ #ifdef _MSC_VER
172
+ # pragma warning(push)
173
+ # pragma warning(disable : 4297) // function assumed not to throw an exception but does
270
174
  #endif
271
- }
175
+ throw Ice::PluginInitializationException{
176
+ __FILE__,
177
+ __LINE__,
178
+ "the Locator Discovery plug-in must be named '" + pluginName + "'"};
179
+ #ifdef _MSC_VER
180
+ # pragma warning(pop)
181
+ #endif
182
+ }
272
183
 
184
+ return new PluginI(communicator);
273
185
  }
274
186
 
275
- //
276
- // Objective-C function to allow Objective-C programs to register plugin.
277
- //
278
- extern "C" ICE_LOCATOR_DISCOVERY_API void
279
- ICEregisterIceLocatorDiscovery(bool loadOnInitialize)
187
+ Ice::PluginFactory
188
+ IceLocatorDiscovery::locatorDiscoveryPluginFactory()
280
189
  {
281
- Ice::registerIceLocatorDiscovery(loadOnInitialize);
190
+ return {locatorDiscoveryPluginName, createIceLocatorDiscovery};
282
191
  }
283
192
 
284
- PluginI::PluginI(const string& name, const Ice::CommunicatorPtr& communicator) :
285
- _name(name), _communicator(communicator)
286
- {
287
- }
193
+ Plugin::~Plugin() = default;
194
+
195
+ PluginI::PluginI(Ice::CommunicatorPtr communicator) : _communicator(std::move(communicator)) {}
288
196
 
289
197
  void
290
198
  PluginI::initialize()
291
199
  {
292
200
  Ice::PropertiesPtr properties = _communicator->getProperties();
293
201
 
294
- bool ipv4 = properties->getPropertyAsIntWithDefault("Ice.IPv4", 1) > 0;
295
- bool preferIPv6 = properties->getPropertyAsInt("Ice.PreferIPv6Address") > 0;
296
- string address;
297
- if(ipv4 && !preferIPv6)
298
- {
299
- address = properties->getPropertyWithDefault(_name + ".Address", "239.255.0.1");
300
- }
301
- else
202
+ bool ipv4 = properties->getIcePropertyAsInt("Ice.IPv4") > 0;
203
+ bool preferIPv6 = properties->getIcePropertyAsInt("Ice.PreferIPv6Address") > 0;
204
+ string address = properties->getIceProperty("IceLocatorDiscovery.Address");
205
+ if (address.empty())
302
206
  {
303
- address = properties->getPropertyWithDefault(_name + ".Address", "ff15::1");
207
+ address = ipv4 && !preferIPv6 ? "239.255.0.1" : "ff15::1";
304
208
  }
305
- int port = properties->getPropertyAsIntWithDefault(_name + ".Port", 4061);
306
- string intf = properties->getProperty(_name + ".Interface");
209
+ int port = properties->getIcePropertyAsInt("IceLocatorDiscovery.Port");
210
+ string intf = properties->getIceProperty("IceLocatorDiscovery.Interface");
307
211
 
308
- string lookupEndpoints = properties->getProperty(_name + ".Lookup");
309
- if(lookupEndpoints.empty())
212
+ string lookupEndpoints = properties->getIceProperty("IceLocatorDiscovery.Lookup");
213
+ if (lookupEndpoints.empty())
310
214
  {
311
215
  //
312
216
  // If no lookup endpoints are specified, we get all the network interfaces and create
@@ -315,9 +219,9 @@ PluginI::initialize()
315
219
  IceInternal::ProtocolSupport protocol = ipv4 && !preferIPv6 ? IceInternal::EnableIPv4 : IceInternal::EnableIPv6;
316
220
  vector<string> interfaces = IceInternal::getInterfacesForMulticast(intf, protocol);
317
221
  ostringstream lookup;
318
- for(vector<string>::const_iterator p = interfaces.begin(); p != interfaces.end(); ++p)
222
+ for (auto p = interfaces.begin(); p != interfaces.end(); ++p)
319
223
  {
320
- if(p != interfaces.begin())
224
+ if (p != interfaces.begin())
321
225
  {
322
226
  lookup << ":";
323
227
  }
@@ -326,49 +230,48 @@ PluginI::initialize()
326
230
  lookupEndpoints = lookup.str();
327
231
  }
328
232
 
329
- if(properties->getProperty(_name + ".Reply.Endpoints").empty())
233
+ if (properties->getIceProperty("IceLocatorDiscovery.Reply.Endpoints").empty())
330
234
  {
331
- properties->setProperty(_name + ".Reply.Endpoints", "udp -h " + (intf.empty() ? "*" : "\"" + intf + "\""));
235
+ properties->setProperty(
236
+ "IceLocatorDiscovery.Reply.Endpoints",
237
+ "udp -h " + (intf.empty() ? "*" : "\"" + intf + "\""));
332
238
  }
333
239
 
334
- if(properties->getProperty(_name + ".Locator.Endpoints").empty())
240
+ if (properties->getIceProperty("IceLocatorDiscovery.Locator.Endpoints").empty())
335
241
  {
336
- properties->setProperty(_name + ".Locator.AdapterId", Ice::generateUUID()); // Collocated adapter
242
+ properties->setProperty("IceLocatorDiscovery.Locator.AdapterId", Ice::generateUUID()); // Collocated adapter
337
243
  }
338
244
 
339
- _replyAdapter = _communicator->createObjectAdapter(_name + ".Reply");
340
- _locatorAdapter = _communicator->createObjectAdapter(_name + ".Locator");
245
+ _replyAdapter = _communicator->createObjectAdapter("IceLocatorDiscovery.Reply");
246
+ _locatorAdapter = _communicator->createObjectAdapter("IceLocatorDiscovery.Locator");
341
247
 
342
248
  // We don't want those adapters to be registered with the locator so clear their locator.
343
- _replyAdapter->setLocator(0);
344
- _locatorAdapter->setLocator(0);
249
+ _replyAdapter->setLocator(nullopt);
250
+ _locatorAdapter->setLocator(nullopt);
345
251
 
346
- Ice::ObjectPrxPtr lookupPrx = _communicator->stringToProxy("IceLocatorDiscovery/Lookup -d:" + lookupEndpoints);
347
- // No collocation optimization for the multicast proxy!
348
- lookupPrx = lookupPrx->ice_collocationOptimized(false)->ice_router(ICE_NULLPTR);
252
+ LookupPrx lookupPrx(_communicator, "IceLocatorDiscovery/Lookup -d:" + lookupEndpoints);
253
+ lookupPrx = lookupPrx->ice_router(nullopt);
349
254
 
350
- Ice::LocatorPrxPtr voidLocator = ICE_UNCHECKED_CAST(Ice::LocatorPrx,
351
- _locatorAdapter->addWithUUID(ICE_MAKE_SHARED(VoidLocatorI)));
255
+ auto voidLocator = _locatorAdapter->addWithUUID<Ice::LocatorPrx>(make_shared<VoidLocatorI>());
352
256
 
353
- string instanceName = properties->getProperty(_name + ".InstanceName");
257
+ string instanceName = properties->getIceProperty("IceLocatorDiscovery.InstanceName");
354
258
  Ice::Identity id;
355
259
  id.name = "Locator";
356
260
  id.category = !instanceName.empty() ? instanceName : Ice::generateUUID();
357
- _locator = ICE_MAKE_SHARED(LocatorI, _name, ICE_UNCHECKED_CAST(LookupPrx, lookupPrx), properties, instanceName,
358
- voidLocator);
261
+ _locator = make_shared<LocatorI>(lookupPrx, properties, instanceName, voidLocator);
359
262
  _defaultLocator = _communicator->getDefaultLocator();
360
- _locatorPrx = ICE_UNCHECKED_CAST(Ice::LocatorPrx, _locatorAdapter->add(_locator, id));
263
+ _locatorPrx = _locatorAdapter->add<Ice::LocatorPrx>(_locator, id);
361
264
  _communicator->setDefaultLocator(_locatorPrx);
362
265
 
363
- Ice::ObjectPrxPtr lookupReply = _replyAdapter->addWithUUID(ICE_MAKE_SHARED(LookupReplyI, _locator))->ice_datagram();
364
- _locator->setLookupReply(ICE_UNCHECKED_CAST(LookupReplyPrx, lookupReply));
266
+ auto lookupReply = _replyAdapter->addWithUUID<LookupReplyPrx>(make_shared<LookupReplyI>(_locator))->ice_datagram();
267
+ _locator->setLookupReply(lookupReply);
365
268
 
366
269
  _replyAdapter->activate();
367
270
  _locatorAdapter->activate();
368
271
  }
369
272
 
370
- vector<Ice::LocatorPrxPtr>
371
- PluginI::getLocators(const string& instanceName, const IceUtil::Time& waitTime) const
273
+ vector<Ice::LocatorPrx>
274
+ PluginI::getLocators(const string& instanceName, const chrono::milliseconds& waitTime) const
372
275
  {
373
276
  return _locator->getLocators(instanceName, waitTime);
374
277
  }
@@ -376,15 +279,15 @@ PluginI::getLocators(const string& instanceName, const IceUtil::Time& waitTime)
376
279
  void
377
280
  PluginI::destroy()
378
281
  {
379
- if(_replyAdapter)
282
+ if (_replyAdapter)
380
283
  {
381
284
  _replyAdapter->destroy();
382
285
  }
383
- if(_locatorAdapter)
286
+ if (_locatorAdapter)
384
287
  {
385
288
  _locatorAdapter->destroy();
386
289
  }
387
- if(_communicator->getDefaultLocator() == _locatorPrx)
290
+ if (_communicator->getDefaultLocator() == _locatorPrx)
388
291
  {
389
292
  // Restore original default locator proxy, if the user didn't change it in the meantime
390
293
  _communicator->setDefaultLocator(_defaultLocator);
@@ -392,334 +295,223 @@ PluginI::destroy()
392
295
  }
393
296
 
394
297
  void
395
- Request::invoke(const Ice::LocatorPrxPtr& l)
298
+ Request::invoke(const Ice::LocatorPrx& l)
396
299
  {
397
- #ifdef ICE_CPP11_MAPPING
398
- if(l != _locatorPrx)
300
+ if (l != _locatorPrx)
399
301
  {
400
302
  _locatorPrx = l;
401
303
  try
402
304
  {
403
305
  auto self = shared_from_this();
404
- l->ice_invokeAsync(_operation, _mode, _inParams,
405
- [self](bool ok, vector<Ice::Byte> outParams)
406
- {
407
- pair<const Ice::Byte*, const Ice::Byte*> outPair;
408
- if(outParams.empty())
409
- {
410
- outPair.first = outPair.second = 0;
411
- }
412
- else
413
- {
414
- outPair.first = &outParams[0];
415
- outPair.second = outPair.first + outParams.size();
416
- }
417
- self->response(ok, outPair);
418
- },
419
- [self](exception_ptr e)
420
- {
421
- try
422
- {
423
- rethrow_exception(e);
424
- }
425
- catch(const Ice::Exception& ex)
426
- {
427
- self->exception(ex);
428
- }
429
- },
430
- nullptr,
431
- _context);
306
+ l->ice_invokeAsync(
307
+ _operation,
308
+ _mode,
309
+ _inParams,
310
+ [self](bool ok, vector<byte> outParams)
311
+ {
312
+ pair<const byte*, const byte*> outPair;
313
+ if (outParams.empty())
314
+ {
315
+ outPair.first = outPair.second = 0;
316
+ }
317
+ else
318
+ {
319
+ outPair.first = &outParams[0];
320
+ outPair.second = outPair.first + outParams.size();
321
+ }
322
+ self->response(ok, outPair);
323
+ },
324
+ [self](exception_ptr e) { self->exception(e); },
325
+ nullptr,
326
+ _context);
432
327
  }
433
- catch(const Ice::LocalException& ex)
328
+ catch (const Ice::LocalException&)
434
329
  {
435
- exception(ex);
330
+ exception(current_exception());
436
331
  }
437
332
  }
438
333
  else
439
334
  {
440
335
  assert(_exception); // Don't retry if the proxy didn't change
441
- _amdCB.second(_exception);
442
- }
443
-
444
- #else
445
- if(l != _locatorPrx)
446
- {
447
- _locatorPrx = l;
448
- try
449
- {
450
- l->begin_ice_invoke(_operation, _mode, _inParams, _context,
451
- Ice::newCallback_Object_ice_invoke(this, &Request::response, &Request::exception));
452
- }
453
- catch(const Ice::LocalException& ex)
454
- {
455
- exception(ex);
456
- }
457
- }
458
- else
459
- {
460
- assert(_exception.get()); // Don't retry if the proxy didn't change
461
- _amdCB->ice_exception(*_exception.get());
336
+ _exceptionCallback(_exception);
462
337
  }
463
- #endif
464
338
  }
465
339
 
466
340
  void
467
- Request::response(bool ok, const pair<const Ice::Byte*, const Ice::Byte*>& outParams)
341
+ Request::response(bool ok, pair<const byte*, const byte*> outParams)
468
342
  {
469
- #ifdef ICE_CPP11_MAPPING
470
- _amdCB.first(ok, outParams);
471
- #else
472
- _amdCB->ice_response(ok, outParams);
473
- #endif
343
+ _responseCallback(ok, outParams);
474
344
  }
475
345
 
476
346
  void
477
- Request::exception(const Ice::Exception& ex)
347
+ Request::exception(std::exception_ptr ex)
478
348
  {
479
- #ifdef ICE_CPP11_MAPPING
480
349
  try
481
350
  {
482
- ex.ice_throw();
351
+ rethrow_exception(ex);
483
352
  }
484
- catch(const Ice::RequestFailedException&)
353
+ catch (const Ice::RequestFailedException&)
485
354
  {
486
- _amdCB.second(current_exception());
355
+ _exceptionCallback(ex);
487
356
  }
488
- catch(const Ice::UnknownException&)
357
+ catch (const Ice::UnknownException&)
489
358
  {
490
- _amdCB.second(current_exception());
359
+ _exceptionCallback(ex);
491
360
  }
492
- catch(const Ice::NoEndpointException&)
361
+ catch (const Ice::NoEndpointException&)
493
362
  {
494
- try
495
- {
496
- throw Ice::ObjectNotExistException(__FILE__, __LINE__);
497
- }
498
- catch(...)
499
- {
500
- _amdCB.second(current_exception());
501
- }
363
+ _exceptionCallback(make_exception_ptr(Ice::ObjectNotExistException{__FILE__, __LINE__}));
502
364
  }
503
- catch(const Ice::CommunicatorDestroyedException&)
365
+ catch (const Ice::CommunicatorDestroyedException&)
504
366
  {
505
- try
506
- {
507
- throw Ice::ObjectNotExistException(__FILE__, __LINE__);
508
- }
509
- catch(...)
510
- {
511
- _amdCB.second(current_exception());
512
- }
367
+ _exceptionCallback(make_exception_ptr(Ice::ObjectNotExistException{__FILE__, __LINE__}));
513
368
  }
514
- catch(const Ice::ObjectAdapterDeactivatedException&)
369
+ catch (const Ice::ObjectAdapterDeactivatedException&)
515
370
  {
516
- try
517
- {
518
- throw Ice::ObjectNotExistException(__FILE__, __LINE__);
519
- }
520
- catch(...)
521
- {
522
- _amdCB.second(current_exception());
523
- }
524
- }
525
- catch(const Ice::Exception&)
526
- {
527
- _exception = current_exception();
528
- _locator->invoke(_locatorPrx, shared_from_this()); // Retry with new locator proxy
529
- }
530
- #else
531
- try
532
- {
533
- ex.ice_throw();
534
- }
535
- catch(const Ice::RequestFailedException&)
536
- {
537
- _amdCB->ice_exception(ex);
538
- }
539
- catch(const Ice::UnknownException&)
540
- {
541
- _amdCB->ice_exception(ex);
542
- }
543
- catch(const Ice::NoEndpointException&)
544
- {
545
- _amdCB->ice_exception(Ice::ObjectNotExistException(__FILE__, __LINE__));
371
+ _exceptionCallback(make_exception_ptr(Ice::ObjectNotExistException{__FILE__, __LINE__}));
546
372
  }
547
- catch(const Ice::CommunicatorDestroyedException&)
373
+ catch (const Ice::ObjectAdapterDestroyedException&)
548
374
  {
549
- _amdCB->ice_exception(Ice::ObjectNotExistException(__FILE__, __LINE__));
375
+ _exceptionCallback(make_exception_ptr(Ice::ObjectNotExistException{__FILE__, __LINE__}));
550
376
  }
551
- catch(const Ice::ObjectAdapterDeactivatedException&)
377
+ catch (...)
552
378
  {
553
- _amdCB->ice_exception(Ice::ObjectNotExistException(__FILE__, __LINE__));
554
- }
555
- catch(const Ice::Exception&)
556
- {
557
- _exception.reset(ex.ice_clone());
558
- _locator->invoke(_locatorPrx, this); // Retry with new locator proxy
379
+ _exception = ex;
380
+ _locator->invoke(_locatorPrx, shared_from_this()); // Retry with new locator proxy
559
381
  }
560
- #endif
561
382
  }
562
383
 
563
- LocatorI::LocatorI(const string& name,
564
- const LookupPrxPtr& lookup,
565
- const Ice::PropertiesPtr& p,
566
- const string& instanceName,
567
- const Ice::LocatorPrxPtr& voidLocator) :
568
- _lookup(lookup),
569
- _timeout(IceUtil::Time::milliSeconds(p->getPropertyAsIntWithDefault(name + ".Timeout", 300))),
570
- _retryCount(p->getPropertyAsIntWithDefault(name + ".RetryCount", 3)),
571
- _retryDelay(IceUtil::Time::milliSeconds(p->getPropertyAsIntWithDefault(name + ".RetryDelay", 2000))),
572
- _timer(IceInternal::getInstanceTimer(lookup->ice_getCommunicator())),
573
- _traceLevel(p->getPropertyAsInt(name + ".Trace.Lookup")),
574
- _instanceName(instanceName),
575
- _warned(false),
576
- _locator(lookup->ice_getCommunicator()->getDefaultLocator()),
577
- _voidLocator(voidLocator),
578
- _pending(false),
579
- _pendingRetryCount(0),
580
- _failureCount(0),
581
- _warnOnce(true)
384
+ LocatorI::LocatorI(
385
+ const LookupPrx& lookup,
386
+ const Ice::PropertiesPtr& p,
387
+ string instanceName,
388
+ Ice::LocatorPrx voidLocator)
389
+ : _lookup(lookup),
390
+ _timeout(chrono::milliseconds(p->getIcePropertyAsInt("IceLocatorDiscovery.Timeout"))),
391
+ _retryCount(p->getIcePropertyAsInt("IceLocatorDiscovery.RetryCount")),
392
+ _retryDelay(chrono::milliseconds(p->getIcePropertyAsInt("IceLocatorDiscovery.RetryDelay"))),
393
+ _timer(IceInternal::getInstanceTimer(lookup->ice_getCommunicator())),
394
+ _traceLevel(p->getIcePropertyAsInt("IceLocatorDiscovery.Trace.Lookup")),
395
+ _instanceName(std::move(instanceName)),
396
+ _locator(lookup->ice_getCommunicator()->getDefaultLocator()),
397
+ _voidLocator(std::move(voidLocator))
582
398
  {
583
- if(_timeout < IceUtil::Time::milliSeconds(0))
399
+ if (_timeout < chrono::milliseconds::zero())
584
400
  {
585
- _timeout = IceUtil::Time::milliSeconds(300);
401
+ _timeout = chrono::milliseconds(300);
586
402
  }
587
- if(_retryCount < 0)
403
+ if (_retryCount < 0)
588
404
  {
589
405
  _retryCount = 0;
590
406
  }
591
- if(_retryDelay < IceUtil::Time::milliSeconds(0))
592
- {
593
- _retryDelay = IceUtil::Time::milliSeconds(0);
594
- }
595
-
596
- //
597
- // Create one lookup proxy per endpoint from the given proxy. We want to send a multicast
598
- // datagram on each endpoint.
599
- //
600
- Ice::EndpointSeq endpoints = lookup->ice_getEndpoints();
601
- for(vector<Ice::EndpointPtr>::const_iterator q = endpoints.begin(); q != endpoints.end(); ++q)
407
+ if (_retryDelay < chrono::milliseconds::zero())
602
408
  {
603
- Ice::EndpointSeq single;
604
- single.push_back(*q);
605
- _lookups.push_back(make_pair(lookup->ice_endpoints(single), LookupReplyPrxPtr()));
409
+ _retryDelay = chrono::milliseconds::zero();
606
410
  }
607
- assert(!_lookups.empty());
608
411
  }
609
412
 
610
413
  void
611
- LocatorI::setLookupReply(const LookupReplyPrxPtr& lookupReply)
414
+ LocatorI::setLookupReply(const LookupReplyPrx& lookupReply)
612
415
  {
613
- //
614
- // Use a lookup reply proxy whose adress matches the interface used to send multicast datagrams.
615
- //
616
- for(vector<pair<LookupPrxPtr, LookupReplyPrxPtr> >::iterator p = _lookups.begin(); p != _lookups.end(); ++p)
416
+ // Create one lookup proxy per endpoint from the given proxy. We want to send a multicast datagram on each
417
+ // endpoint.
418
+ for (const auto& lookupEndpoint : _lookup->ice_getEndpoints())
617
419
  {
618
- Ice::UDPEndpointInfoPtr info = ICE_DYNAMIC_CAST(Ice::UDPEndpointInfo, p->first->ice_getEndpoints()[0]->getInfo());
619
- if(info && !info->mcastInterface.empty())
420
+ LookupReplyPrx reply = lookupReply;
421
+ auto info = dynamic_pointer_cast<Ice::UDPEndpointInfo>(lookupEndpoint->getInfo());
422
+ // Use a lookup reply proxy whose address matches the interface used to send multicast datagrams.
423
+ if (info && !info->mcastInterface.empty())
620
424
  {
621
- Ice::EndpointSeq endpts = lookupReply->ice_getEndpoints();
622
- for(Ice::EndpointSeq::const_iterator q = endpts.begin(); q != endpts.end(); ++q)
425
+ for (const auto& replyEndpoint : reply->ice_getEndpoints())
623
426
  {
624
- Ice::IPEndpointInfoPtr r = ICE_DYNAMIC_CAST(Ice::IPEndpointInfo, (*q)->getInfo());
625
- if(r && r->host == info->mcastInterface)
427
+ Ice::IPEndpointInfoPtr r = dynamic_pointer_cast<Ice::IPEndpointInfo>(replyEndpoint->getInfo());
428
+ if (r && r->host == info->mcastInterface)
626
429
  {
627
- Ice::EndpointSeq single;
628
- single.push_back(*q);
629
- p->second = lookupReply->ice_endpoints(single);
430
+ reply = reply->ice_endpoints(Ice::EndpointSeq{replyEndpoint});
431
+ break;
630
432
  }
631
433
  }
632
434
  }
633
435
 
634
- if(!p->second)
635
- {
636
- p->second = lookupReply; // Fallback: just use the given lookup reply proxy if no matching endpoint found.
637
- }
436
+ _lookups.emplace_back(_lookup->ice_endpoints(Ice::EndpointSeq{lookupEndpoint}), reply);
638
437
  }
438
+ assert(!_lookups.empty());
639
439
  }
640
440
 
641
- #ifdef ICE_CPP11_MAPPING
642
441
  void
643
- LocatorI::ice_invokeAsync(pair<const Ice::Byte*, const Ice::Byte*> inParams,
644
- function<void(bool, const pair<const Ice::Byte*, const Ice::Byte*>&)> responseCB,
645
- function<void(exception_ptr)> exceptionCB,
646
- const Ice::Current& current)
442
+ LocatorI::ice_invokeAsync(
443
+ pair<const byte*, const byte*> inParams,
444
+ function<void(bool, pair<const byte*, const byte*>)> responseCB,
445
+ function<void(exception_ptr)> exceptionCB,
446
+ const Ice::Current& current)
647
447
  {
648
- invoke(nullptr, make_shared<Request>(this, current.operation, current.mode, inParams, current.ctx,
649
- make_pair(std::move(responseCB), std::move(exceptionCB))));
448
+ invoke(
449
+ nullopt,
450
+ make_shared<Request>(
451
+ this,
452
+ current.operation,
453
+ current.mode,
454
+ inParams,
455
+ current.ctx,
456
+ std::move(responseCB),
457
+ std::move(exceptionCB)));
650
458
  }
651
- #else
652
- void
653
- LocatorI::ice_invoke_async(const Ice::AMD_Object_ice_invokePtr& amdCB,
654
- const pair<const Ice::Byte*, const Ice::Byte*>& inParams,
655
- const Ice::Current& current)
656
- {
657
- invoke(0, new Request(this, current.operation, current.mode, inParams, current.ctx, amdCB));
658
- }
659
- #endif
660
459
 
661
- vector<Ice::LocatorPrxPtr>
662
- LocatorI::getLocators(const string& instanceName, const IceUtil::Time& waitTime)
460
+ vector<Ice::LocatorPrx>
461
+ LocatorI::getLocators(const string& instanceName, const chrono::milliseconds& waitTime)
663
462
  {
664
463
  //
665
464
  // Clear locators from previous search
666
465
  //
667
466
  {
668
- Lock sync(*this);
467
+ lock_guard lock(_mutex);
669
468
  _locators.clear();
670
469
  }
671
470
 
672
471
  //
673
472
  // Find a locator
674
473
  //
675
- invoke(ICE_NULLPTR, ICE_NULLPTR);
474
+ invoke(nullopt, nullptr);
676
475
 
677
476
  //
678
477
  // Wait for responses
679
478
  //
680
- if(instanceName.empty())
479
+ if (instanceName.empty())
681
480
  {
682
- IceUtil::ThreadControl::sleep(waitTime);
481
+ std::this_thread::sleep_for(waitTime);
683
482
  }
684
483
  else
685
484
  {
686
- Lock sync(*this);
687
- while(_locators.find(instanceName) == _locators.end() && _pending)
485
+ unique_lock lock(_mutex);
486
+ while (_locators.find(instanceName) == _locators.end() && _pending)
688
487
  {
689
- timedWait(waitTime);
488
+ if (_conditionVariable.wait_for(lock, waitTime) == cv_status::timeout)
489
+ {
490
+ break;
491
+ }
690
492
  }
691
493
  }
692
494
 
693
495
  //
694
496
  // Return found locators
695
497
  //
696
- Lock sync(*this);
697
- vector<Ice::LocatorPrxPtr> locators;
698
- for(map<string, Ice::LocatorPrxPtr>::const_iterator p = _locators.begin(); p != _locators.end(); ++p)
498
+ lock_guard lock(_mutex);
499
+ vector<Ice::LocatorPrx> locators;
500
+ locators.reserve(_locators.size());
501
+ for (const auto& [_, locator] : _locators)
699
502
  {
700
- locators.push_back(p->second);
503
+ locators.push_back(locator);
701
504
  }
702
505
  return locators;
703
506
  }
704
507
 
705
508
  void
706
- LocatorI::foundLocator(const Ice::LocatorPrxPtr& locator)
509
+ LocatorI::foundLocator(const Ice::LocatorPrx& locator)
707
510
  {
708
- Lock sync(*this);
709
-
710
- if(!locator)
711
- {
712
- if(_traceLevel > 2)
713
- {
714
- Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
715
- out << "ignoring locator reply: (null locator)";
716
- }
717
- return;
718
- }
719
-
720
- if(!_instanceName.empty() && locator->ice_getIdentity().category != _instanceName)
511
+ lock_guard lock(_mutex);
512
+ if (!_instanceName.empty() && locator->ice_getIdentity().category != _instanceName)
721
513
  {
722
- if(_traceLevel > 2)
514
+ if (_traceLevel > 2)
723
515
  {
724
516
  Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
725
517
  out << "ignoring locator reply: instance name doesn't match\n";
@@ -729,21 +521,18 @@ LocatorI::foundLocator(const Ice::LocatorPrxPtr& locator)
729
521
  return;
730
522
  }
731
523
 
732
- //
733
- // If we already have a locator assigned, ensure the given locator
734
- // has the same identity, otherwise ignore it.
735
- //
736
- if(!_pendingRequests.empty() &&
737
- _locator && locator->ice_getIdentity().category != _locator->ice_getIdentity().category)
524
+ // If we already have a locator assigned, ensure the given locator has the same identity, otherwise ignore it.
525
+ if (!_pendingRequests.empty() && _locator &&
526
+ locator->ice_getIdentity().category != _locator->ice_getIdentity().category)
738
527
  {
739
- if(!_warned)
528
+ if (!_warned)
740
529
  {
741
530
  _warned = true; // Only warn once.
742
531
 
743
532
  Ice::Warning out(locator->ice_getCommunicator()->getLogger());
744
533
  out << "received Ice locator with different instance name:\n";
745
- out << "using = `" << _locator->ice_getIdentity().category << "'\n";
746
- out << "received = `" << locator->ice_getIdentity().category << "'\n";
534
+ out << "using = '" << _locator->ice_getIdentity().category << "'\n";
535
+ out << "received = '" << locator->ice_getIdentity().category << "'\n";
747
536
  out << "This is typically the case if multiple Ice locators with different";
748
537
  out << "instance names are deployed and the property `IceLocatorDiscovery.InstanceName' ";
749
538
  out << "is not set.";
@@ -751,158 +540,128 @@ LocatorI::foundLocator(const Ice::LocatorPrxPtr& locator)
751
540
  return;
752
541
  }
753
542
 
754
- if(_pending) // No need to continue, we found a locator.
543
+ if (_pending) // No need to continue, we found a locator.
755
544
  {
756
- _timer->cancel(ICE_SHARED_FROM_THIS);
545
+ _timer->cancel(shared_from_this());
757
546
  _pendingRetryCount = 0;
758
547
  _pending = false;
759
548
  }
760
549
 
761
- if(_traceLevel > 0)
550
+ if (_traceLevel > 0)
762
551
  {
763
552
  Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
764
553
  out << "locator lookup succeeded:\nlocator = " << locator;
765
- if(!_instanceName.empty())
554
+ if (!_instanceName.empty())
766
555
  {
767
556
  out << "\ninstance name = " << _instanceName;
768
557
  }
769
558
  }
770
559
 
771
- Ice::LocatorPrxPtr l = _pendingRequests.empty() ? _locators[locator->ice_getIdentity().category] : _locator;
772
- if(l)
560
+ auto i = _locators.find(locator->ice_getIdentity().category);
561
+ if (i != _locators.end())
773
562
  {
774
- //
775
- // We found another locator replica, append its endpoints to the
776
- // current locator proxy endpoints.
777
- //
778
- Ice::EndpointSeq newEndpoints = l->ice_getEndpoints();
779
- Ice::EndpointSeq endpts = locator->ice_getEndpoints();
780
- for(Ice::EndpointSeq::const_iterator p = endpts.begin(); p != endpts.end(); ++p)
563
+ // We found another locator replica, append its endpoints to the current locator proxy endpoints.
564
+ Ice::EndpointSeq newEndpoints = i->second->ice_getEndpoints();
565
+ for (const auto& endpoint : locator->ice_getEndpoints())
781
566
  {
782
- //
783
- // Only add endpoints if not already in the locator proxy endpoints
784
- //
785
- bool found = false;
786
- for(Ice::EndpointSeq::const_iterator q = newEndpoints.begin(); q != newEndpoints.end(); ++q)
567
+ if (std::find(newEndpoints.begin(), newEndpoints.end(), endpoint) == newEndpoints.end())
787
568
  {
788
- if(*p == *q)
789
- {
790
- found = true;
791
- break;
792
- }
793
- }
794
- if(!found)
795
- {
796
- newEndpoints.push_back(*p);
569
+ newEndpoints.push_back(endpoint);
797
570
  }
798
571
  }
799
- l = l->ice_endpoints(newEndpoints);
572
+ i->second = i->second->ice_endpoints(newEndpoints);
800
573
  }
801
574
  else
802
575
  {
803
- l = locator;
576
+ _locators.insert(make_pair(locator->ice_getIdentity().category, locator));
804
577
  }
805
578
 
806
- if(_pendingRequests.empty())
579
+ Ice::LocatorPrx l = i == _locators.end() ? locator : i->second;
580
+
581
+ if (_pendingRequests.empty())
807
582
  {
808
- _locators[locator->ice_getIdentity().category] = l;
809
- notify();
583
+ _conditionVariable.notify_one();
810
584
  }
811
585
  else
812
586
  {
813
587
  _locator = l;
814
- if(_instanceName.empty())
588
+ if (_instanceName.empty())
815
589
  {
816
590
  _instanceName = _locator->ice_getIdentity().category; // Stick to the first discovered locator.
817
591
  }
818
592
 
819
- //
820
593
  // Send pending requests if any.
821
- //
822
- for(vector<RequestPtr>::const_iterator p = _pendingRequests.begin(); p != _pendingRequests.end(); ++p)
594
+ for (const auto& pendingRequest : _pendingRequests)
823
595
  {
824
- (*p)->invoke(_locator);
596
+ pendingRequest->invoke(l);
825
597
  }
826
598
  _pendingRequests.clear();
827
599
  }
828
600
  }
829
601
 
830
602
  void
831
- LocatorI::invoke(const Ice::LocatorPrxPtr& locator, const RequestPtr& request)
603
+ LocatorI::invoke(const optional<Ice::LocatorPrx>& locator, const RequestPtr& request)
832
604
  {
833
- Lock sync(*this);
834
- if(request && _locator && _locator != locator)
605
+ lock_guard lock(_mutex);
606
+ if (request && _locator && _locator != locator)
835
607
  {
836
- request->invoke(_locator);
608
+ request->invoke(*_locator);
837
609
  }
838
- else if(request && IceUtil::Time::now() < _nextRetry)
610
+ else if (request && chrono::steady_clock::now() < _nextRetry)
839
611
  {
840
612
  request->invoke(_voidLocator); // Don't retry to find a locator before the retry delay expires
841
613
  }
842
614
  else
843
615
  {
844
- _locator = 0;
616
+ _locator = nullopt;
845
617
 
846
- if(request)
618
+ if (request)
847
619
  {
848
620
  _pendingRequests.push_back(request);
849
621
  }
850
622
 
851
- if(!_pending) // No request in progress
623
+ if (!_pending) // No request in progress
852
624
  {
853
625
  _pending = true;
854
626
  _failureCount = 0;
855
627
  _pendingRetryCount = _retryCount;
856
628
  try
857
629
  {
858
- if(_traceLevel > 1)
630
+ if (_traceLevel > 1)
859
631
  {
860
632
  Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
861
633
  out << "looking up locator:\nlookup = " << _lookup;
862
- if(!_instanceName.empty())
634
+ if (!_instanceName.empty())
863
635
  {
864
636
  out << "\ninstance name = " << _instanceName;
865
637
  }
866
638
  }
867
- for(vector<pair<LookupPrxPtr, LookupReplyPrxPtr> >::const_iterator l = _lookups.begin();
868
- l != _lookups.end(); ++l)
639
+ for (const auto& l : _lookups)
869
640
  {
870
- #ifdef ICE_CPP11_MAPPING
871
- auto self = shared_from_this();
872
- l->first->findLocatorAsync(_instanceName, l->second, nullptr, [self](exception_ptr ex)
873
- {
874
- try
875
- {
876
- rethrow_exception(ex);
877
- }
878
- catch(const Ice::LocalException& e)
879
- {
880
- self->exception(e);
881
- }
882
- });
883
- #else
884
- l->first->begin_findLocator(_instanceName, l->second, Ice::newCallback(new CallbackI(this),
885
- &CallbackI::completed));
886
- #endif
641
+ l.first->findLocatorAsync(
642
+ _instanceName,
643
+ l.second,
644
+ nullptr,
645
+ [self = shared_from_this()](exception_ptr ex) { self->exception(ex); });
887
646
  }
888
- _timer->schedule(ICE_SHARED_FROM_THIS, _timeout);
647
+ _timer->schedule(shared_from_this(), _timeout);
889
648
  }
890
- catch(const Ice::LocalException& ex)
649
+ catch (const Ice::LocalException& ex)
891
650
  {
892
- if(_traceLevel > 0)
651
+ if (_traceLevel > 0)
893
652
  {
894
653
  Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
895
654
  out << "locator lookup failed:\nlookup = " << _lookup;
896
- if(!_instanceName.empty())
655
+ if (!_instanceName.empty())
897
656
  {
898
657
  out << "\ninstance name = " << _instanceName;
899
658
  }
900
659
  out << "\n" << ex;
901
660
  }
902
661
 
903
- for(vector<RequestPtr>::const_iterator p = _pendingRequests.begin(); p != _pendingRequests.end(); ++p)
662
+ for (const auto& pendingRequest : _pendingRequests)
904
663
  {
905
- (*p)->invoke(_voidLocator);
664
+ pendingRequest->invoke(_voidLocator);
906
665
  }
907
666
  _pendingRequests.clear();
908
667
  _pending = false;
@@ -913,47 +672,62 @@ LocatorI::invoke(const Ice::LocatorPrxPtr& locator, const RequestPtr& request)
913
672
  }
914
673
 
915
674
  void
916
- LocatorI::exception(const Ice::LocalException& ex)
675
+ LocatorI::exception(std::exception_ptr ex)
917
676
  {
918
- Lock sync(*this);
919
- if(++_failureCount == _lookups.size() && _pending)
677
+ lock_guard lock(_mutex);
678
+ if (++_failureCount == _lookups.size() && _pending)
920
679
  {
921
680
  //
922
681
  // All the lookup calls failed, cancel the timer and propagate the error to the requests.
923
682
  //
924
- _timer->cancel(ICE_SHARED_FROM_THIS);
683
+ _timer->cancel(shared_from_this());
925
684
  _pendingRetryCount = 0;
926
685
  _pending = false;
927
686
 
928
- if(_warnOnce)
687
+ if (_warnOnce)
929
688
  {
930
- Ice::Warning warn(_lookup->ice_getCommunicator()->getLogger());
931
- warn << "failed to lookup locator with lookup proxy `" << _lookup << "':\n" << ex;
932
- _warnOnce = false;
689
+ try
690
+ {
691
+ rethrow_exception(ex);
692
+ }
693
+ catch (const std::exception& e)
694
+ {
695
+ Ice::Warning warn(_lookup->ice_getCommunicator()->getLogger());
696
+ warn << "failed to lookup locator with lookup proxy '" << _lookup << "':\n" << e;
697
+ _warnOnce = false;
698
+ }
933
699
  }
934
700
 
935
- if(_traceLevel > 0)
701
+ if (_traceLevel > 0)
936
702
  {
937
703
  Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
938
704
  out << "locator lookup failed:\nlookup = " << _lookup;
939
- if(!_instanceName.empty())
705
+ if (!_instanceName.empty())
940
706
  {
941
707
  out << "\ninstance name = " << _instanceName;
942
708
  }
943
- out << "\n" << ex;
709
+
710
+ try
711
+ {
712
+ rethrow_exception(ex);
713
+ }
714
+ catch (const std::exception& e)
715
+ {
716
+ out << "\n" << e;
717
+ }
944
718
  }
945
719
 
946
- if(_pendingRequests.empty())
720
+ if (_pendingRequests.empty())
947
721
  {
948
- notify();
722
+ _conditionVariable.notify_one();
949
723
  }
950
724
  else
951
725
  {
952
- for(vector<RequestPtr>::const_iterator p = _pendingRequests.begin(); p != _pendingRequests.end(); ++p)
726
+ for (const auto& pendingRequest : _pendingRequests)
953
727
  {
954
- (*p)->invoke(_voidLocator);
728
+ pendingRequest->invoke(_voidLocator);
955
729
  }
956
- _pendingRequests.clear();
730
+ _pendingRequests.clear();
957
731
  }
958
732
  }
959
733
  }
@@ -961,53 +735,40 @@ LocatorI::exception(const Ice::LocalException& ex)
961
735
  void
962
736
  LocatorI::runTimerTask()
963
737
  {
964
- Lock sync(*this);
965
- if(!_pending)
738
+ lock_guard lock(_mutex);
739
+ if (!_pending)
966
740
  {
967
741
  assert(_pendingRequests.empty());
968
742
  return; // The request failed
969
743
  }
970
744
 
971
- if(_pendingRetryCount > 0)
745
+ if (_pendingRetryCount > 0)
972
746
  {
973
747
  --_pendingRetryCount;
974
748
  try
975
749
  {
976
- if(_traceLevel > 1)
750
+ if (_traceLevel > 1)
977
751
  {
978
752
  Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
979
753
  out << "retrying locator lookup:\nlookup = " << _lookup << "\nretry count = " << _pendingRetryCount;
980
- if(!_instanceName.empty())
754
+ if (!_instanceName.empty())
981
755
  {
982
756
  out << "\ninstance name = " << _instanceName;
983
757
  }
984
758
  }
985
759
  _failureCount = 0;
986
- for(vector<pair<LookupPrxPtr, LookupReplyPrxPtr> >::const_iterator l = _lookups.begin();
987
- l != _lookups.end(); ++l)
760
+ for (const auto& l : _lookups)
988
761
  {
989
- #ifdef ICE_CPP11_MAPPING
990
- auto self = shared_from_this();
991
- l->first->findLocatorAsync(_instanceName, l->second, nullptr, [self](exception_ptr ex)
992
- {
993
- try
994
- {
995
- rethrow_exception(ex);
996
- }
997
- catch(const Ice::LocalException& e)
998
- {
999
- self->exception(e);
1000
- }
1001
- });
1002
- #else
1003
- l->first->begin_findLocator(_instanceName, l->second, Ice::newCallback(new CallbackI(this),
1004
- &CallbackI::completed));
1005
- #endif
762
+ l.first->findLocatorAsync(
763
+ _instanceName,
764
+ l.second,
765
+ nullptr,
766
+ [self = shared_from_this()](exception_ptr ex) { self->exception(ex); });
1006
767
  }
1007
- _timer->schedule(ICE_SHARED_FROM_THIS, _timeout);
768
+ _timer->schedule(shared_from_this(), _timeout);
1008
769
  return;
1009
770
  }
1010
- catch(const Ice::LocalException&)
771
+ catch (const Ice::LocalException&)
1011
772
  {
1012
773
  }
1013
774
  _pendingRetryCount = 0;
@@ -1016,33 +777,34 @@ LocatorI::runTimerTask()
1016
777
  assert(_pendingRetryCount == 0);
1017
778
  _pending = false;
1018
779
 
1019
- if(_traceLevel > 0)
780
+ if (_traceLevel > 0)
1020
781
  {
1021
782
  Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
1022
783
  out << "locator lookup timed out:\nlookup = " << _lookup;
1023
- if(!_instanceName.empty())
784
+ if (!_instanceName.empty())
1024
785
  {
1025
786
  out << "\ninstance name = " << _instanceName;
1026
787
  }
1027
788
  }
1028
789
 
1029
- if(_pendingRequests.empty())
790
+ if (_pendingRequests.empty())
1030
791
  {
1031
- notify();
792
+ _conditionVariable.notify_one();
1032
793
  }
1033
794
  else
1034
795
  {
1035
- for(vector<RequestPtr>::const_iterator p = _pendingRequests.begin(); p != _pendingRequests.end(); ++p)
796
+ for (const auto& pendingRequest : _pendingRequests)
1036
797
  {
1037
- (*p)->invoke(_voidLocator); // Send pending requests on void locator.
798
+ pendingRequest->invoke(_voidLocator); // Send pending requests on void locator.
1038
799
  }
1039
- _pendingRequests.clear();
800
+ _pendingRequests.clear();
1040
801
  }
1041
- _nextRetry = IceUtil::Time::now() + _retryDelay; // Only retry when the retry delay expires
802
+ _nextRetry = chrono::steady_clock::now() + _retryDelay; // Only retry when the retry delay expires
1042
803
  }
1043
804
 
1044
805
  void
1045
- LookupReplyI::foundLocator(ICE_IN(Ice::LocatorPrxPtr) locator, const Ice::Current&)
806
+ LookupReplyI::foundLocator(optional<Ice::LocatorPrx> locator, const Ice::Current& current)
1046
807
  {
1047
- _locator->foundLocator(locator);
808
+ checkNotNull(locator, __FILE__, __LINE__, current);
809
+ _locator->foundLocator(*locator);
1048
810
  }