zeroc-ice 3.7.10 → 3.8.0

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 (1216) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +575 -0
  3. data/dist/IceRuby/Communicator.h +19 -0
  4. data/dist/IceRuby/Config.h +77 -0
  5. data/dist/IceRuby/Connection.cpp +428 -0
  6. data/dist/IceRuby/Connection.h +20 -0
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +342 -0
  10. data/dist/IceRuby/Endpoint.h +18 -0
  11. data/dist/IceRuby/ImplicitContext.cpp +143 -0
  12. data/dist/IceRuby/ImplicitContext.h +16 -0
  13. data/dist/IceRuby/Init.cpp +36 -0
  14. data/dist/IceRuby/Logger.cpp +146 -0
  15. data/dist/IceRuby/Logger.h +19 -0
  16. data/dist/IceRuby/Operation.cpp +623 -0
  17. data/dist/IceRuby/Operation.h +28 -0
  18. data/dist/IceRuby/Properties.cpp +413 -0
  19. data/dist/IceRuby/Properties.h +16 -0
  20. data/dist/IceRuby/Proxy.cpp +926 -0
  21. data/dist/IceRuby/Proxy.h +21 -0
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +199 -0
  25. data/dist/IceRuby/Slice.h +13 -0
  26. data/dist/IceRuby/Types.cpp +3133 -0
  27. data/dist/IceRuby/Types.h +533 -0
  28. data/dist/IceRuby/Util.cpp +553 -0
  29. data/dist/IceRuby/Util.h +485 -0
  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 +14 -0
  33. data/dist/ice/cpp/include/Ice/Buffer.h +159 -0
  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 +60 -0
  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 +16 -0
  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 +56 -0
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +22 -0
  50. data/dist/ice/cpp/include/Ice/Ice.h +60 -0
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +216 -0
  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 +143 -0
  55. data/dist/ice/cpp/include/Ice/InputStream.h +942 -0
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +14 -0
  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 +162 -0
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +54 -0
  64. data/dist/ice/cpp/include/Ice/Object.h +168 -0
  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 +16 -0
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +164 -0
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +512 -0
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +872 -0
  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/Ice/PopDisableWarnings.h +16 -0
  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 +742 -0
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +11 -0
  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 +14 -0
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +20 -0
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +268 -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 +278 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +219 -0
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +125 -0
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +30 -0
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +652 -0
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +167 -0
  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 +16 -0
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +15 -0
  104. data/dist/ice/cpp/include/Ice/Value.h +127 -0
  105. data/dist/ice/cpp/include/Ice/ValueF.h +16 -0
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +28 -0
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +28 -0
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +70 -0
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +74 -0
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +108 -0
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +542 -0
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +1103 -0
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +245 -0
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +314 -0
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +724 -0
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +496 -0
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +37 -0
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +112 -0
  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 +41 -0
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +17 -0
  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 +58 -0
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +30 -0
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +263 -0
  134. data/dist/ice/cpp/src/Ice/Base64.h +26 -0
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +199 -0
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +49 -0
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +187 -0
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +373 -0
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +65 -0
  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 +227 -0
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +51 -0
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +14 -0
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1758 -0
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +17 -0
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3563 -0
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +429 -0
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +38 -0
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +14 -0
  156. data/dist/ice/cpp/src/Ice/ConsoleUtil.cpp +136 -0
  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 +40 -0
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +81 -0
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +38 -0
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +14 -0
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +25 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +216 -0
  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 +165 -0
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +96 -0
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +14 -0
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +180 -0
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +42 -0
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +14 -0
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +128 -0
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +150 -0
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +21 -0
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +9 -0
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +71 -0
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +14 -0
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +5 -0
  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 +67 -0
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +684 -0
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +112 -0
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +593 -0
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +106 -0
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +17 -0
  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 +160 -0
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +2206 -0
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +1956 -0
  200. data/dist/ice/cpp/src/Ice/Instance.h +225 -0
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +959 -0
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +235 -0
  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 +851 -0
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +176 -0
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +20 -0
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +774 -0
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +31 -0
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +234 -0
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +47 -0
  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 +76 -0
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +608 -0
  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 +1927 -0
  222. data/dist/ice/cpp/src/Ice/Network.h +265 -0
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +11 -0
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +306 -0
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +67 -0
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +14 -0
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +55 -0
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +35 -0
  229. data/dist/ice/cpp/src/Ice/Object.cpp +249 -0
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +348 -0
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +53 -0
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +14 -0
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1383 -0
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +163 -0
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +75 -0
  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 +368 -0
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +66 -0
  240. data/dist/ice/cpp/src/Ice/Options.cpp +980 -0
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1106 -0
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +1454 -0
  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 +344 -0
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +54 -0
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +606 -0
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +63 -0
  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 +159 -0
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +186 -0
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +74 -0
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +14 -0
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +29 -0
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +35 -0
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +541 -0
  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 +1584 -0
  268. data/dist/ice/cpp/src/Ice/Reference.h +339 -0
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +830 -0
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +58 -0
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +14 -0
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +28 -0
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +53 -0
  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 +151 -0
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +59 -0
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +14 -0
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +275 -0
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +95 -0
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +17 -0
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +195 -0
  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 +513 -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 +635 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +487 -0
  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 +72 -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 +654 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +104 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1437 -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 +1085 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +822 -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 +1061 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +222 -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 +1270 -0
  326. data/dist/ice/cpp/src/Ice/Selector.h +235 -0
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +547 -0
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +66 -0
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +1790 -0
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +33 -0
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +48 -0
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +472 -0
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +73 -0
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +582 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +160 -0
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +34 -0
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +65 -0
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +33 -0
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +213 -0
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +55 -0
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +128 -0
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +36 -0
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +411 -0
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +86 -0
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +147 -0
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +53 -0
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1110 -0
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +305 -0
  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 +169 -0
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +20 -0
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +39 -0
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +14 -0
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +399 -0
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +41 -0
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +14 -0
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +52 -0
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +23 -0
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +36 -0
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +480 -0
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +92 -0
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +786 -0
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +90 -0
  373. data/dist/ice/cpp/src/Ice/UndefSysMacros.h +37 -0
  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 +145 -0
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +87 -0
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +46 -0
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +87 -0
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +36 -0
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +455 -0
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +82 -0
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1715 -0
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +135 -0
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +40 -0
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +40 -0
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +47 -0
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +752 -0
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +1205 -0
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +330 -0
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +443 -0
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +851 -0
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +660 -0
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +39 -0
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +54 -0
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +202 -0
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +68 -0
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +494 -0
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +168 -0
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +155 -0
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +31 -0
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +24 -0
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +822 -0
  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 +96 -0
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +44 -0
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +4125 -0
  418. data/dist/ice/cpp/src/Slice/Grammar.h +138 -0
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +128 -0
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +473 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +4906 -0
  423. data/dist/ice/cpp/src/Slice/Parser.h +1175 -0
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +295 -0
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +44 -0
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +3445 -0
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +790 -0
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +448 -0
  429. data/dist/ice/cpp/src/Slice/Util.h +134 -0
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +33 -0
  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/mcpp/internal.H +530 -0
  435. data/dist/ice/mcpp/system.c +2741 -0
  436. data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
  437. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  438. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  439. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  440. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  441. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  442. data/dist/ice/slice/Ice/Context.ice +24 -0
  443. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  444. data/dist/ice/slice/Ice/Identity.ice +36 -0
  445. data/dist/ice/slice/Ice/Locator.ice +74 -0
  446. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  447. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  448. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  449. data/dist/ice/slice/Ice/Process.ice +28 -0
  450. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  451. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  452. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  453. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  454. data/dist/ice/slice/Ice/Router.ice +54 -0
  455. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  456. data/dist/ice/slice/Ice/Version.ice +43 -0
  457. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  458. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  459. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  460. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  461. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  462. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  463. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  464. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  465. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  466. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  467. data/dist/lib/Glacier2/Metrics.rb +41 -0
  468. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  469. data/dist/lib/Glacier2/Router.rb +73 -0
  470. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  471. data/dist/lib/Glacier2/Session.rb +187 -0
  472. data/dist/lib/Glacier2.rb +7 -0
  473. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  474. data/dist/lib/Ice/CompressBatch.rb +50 -0
  475. data/dist/lib/Ice/Context.rb +12 -0
  476. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  477. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  478. data/dist/lib/Ice/Exception.rb +20 -0
  479. data/dist/lib/Ice/Identity.rb +47 -0
  480. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  481. data/dist/lib/Ice/InitializationData.rb +12 -0
  482. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  483. data/dist/lib/Ice/Locator.rb +83 -0
  484. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  485. data/dist/lib/Ice/Metrics.rb +290 -0
  486. data/dist/lib/Ice/OperationMode.rb +58 -0
  487. data/dist/lib/Ice/Process.rb +34 -0
  488. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  489. data/dist/lib/Ice/PropertyDict.rb +12 -0
  490. data/dist/lib/Ice/Proxy.rb +85 -0
  491. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  492. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  493. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  494. data/dist/lib/Ice/Router.rb +59 -0
  495. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  496. data/dist/lib/Ice/SliceUtil.rb +41 -0
  497. data/dist/lib/Ice/Struct.rb +11 -0
  498. data/dist/lib/Ice/ToStringMode.rb +50 -0
  499. data/dist/lib/Ice/Value.rb +93 -0
  500. data/dist/lib/Ice/Version.rb +78 -0
  501. data/dist/lib/Ice.rb +37 -0
  502. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  503. data/dist/lib/IceBox.rb +3 -0
  504. data/dist/lib/IceGrid/Admin.rb +1208 -0
  505. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  506. data/dist/lib/IceGrid/Exception.rb +145 -0
  507. data/dist/lib/IceGrid/FileParser.rb +41 -0
  508. data/dist/lib/IceGrid/Registry.rb +168 -0
  509. data/dist/lib/IceGrid/Session.rb +56 -0
  510. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  511. data/dist/lib/IceGrid.rb +9 -0
  512. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  513. data/dist/lib/IceStorm/Metrics.rb +55 -0
  514. data/dist/lib/IceStorm.rb +4 -0
  515. data/extconf.rb +89 -0
  516. data/ice.gemspec +22 -17
  517. data/scripts/slice2rb +10 -0
  518. metadata +536 -712
  519. data/ICE_LICENSE +0 -48
  520. data/LICENSE +0 -340
  521. data/MCPP_LICENSE +0 -29
  522. data/bin/slice2rb +0 -12
  523. data/ext/Communicator.cpp +0 -792
  524. data/ext/Communicator.h +0 -20
  525. data/ext/Config.h +0 -143
  526. data/ext/Connection.cpp +0 -532
  527. data/ext/Connection.h +0 -24
  528. data/ext/Endpoint.cpp +0 -340
  529. data/ext/Endpoint.h +0 -22
  530. data/ext/ImplicitContext.cpp +0 -144
  531. data/ext/ImplicitContext.h +0 -20
  532. data/ext/Init.cpp +0 -49
  533. data/ext/Logger.cpp +0 -147
  534. data/ext/Logger.h +0 -23
  535. data/ext/Operation.cpp +0 -661
  536. data/ext/Operation.h +0 -31
  537. data/ext/Properties.cpp +0 -365
  538. data/ext/Properties.h +0 -20
  539. data/ext/Proxy.cpp +0 -1396
  540. data/ext/Proxy.h +0 -22
  541. data/ext/Slice.cpp +0 -205
  542. data/ext/Slice.h +0 -17
  543. data/ext/Types.cpp +0 -3325
  544. data/ext/Types.h +0 -595
  545. data/ext/Util.cpp +0 -812
  546. data/ext/Util.h +0 -586
  547. data/ext/ValueFactoryManager.cpp +0 -441
  548. data/ext/ValueFactoryManager.h +0 -95
  549. data/ext/extconf.rb +0 -97
  550. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  551. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  552. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  553. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  554. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  555. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  556. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  557. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  558. data/ext/ice/cpp/include/Ice/Config.h +0 -76
  559. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  560. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  561. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  562. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  563. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  564. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  565. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  566. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  567. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  568. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  569. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  570. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  571. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  572. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  573. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  574. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  575. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  576. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  577. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  578. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  579. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  580. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  581. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  582. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  583. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  584. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  585. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  586. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  587. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  588. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  589. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  590. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  591. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  592. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  593. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  594. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  595. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  596. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  597. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  598. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  599. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  600. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  601. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  602. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  603. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  604. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  605. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  606. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  607. data/ext/ice/cpp/include/Ice/SHA1.h +0 -40
  608. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  609. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  610. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  611. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  612. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  613. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  614. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  615. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  616. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  617. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  618. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  619. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  620. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  621. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  623. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -24
  624. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  625. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  626. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  628. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  629. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  630. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  631. data/ext/ice/cpp/include/IceUtil/Config.h +0 -392
  632. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  633. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  634. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  635. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  636. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  637. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -140
  638. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  639. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  640. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  641. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  642. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  643. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  644. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  645. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -349
  646. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  648. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  649. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  650. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  651. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  652. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  653. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  654. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  655. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  656. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  657. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  658. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  659. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  660. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  661. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  662. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  663. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -160
  664. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  665. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  666. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -144
  667. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  668. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  669. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  670. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  671. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  672. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  673. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  674. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  675. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  676. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  677. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  678. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  679. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  681. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  682. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  683. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  684. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  685. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  686. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  687. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  688. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  689. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  691. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  692. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  693. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  694. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  695. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  696. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  697. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  699. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  700. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  701. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  702. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  704. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  705. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  706. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  707. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  709. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  710. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  711. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  712. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  713. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  714. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  715. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  716. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  717. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  718. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  719. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  720. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  721. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  723. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  724. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  725. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  727. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  728. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  729. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  731. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  732. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  735. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  736. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  737. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  739. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  740. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  741. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  742. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -389
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  744. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  745. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  746. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  747. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  748. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  749. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -159
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  752. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  753. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  754. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -284
  755. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  756. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  758. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  762. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  763. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  764. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  765. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  766. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  767. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  768. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  769. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  770. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -818
  771. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  772. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  773. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  774. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  775. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  776. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  777. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -710
  779. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -152
  780. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  781. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  782. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  783. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  784. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  786. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  787. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  788. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  789. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  790. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  791. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  792. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1967
  793. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  794. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  795. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  797. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  798. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  799. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  800. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  801. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  803. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  804. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  805. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  807. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  808. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  809. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -259
  810. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  811. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  812. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  813. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  814. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  815. data/ext/ice/cpp/src/Ice/Network.cpp +0 -2249
  816. data/ext/ice/cpp/src/Ice/Network.h +0 -289
  817. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -19
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -311
  819. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  820. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  822. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  823. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  824. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  830. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  831. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  832. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  834. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  835. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  836. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  837. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  838. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  840. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  841. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  842. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  843. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  844. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  846. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  847. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  848. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
  849. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  850. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  851. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  852. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  854. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  855. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  858. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  859. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  861. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  862. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  863. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  865. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  866. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  868. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  869. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  870. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  871. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  872. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  874. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  876. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  877. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  878. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  879. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  880. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  881. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  882. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  883. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  884. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  885. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -169
  886. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1525
  887. data/ext/ice/cpp/src/Ice/Selector.h +0 -292
  888. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  889. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  890. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  891. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  892. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  893. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  894. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  895. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  896. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -519
  897. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -85
  898. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  899. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  901. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  903. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -234
  905. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -61
  906. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  907. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  909. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  911. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  912. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -569
  913. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1292
  914. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  915. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  916. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  917. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  918. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  919. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  920. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  921. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  922. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  923. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  924. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -131
  925. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  927. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -806
  929. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -96
  930. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  931. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  933. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  934. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  935. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  937. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  938. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  939. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  941. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1704
  943. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  945. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  947. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  949. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  951. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  955. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  957. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  959. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  961. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  963. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  965. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  966. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  967. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  968. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  969. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  978. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  979. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  980. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  982. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  983. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  986. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  987. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  989. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  991. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  992. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1001. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1003. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1004. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1005. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1008. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1009. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1011. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1012. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1013. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1014. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1016. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1017. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1018. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
  1019. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1020. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1021. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1022. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1023. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1024. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
  1025. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1026. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1027. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
  1028. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1029. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1030. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -165
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1032. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1033. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1035. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1036. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1037. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1038. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1039. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1040. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1041. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1042. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5176
  1044. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -407
  1045. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1046. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1047. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1048. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1050. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1051. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1052. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1054. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1055. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1057. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1058. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1060. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1061. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1062. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1063. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1064. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1065. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1066. data/ext/ice/mcpp/LICENSE +0 -29
  1067. data/ext/ice/mcpp/Makefile +0 -63
  1068. data/ext/ice/mcpp/README.md +0 -32
  1069. data/ext/ice/mcpp/internal.H +0 -530
  1070. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1071. data/ext/ice/mcpp/system.c +0 -2737
  1072. data/lib/Glacier2/Metrics.rb +0 -56
  1073. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1074. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1075. data/lib/Glacier2/Router.rb +0 -95
  1076. data/lib/Glacier2/RouterF.rb +0 -25
  1077. data/lib/Glacier2/SSLInfo.rb +0 -72
  1078. data/lib/Glacier2/Session.rb +0 -247
  1079. data/lib/Glacier2.rb +0 -7
  1080. data/lib/Ice/BuiltinSequences.rb +0 -60
  1081. data/lib/Ice/Communicator.rb +0 -87
  1082. data/lib/Ice/CommunicatorF.rb +0 -24
  1083. data/lib/Ice/Connection.rb +0 -413
  1084. data/lib/Ice/ConnectionF.rb +0 -32
  1085. data/lib/Ice/Current.rb +0 -141
  1086. data/lib/Ice/Endpoint.rb +0 -187
  1087. data/lib/Ice/EndpointF.rb +0 -48
  1088. data/lib/Ice/EndpointTypes.rb +0 -69
  1089. data/lib/Ice/FacetMap.rb +0 -24
  1090. data/lib/Ice/Identity.rb +0 -63
  1091. data/lib/Ice/ImplicitContext.rb +0 -26
  1092. data/lib/Ice/ImplicitContextF.rb +0 -24
  1093. data/lib/Ice/Instrumentation.rb +0 -169
  1094. data/lib/Ice/InstrumentationF.rb +0 -31
  1095. data/lib/Ice/LocalException.rb +0 -1031
  1096. data/lib/Ice/Locator.rb +0 -196
  1097. data/lib/Ice/LocatorF.rb +0 -30
  1098. data/lib/Ice/Logger.rb +0 -24
  1099. data/lib/Ice/LoggerF.rb +0 -24
  1100. data/lib/Ice/Metrics.rb +0 -337
  1101. data/lib/Ice/ObjectAdapter.rb +0 -29
  1102. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1103. data/lib/Ice/ObjectFactory.rb +0 -24
  1104. data/lib/Ice/Plugin.rb +0 -30
  1105. data/lib/Ice/PluginF.rb +0 -28
  1106. data/lib/Ice/Process.rb +0 -53
  1107. data/lib/Ice/ProcessF.rb +0 -25
  1108. data/lib/Ice/Properties.rb +0 -25
  1109. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1110. data/lib/Ice/PropertiesF.rb +0 -29
  1111. data/lib/Ice/RemoteLogger.rb +0 -207
  1112. data/lib/Ice/Router.rb +0 -87
  1113. data/lib/Ice/RouterF.rb +0 -25
  1114. data/lib/Ice/ServantLocator.rb +0 -26
  1115. data/lib/Ice/ServantLocatorF.rb +0 -24
  1116. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1117. data/lib/Ice/ValueFactory.rb +0 -28
  1118. data/lib/Ice/Version.rb +0 -90
  1119. data/lib/Ice.rb +0 -673
  1120. data/lib/IceBox/IceBox.rb +0 -164
  1121. data/lib/IceBox.rb +0 -5
  1122. data/lib/IceGrid/Admin.rb +0 -1196
  1123. data/lib/IceGrid/Descriptor.rb +0 -1034
  1124. data/lib/IceGrid/Exception.rb +0 -376
  1125. data/lib/IceGrid/FileParser.rb +0 -65
  1126. data/lib/IceGrid/PluginFacade.rb +0 -35
  1127. data/lib/IceGrid/Registry.rb +0 -209
  1128. data/lib/IceGrid/Session.rb +0 -71
  1129. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1130. data/lib/IceGrid.rb +0 -9
  1131. data/lib/IcePatch2/FileInfo.rb +0 -115
  1132. data/lib/IcePatch2/FileServer.rb +0 -123
  1133. data/lib/IcePatch2.rb +0 -5
  1134. data/lib/IceStorm/IceStorm.rb +0 -332
  1135. data/lib/IceStorm/Metrics.rb +0 -73
  1136. data/lib/IceStorm.rb +0 -6
  1137. data/slice/Glacier2/Metrics.ice +0 -88
  1138. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1139. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1140. data/slice/Glacier2/Router.ice +0 -186
  1141. data/slice/Glacier2/RouterF.ice +0 -29
  1142. data/slice/Glacier2/SSLInfo.ice +0 -59
  1143. data/slice/Glacier2/Session.ice +0 -274
  1144. data/slice/Ice/BuiltinSequences.ice +0 -59
  1145. data/slice/Ice/Communicator.ice +0 -676
  1146. data/slice/Ice/CommunicatorF.ice +0 -31
  1147. data/slice/Ice/Connection.ice +0 -516
  1148. data/slice/Ice/ConnectionF.ice +0 -33
  1149. data/slice/Ice/Current.ice +0 -170
  1150. data/slice/Ice/Endpoint.ice +0 -291
  1151. data/slice/Ice/EndpointF.ice +0 -43
  1152. data/slice/Ice/EndpointTypes.ice +0 -48
  1153. data/slice/Ice/FacetMap.ice +0 -36
  1154. data/slice/Ice/Identity.ice +0 -75
  1155. data/slice/Ice/ImplicitContext.ice +0 -119
  1156. data/slice/Ice/ImplicitContextF.ice +0 -30
  1157. data/slice/Ice/Instrumentation.ice +0 -509
  1158. data/slice/Ice/InstrumentationF.ice +0 -38
  1159. data/slice/Ice/LocalException.ice +0 -1040
  1160. data/slice/Ice/Locator.ice +0 -239
  1161. data/slice/Ice/LocatorF.ice +0 -32
  1162. data/slice/Ice/Logger.ice +0 -99
  1163. data/slice/Ice/LoggerF.ice +0 -31
  1164. data/slice/Ice/Metrics.ice +0 -436
  1165. data/slice/Ice/ObjectAdapter.ice +0 -710
  1166. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1167. data/slice/Ice/ObjectFactory.ice +0 -71
  1168. data/slice/Ice/Plugin.ice +0 -131
  1169. data/slice/Ice/PluginF.ice +0 -36
  1170. data/slice/Ice/Process.ice +0 -64
  1171. data/slice/Ice/ProcessF.ice +0 -31
  1172. data/slice/Ice/Properties.ice +0 -244
  1173. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1174. data/slice/Ice/PropertiesF.ice +0 -32
  1175. data/slice/Ice/RemoteLogger.ice +0 -226
  1176. data/slice/Ice/Router.ice +0 -103
  1177. data/slice/Ice/RouterF.ice +0 -31
  1178. data/slice/Ice/ServantLocator.ice +0 -136
  1179. data/slice/Ice/ServantLocatorF.ice +0 -31
  1180. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1181. data/slice/Ice/ValueFactory.ice +0 -133
  1182. data/slice/Ice/Version.ice +0 -51
  1183. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1184. data/slice/IceBT/EndpointInfo.ice +0 -57
  1185. data/slice/IceBT/Types.ice +0 -45
  1186. data/slice/IceBox/IceBox.ice +0 -216
  1187. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1188. data/slice/IceGrid/Admin.ice +0 -1957
  1189. data/slice/IceGrid/Descriptor.ice +0 -1094
  1190. data/slice/IceGrid/Exception.ice +0 -396
  1191. data/slice/IceGrid/FileParser.ice +0 -72
  1192. data/slice/IceGrid/PluginFacade.ice +0 -329
  1193. data/slice/IceGrid/Registry.ice +0 -269
  1194. data/slice/IceGrid/Session.ice +0 -128
  1195. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1196. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1197. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1198. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1199. data/slice/IcePatch2/FileInfo.ice +0 -85
  1200. data/slice/IcePatch2/FileServer.ice +0 -191
  1201. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1202. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1203. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1204. data/slice/IceStorm/IceStorm.ice +0 -414
  1205. data/slice/IceStorm/Metrics.ice +0 -83
  1206. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1207. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1208. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1211. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1213. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1214. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1215. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1216. /data/{ext → dist}/ice/mcpp/system.H +0 -0
@@ -0,0 +1,1758 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #include "ConnectionFactory.h"
4
+ #include "Acceptor.h"
5
+ #include "CommunicatorFlushBatchAsync.h"
6
+ #include "ConnectionI.h"
7
+ #include "Connector.h"
8
+ #include "DefaultsAndOverrides.h"
9
+ #include "EndpointI.h"
10
+ #include "Ice/Communicator.h"
11
+ #include "Ice/LocalExceptions.h"
12
+ #include "Ice/LoggerUtil.h"
13
+ #include "Ice/Properties.h"
14
+ #include "Instance.h"
15
+ #include "ObjectAdapterI.h"
16
+ #include "RouterInfo.h"
17
+ #include "ThreadPool.h"
18
+ #include "TraceLevels.h"
19
+ #include "Transceiver.h"
20
+
21
+ #include <algorithm>
22
+ #include <chrono>
23
+ #include <iterator>
24
+
25
+ #if TARGET_OS_IPHONE != 0
26
+ namespace IceInternal
27
+ {
28
+ bool registerForBackgroundNotification(const IceInternal::IncomingConnectionFactoryPtr&);
29
+ void unregisterForBackgroundNotification(const IceInternal::IncomingConnectionFactoryPtr&);
30
+ }
31
+ #endif
32
+
33
+ using namespace std;
34
+ using namespace Ice;
35
+ using namespace Ice::Instrumentation;
36
+ using namespace IceInternal;
37
+
38
+ namespace
39
+ {
40
+ template<typename Map> void remove(Map& m, const typename Map::key_type& k, const typename Map::mapped_type& v)
41
+ {
42
+ auto pr = m.equal_range(k);
43
+ assert(pr.first != pr.second);
44
+ for (auto q = pr.first; q != pr.second; ++q)
45
+ {
46
+ if (q->second.get() == v.get())
47
+ {
48
+ m.erase(q);
49
+ return;
50
+ }
51
+ }
52
+ assert(false); // Nothing was removed which is an error.
53
+ }
54
+
55
+ template<typename Map, typename Predicate>
56
+ typename Map::mapped_type find(const Map& m, const typename Map::key_type& k, Predicate predicate)
57
+ {
58
+ auto pr = m.equal_range(k);
59
+ for (auto q = pr.first; q != pr.second; ++q)
60
+ {
61
+ if (predicate(q->second))
62
+ {
63
+ return q->second;
64
+ }
65
+ }
66
+ return nullptr;
67
+ }
68
+ }
69
+
70
+ bool
71
+ IceInternal::OutgoingConnectionFactory::ConnectorInfo::operator==(const ConnectorInfo& other) const
72
+ {
73
+ return targetEqualTo(connector, other.connector);
74
+ }
75
+
76
+ void
77
+ IceInternal::OutgoingConnectionFactory::destroy()
78
+ {
79
+ lock_guard lock(_mutex);
80
+
81
+ if (_destroyed)
82
+ {
83
+ return;
84
+ }
85
+
86
+ for (const auto& [_, connection] : _connections)
87
+ {
88
+ connection->destroy(ConnectionI::CommunicatorDestroyed);
89
+ }
90
+ _destroyed = true;
91
+ _communicator = nullptr;
92
+
93
+ _conditionVariable.notify_all();
94
+ }
95
+
96
+ void
97
+ IceInternal::OutgoingConnectionFactory::updateConnectionObservers()
98
+ {
99
+ lock_guard lock(_mutex);
100
+ for (const auto& [_, connection] : _connections)
101
+ {
102
+ connection->updateObserver();
103
+ }
104
+ }
105
+
106
+ void
107
+ IceInternal::OutgoingConnectionFactory::waitUntilFinished()
108
+ {
109
+ multimap<ConnectorPtr, ConnectionIPtr, Ice::TargetCompare<ConnectorPtr, std::less>> connections;
110
+
111
+ {
112
+ unique_lock lock(_mutex);
113
+
114
+ //
115
+ // First we wait until the factory is destroyed. We also wait
116
+ // until there are no pending connections anymore. Only then
117
+ // we can be sure the _connections contains all connections.
118
+ //
119
+ _conditionVariable.wait(lock, [this] { return _destroyed && _pending.empty() && _pendingConnectCount == 0; });
120
+
121
+ //
122
+ // We want to wait until all connections are finished outside the
123
+ // thread synchronization.
124
+ //
125
+ connections = _connections;
126
+ }
127
+
128
+ for (const auto& p : connections)
129
+ {
130
+ p.second->waitUntilFinished();
131
+ }
132
+
133
+ {
134
+ lock_guard lock(_mutex);
135
+ _connections.clear();
136
+ _connectionsByEndpoint.clear();
137
+ }
138
+ }
139
+
140
+ void
141
+ IceInternal::OutgoingConnectionFactory::createAsync(
142
+ vector<EndpointIPtr> endpoints,
143
+ bool hasMore,
144
+ function<void(Ice::ConnectionIPtr, bool)> response,
145
+ function<void(std::exception_ptr)> exception)
146
+ {
147
+ assert(!endpoints.empty());
148
+
149
+ //
150
+ // Try to find a connection to one of the given endpoints.
151
+ //
152
+ try
153
+ {
154
+ bool compress;
155
+ Ice::ConnectionIPtr connection = findConnection(endpoints, compress);
156
+ if (connection)
157
+ {
158
+ response(std::move(connection), compress);
159
+ return;
160
+ }
161
+ }
162
+ catch (...)
163
+ {
164
+ exception(current_exception());
165
+ return;
166
+ }
167
+
168
+ auto cb = make_shared<ConnectCallback>(
169
+ _instance,
170
+ shared_from_this(),
171
+ std::move(endpoints),
172
+ hasMore,
173
+ std::move(response),
174
+ std::move(exception));
175
+ cb->getConnectors();
176
+ }
177
+
178
+ void
179
+ IceInternal::OutgoingConnectionFactory::setRouterInfo(const RouterInfoPtr& routerInfo)
180
+ {
181
+ assert(routerInfo);
182
+ ObjectAdapterPtr adapter = routerInfo->getAdapter();
183
+ vector<EndpointIPtr> endpoints = routerInfo->getClientEndpoints(); // Must be called outside the synchronization
184
+
185
+ lock_guard lock(_mutex);
186
+
187
+ if (_destroyed)
188
+ {
189
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
190
+ }
191
+
192
+ //
193
+ // Search for connections to the router's client proxy endpoints,
194
+ // and update the object adapter for such connections, so that
195
+ // callbacks from the router can be received over such
196
+ // connections.
197
+ //
198
+ for (auto endpoint : endpoints)
199
+ {
200
+ //
201
+ // The Connection object does not take the compression flag of
202
+ // endpoints into account, but instead gets the information
203
+ // about whether messages should be compressed or not from
204
+ // other sources. In order to allow connection sharing for
205
+ // endpoints that differ in the value of the compression flag
206
+ // only, we always set the compression flag to false here in
207
+ // this connection factory. We also clear the timeout as it is
208
+ // no longer used for Ice 3.8.
209
+ //
210
+ endpoint = endpoint->compress(false)->timeout(-1);
211
+
212
+ for (const auto& [_, connection] : _connections)
213
+ {
214
+ if (connection->endpoint() == endpoint)
215
+ {
216
+ connection->setAdapter(adapter);
217
+ }
218
+ }
219
+ }
220
+ }
221
+
222
+ void
223
+ IceInternal::OutgoingConnectionFactory::removeAdapter(const ObjectAdapterPtr& adapter)
224
+ {
225
+ lock_guard lock(_mutex);
226
+
227
+ if (_destroyed)
228
+ {
229
+ return;
230
+ }
231
+
232
+ for (const auto& [_, connection] : _connections)
233
+ {
234
+ if (connection->getAdapter() == adapter)
235
+ {
236
+ connection->setAdapter(nullptr);
237
+ }
238
+ }
239
+ }
240
+
241
+ void
242
+ IceInternal::OutgoingConnectionFactory::flushAsyncBatchRequests(
243
+ const CommunicatorFlushBatchAsyncPtr& outAsync,
244
+ Ice::CompressBatch compress)
245
+ {
246
+ list<ConnectionIPtr> c;
247
+
248
+ {
249
+ lock_guard lock(_mutex);
250
+ for (const auto& [_, connection] : _connections)
251
+ {
252
+ if (connection->isActiveOrHolding())
253
+ {
254
+ c.push_back(connection);
255
+ }
256
+ }
257
+ }
258
+
259
+ for (const auto& p : c)
260
+ {
261
+ try
262
+ {
263
+ outAsync->flushConnection(p, compress);
264
+ }
265
+ catch (const LocalException&)
266
+ {
267
+ // Ignore.
268
+ }
269
+ }
270
+ }
271
+
272
+ void
273
+ IceInternal::OutgoingConnectionFactory::removeConnection(const ConnectionIPtr& connection) noexcept
274
+ {
275
+ lock_guard lock(_mutex);
276
+ if (!_destroyed)
277
+ {
278
+ remove(_connections, connection->connector(), connection);
279
+ remove(_connectionsByEndpoint, connection->endpoint(), connection);
280
+ remove(_connectionsByEndpoint, connection->endpoint()->compress(true), connection);
281
+ }
282
+ }
283
+
284
+ IceInternal::OutgoingConnectionFactory::OutgoingConnectionFactory(
285
+ CommunicatorPtr communicator,
286
+ const InstancePtr& instance)
287
+ : _communicator(std::move(communicator)),
288
+ _instance(instance),
289
+ _connectionOptions(instance->clientConnectionOptions())
290
+ {
291
+ }
292
+
293
+ IceInternal::OutgoingConnectionFactory::~OutgoingConnectionFactory()
294
+ {
295
+ assert(_destroyed);
296
+ assert(_connections.empty());
297
+ assert(_connectionsByEndpoint.empty());
298
+ assert(_pending.empty());
299
+ assert(_pendingConnectCount == 0);
300
+ }
301
+
302
+ ObjectAdapterPtr
303
+ IceInternal::OutgoingConnectionFactory::getDefaultObjectAdapter() const noexcept
304
+ {
305
+ lock_guard lock(_mutex);
306
+ return _defaultObjectAdapter;
307
+ }
308
+
309
+ void
310
+ IceInternal::OutgoingConnectionFactory::setDefaultObjectAdapter(
311
+ ObjectAdapterPtr adapter) noexcept // NOLINT(performance-unnecessary-value-param)
312
+ {
313
+ lock_guard lock(_mutex);
314
+ _defaultObjectAdapter = dynamic_pointer_cast<ObjectAdapterI>(adapter);
315
+ }
316
+
317
+ ConnectionIPtr
318
+ IceInternal::OutgoingConnectionFactory::findConnection(const vector<EndpointIPtr>& endpoints, bool& compress)
319
+ {
320
+ lock_guard lock(_mutex);
321
+ if (_destroyed)
322
+ {
323
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
324
+ }
325
+
326
+ DefaultsAndOverridesPtr defaultsAndOverrides = _instance->defaultsAndOverrides();
327
+ assert(!endpoints.empty());
328
+
329
+ for (const auto& p : endpoints)
330
+ {
331
+ auto connection = find(
332
+ _connectionsByEndpoint,
333
+ p->timeout(-1), // clear the timeout
334
+ [](const ConnectionIPtr& conn) { return conn->isActiveOrHolding(); });
335
+
336
+ if (connection)
337
+ {
338
+ if (defaultsAndOverrides->overrideCompress.has_value())
339
+ {
340
+ compress = *defaultsAndOverrides->overrideCompress;
341
+ }
342
+ else
343
+ {
344
+ compress = p->compress();
345
+ }
346
+ return connection;
347
+ }
348
+ }
349
+ return nullptr;
350
+ }
351
+
352
+ ConnectionIPtr
353
+ IceInternal::OutgoingConnectionFactory::findConnection(const vector<ConnectorInfo>& connectors, bool& compress)
354
+ {
355
+ // This must be called with the mutex locked.
356
+
357
+ DefaultsAndOverridesPtr defaultsAndOverrides = _instance->defaultsAndOverrides();
358
+ for (const auto& p : connectors)
359
+ {
360
+ if (_pending.find(p.connector) != _pending.end())
361
+ {
362
+ continue;
363
+ }
364
+
365
+ auto connection =
366
+ find(_connections, p.connector, [](const ConnectionIPtr& conn) { return conn->isActiveOrHolding(); });
367
+ if (connection)
368
+ {
369
+ if (defaultsAndOverrides->overrideCompress.has_value())
370
+ {
371
+ compress = *defaultsAndOverrides->overrideCompress;
372
+ }
373
+ else
374
+ {
375
+ compress = p.endpoint->compress();
376
+ }
377
+ return connection;
378
+ }
379
+ }
380
+
381
+ return nullptr;
382
+ }
383
+
384
+ void
385
+ IceInternal::OutgoingConnectionFactory::incPendingConnectCount()
386
+ {
387
+ //
388
+ // Keep track of the number of pending connects. The outgoing connection factory
389
+ // waitUntilFinished() method waits for all the pending connects to terminate before
390
+ // to return. This ensures that the communicator client thread pool isn't destroyed
391
+ // too soon and will still be available to execute the ice_exception() callbacks for
392
+ // the asynchronous requests waiting on a connection to be established.
393
+ //
394
+
395
+ lock_guard lock(_mutex);
396
+ if (_destroyed)
397
+ {
398
+ throw Ice::CommunicatorDestroyedException(__FILE__, __LINE__);
399
+ }
400
+ ++_pendingConnectCount;
401
+ }
402
+
403
+ void
404
+ IceInternal::OutgoingConnectionFactory::decPendingConnectCount()
405
+ {
406
+ lock_guard lock(_mutex);
407
+ --_pendingConnectCount;
408
+ assert(_pendingConnectCount >= 0);
409
+ if (_destroyed && _pendingConnectCount == 0)
410
+ {
411
+ _conditionVariable.notify_all();
412
+ }
413
+ }
414
+
415
+ ConnectionIPtr
416
+ IceInternal::OutgoingConnectionFactory::getConnection(
417
+ const vector<ConnectorInfo>& connectors,
418
+ const ConnectCallbackPtr& cb,
419
+ bool& compress)
420
+ {
421
+ {
422
+ assert(cb);
423
+ unique_lock lock(_mutex);
424
+ if (_destroyed)
425
+ {
426
+ throw Ice::CommunicatorDestroyedException(__FILE__, __LINE__);
427
+ }
428
+
429
+ // Search for an existing connections matching one of the given endpoints.
430
+ Ice::ConnectionIPtr connection = findConnection(connectors, compress);
431
+ if (connection)
432
+ {
433
+ return connection;
434
+ }
435
+
436
+ //
437
+ // Determine whether another thread/request is currently attempting to connect to
438
+ // one of our endpoints; if so we wait until it's done.
439
+ //
440
+ if (addToPending(cb, connectors))
441
+ {
442
+ // A connection to one of our endpoints is pending. The callback will be notified once the connection
443
+ // is established. Returning null indicates that the connection is still pending.
444
+ return nullptr;
445
+ }
446
+ }
447
+
448
+ // No connection is pending. Call nextConnector to initiate connection establishment. Return null to indicate
449
+ // that the connection is still pending.
450
+ cb->nextConnector();
451
+ return nullptr;
452
+ }
453
+
454
+ ConnectionIPtr
455
+ IceInternal::OutgoingConnectionFactory::createConnection(const TransceiverPtr& transceiver, const ConnectorInfo& ci)
456
+ {
457
+ lock_guard lock(_mutex);
458
+ assert(_pending.find(ci.connector) != _pending.end() && transceiver);
459
+
460
+ //
461
+ // Create and add the connection to the connection map. Adding the connection to the map
462
+ // is necessary to support the interruption of the connection initialization and validation
463
+ // in case the communicator is destroyed.
464
+ //
465
+ Ice::ConnectionIPtr connection;
466
+ try
467
+ {
468
+ if (_destroyed)
469
+ {
470
+ throw Ice::CommunicatorDestroyedException(__FILE__, __LINE__);
471
+ }
472
+
473
+ // The connect, close and idle timeouts are ignored for UDP connections.
474
+
475
+ connection = ConnectionI::create(
476
+ _communicator,
477
+ _instance,
478
+ transceiver,
479
+ ci.connector,
480
+ ci.endpoint->compress(false)->timeout(-1),
481
+ _defaultObjectAdapter,
482
+ [weakSelf = weak_from_this()](const ConnectionIPtr& closedConnection)
483
+ {
484
+ if (auto self = weakSelf.lock())
485
+ {
486
+ self->removeConnection(closedConnection);
487
+ }
488
+ },
489
+ _connectionOptions);
490
+ }
491
+ catch (const Ice::LocalException&)
492
+ {
493
+ try
494
+ {
495
+ transceiver->close();
496
+ }
497
+ catch (const Ice::LocalException&)
498
+ {
499
+ // Ignore
500
+ }
501
+ throw;
502
+ }
503
+
504
+ _connections.insert(pair<const ConnectorPtr, ConnectionIPtr>(ci.connector, connection));
505
+ _connectionsByEndpoint.insert(pair<const EndpointIPtr, ConnectionIPtr>(connection->endpoint(), connection));
506
+ _connectionsByEndpoint.insert(
507
+ pair<const EndpointIPtr, ConnectionIPtr>(connection->endpoint()->compress(true), connection));
508
+ return connection;
509
+ }
510
+
511
+ void
512
+ IceInternal::OutgoingConnectionFactory::finishGetConnection(
513
+ const vector<ConnectorInfo>& connectors,
514
+ const ConnectorInfo& ci,
515
+ const ConnectionIPtr& connection,
516
+ const ConnectCallbackPtr& cb)
517
+ {
518
+ ConnectCallbackSet connectionCallbacks;
519
+ if (cb)
520
+ {
521
+ connectionCallbacks.insert(cb);
522
+ }
523
+
524
+ ConnectCallbackSet callbacks;
525
+ {
526
+ lock_guard lock(_mutex);
527
+ for (const auto& connector : connectors)
528
+ {
529
+ auto q = _pending.find(connector.connector);
530
+ if (q != _pending.end())
531
+ {
532
+ for (const auto& r : q->second)
533
+ {
534
+ if (r->hasConnector(ci))
535
+ {
536
+ connectionCallbacks.insert(r);
537
+ }
538
+ else
539
+ {
540
+ callbacks.insert(r);
541
+ }
542
+ }
543
+ _pending.erase(q);
544
+ }
545
+ }
546
+
547
+ for (const auto& connectionCallback : connectionCallbacks)
548
+ {
549
+ connectionCallback->removeFromPending();
550
+ callbacks.erase(connectionCallback);
551
+ }
552
+ for (const auto& callback : callbacks)
553
+ {
554
+ callback->removeFromPending();
555
+ }
556
+ _conditionVariable.notify_all();
557
+ }
558
+
559
+ bool compress;
560
+ DefaultsAndOverridesPtr defaultsAndOverrides = _instance->defaultsAndOverrides();
561
+ if (defaultsAndOverrides->overrideCompress.has_value())
562
+ {
563
+ compress = *defaultsAndOverrides->overrideCompress;
564
+ }
565
+ else
566
+ {
567
+ compress = ci.endpoint->compress();
568
+ }
569
+
570
+ for (const auto& callback : callbacks)
571
+ {
572
+ callback->getConnection();
573
+ }
574
+ for (const auto& connectionCallback : connectionCallbacks)
575
+ {
576
+ connectionCallback->setConnection(connection, compress);
577
+ }
578
+ }
579
+
580
+ void
581
+ IceInternal::OutgoingConnectionFactory::finishGetConnection(
582
+ const vector<ConnectorInfo>& connectors,
583
+ std::exception_ptr ex,
584
+ const ConnectCallbackPtr& cb)
585
+ {
586
+ ConnectCallbackSet failedCallbacks;
587
+ if (cb)
588
+ {
589
+ failedCallbacks.insert(cb);
590
+ }
591
+
592
+ ConnectCallbackSet callbacks;
593
+ {
594
+ lock_guard lock(_mutex);
595
+ for (auto p = connectors.begin(); p != connectors.end(); ++p)
596
+ {
597
+ auto q = _pending.find(p->connector);
598
+ if (q != _pending.end())
599
+ {
600
+ for (const auto& r : q->second)
601
+ {
602
+ if (r->removeConnectors(connectors))
603
+ {
604
+ failedCallbacks.insert(r);
605
+ }
606
+ else
607
+ {
608
+ callbacks.insert(r);
609
+ }
610
+ }
611
+ _pending.erase(q);
612
+ }
613
+ }
614
+
615
+ for (const auto& callback : callbacks)
616
+ {
617
+ assert(failedCallbacks.find(callback) == failedCallbacks.end());
618
+ callback->removeFromPending();
619
+ }
620
+ _conditionVariable.notify_all();
621
+ }
622
+
623
+ for (const auto& callback : callbacks)
624
+ {
625
+ callback->getConnection();
626
+ }
627
+ for (const auto& failedCallback : failedCallbacks)
628
+ {
629
+ failedCallback->setException(ex);
630
+ }
631
+ }
632
+
633
+ bool
634
+ IceInternal::OutgoingConnectionFactory::addToPending(
635
+ const ConnectCallbackPtr& cb,
636
+ const vector<ConnectorInfo>& connectors)
637
+ {
638
+ //
639
+ // Add the callback to each connector pending list.
640
+ //
641
+ bool found = false;
642
+ for (const auto& connector : connectors)
643
+ {
644
+ auto q = _pending.find(connector.connector);
645
+ if (q != _pending.end())
646
+ {
647
+ found = true;
648
+ if (cb)
649
+ {
650
+ q->second.insert(cb);
651
+ }
652
+ }
653
+ }
654
+
655
+ if (found)
656
+ {
657
+ return true;
658
+ }
659
+
660
+ //
661
+ // If there's no pending connection for the given connectors, we're
662
+ // responsible for its establishment. We add empty pending lists,
663
+ // other callbacks to the same connectors will be queued.
664
+ //
665
+ for (const auto& connector : connectors)
666
+ {
667
+ if (_pending.find(connector.connector) == _pending.end())
668
+ {
669
+ _pending.insert(make_pair(connector.connector, ConnectCallbackSet()));
670
+ }
671
+ }
672
+ return false;
673
+ }
674
+
675
+ void
676
+ IceInternal::OutgoingConnectionFactory::removeFromPending(
677
+ const ConnectCallbackPtr& cb,
678
+ const vector<ConnectorInfo>& connectors)
679
+ {
680
+ for (const auto& connector : connectors)
681
+ {
682
+ auto q = _pending.find(connector.connector);
683
+ if (q != _pending.end())
684
+ {
685
+ q->second.erase(cb);
686
+ }
687
+ }
688
+ }
689
+
690
+ void
691
+ IceInternal::OutgoingConnectionFactory::handleException(exception_ptr ex, bool hasMore)
692
+ {
693
+ TraceLevelsPtr traceLevels = _instance->traceLevels();
694
+ if (traceLevels->network >= 2)
695
+ {
696
+ Trace out(_instance->initializationData().logger, traceLevels->networkCat);
697
+
698
+ out << "couldn't resolve endpoint host";
699
+
700
+ try
701
+ {
702
+ rethrow_exception(ex);
703
+ }
704
+ catch (const CommunicatorDestroyedException& e)
705
+ {
706
+ out << "\n" << e;
707
+ }
708
+ catch (const std::exception& e)
709
+ {
710
+ if (hasMore)
711
+ {
712
+ out << ", trying next endpoint\n";
713
+ }
714
+ else
715
+ {
716
+ out << " and no more endpoints to try\n";
717
+ }
718
+ out << e;
719
+ }
720
+ }
721
+ }
722
+
723
+ void
724
+ IceInternal::OutgoingConnectionFactory::handleConnectionException(exception_ptr ex, bool hasMore)
725
+ {
726
+ TraceLevelsPtr traceLevels = _instance->traceLevels();
727
+ if (traceLevels->network >= 2)
728
+ {
729
+ Trace out(_instance->initializationData().logger, traceLevels->networkCat);
730
+
731
+ out << "connection to endpoint failed";
732
+
733
+ try
734
+ {
735
+ rethrow_exception(ex);
736
+ }
737
+ catch (const CommunicatorDestroyedException& e)
738
+ {
739
+ out << "\n" << e;
740
+ }
741
+ catch (const std::exception& e)
742
+ {
743
+ if (hasMore)
744
+ {
745
+ out << ", trying next endpoint\n";
746
+ }
747
+ else
748
+ {
749
+ out << " and no more endpoints to try\n";
750
+ }
751
+ out << e;
752
+ }
753
+ }
754
+ }
755
+
756
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::ConnectCallback(
757
+ InstancePtr instance,
758
+ OutgoingConnectionFactoryPtr factory,
759
+ vector<EndpointIPtr> endpoints,
760
+ bool hasMore,
761
+ std::function<void(Ice::ConnectionIPtr, bool)> createConnectionResponse,
762
+ std::function<void(std::exception_ptr)> createConnectionException)
763
+ : _instance(std::move(instance)),
764
+ _factory(std::move(factory)),
765
+ _endpoints(std::move(endpoints)),
766
+ _hasMore(hasMore),
767
+ _createConnectionResponse(std::move(createConnectionResponse)),
768
+ _createConnectionException(std::move(createConnectionException))
769
+ {
770
+ _endpointsIter = _endpoints.begin();
771
+ }
772
+
773
+ //
774
+ // Methods from ConnectionI.StartCallback
775
+ //
776
+ void
777
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartCompleted(const ConnectionIPtr& connection)
778
+ {
779
+ if (_observer)
780
+ {
781
+ _observer->detach();
782
+ }
783
+
784
+ connection->activate();
785
+ _factory->finishGetConnection(_connectors, *_iter, connection, shared_from_this());
786
+ }
787
+
788
+ void
789
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartFailed(
790
+ const ConnectionIPtr& /*connection*/,
791
+ exception_ptr ex)
792
+ {
793
+ assert(_iter != _connectors.end());
794
+ if (connectionStartFailedImpl(ex))
795
+ {
796
+ nextConnector();
797
+ }
798
+ }
799
+
800
+ //
801
+ // Methods from EndpointI_connectors
802
+ //
803
+ void
804
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectors(const vector<ConnectorPtr>& connectors)
805
+ {
806
+ for (const auto& connector : connectors)
807
+ {
808
+ _connectors.emplace_back(connector, *_endpointsIter);
809
+ }
810
+
811
+ if (++_endpointsIter != _endpoints.end())
812
+ {
813
+ nextEndpoint();
814
+ }
815
+ else
816
+ {
817
+ assert(!_connectors.empty());
818
+
819
+ //
820
+ // We now have all the connectors for the given endpoints. We can try to obtain the
821
+ // connection.
822
+ //
823
+ _iter = _connectors.begin();
824
+ getConnection();
825
+ }
826
+ }
827
+
828
+ void
829
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::exception(exception_ptr ex)
830
+ {
831
+ _factory->handleException(ex, _hasMore || _endpointsIter != _endpoints.end() - 1);
832
+ if (++_endpointsIter != _endpoints.end())
833
+ {
834
+ nextEndpoint();
835
+ }
836
+ else if (!_connectors.empty())
837
+ {
838
+ //
839
+ // We now have all the connectors for the given endpoints. We can try to obtain the
840
+ // connection.
841
+ //
842
+ _iter = _connectors.begin();
843
+ getConnection();
844
+ }
845
+ else
846
+ {
847
+ _createConnectionException(ex);
848
+ _factory->decPendingConnectCount(); // Must be called last.
849
+ }
850
+ }
851
+
852
+ void
853
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::getConnectors()
854
+ {
855
+ try
856
+ {
857
+ //
858
+ // Notify the factory that there's an async connect pending. This is necessary
859
+ // to prevent the outgoing connection factory to be destroyed before all the
860
+ // pending asynchronous connects are finished.
861
+ //
862
+ _factory->incPendingConnectCount();
863
+ }
864
+ catch (const std::exception&)
865
+ {
866
+ _createConnectionException(current_exception());
867
+ return;
868
+ }
869
+
870
+ nextEndpoint();
871
+ }
872
+
873
+ void
874
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::nextEndpoint()
875
+ {
876
+ try
877
+ {
878
+ auto self = shared_from_this();
879
+ assert(_endpointsIter != _endpoints.end());
880
+ (*_endpointsIter)
881
+ ->connectorsAsync(
882
+ [self](const vector<ConnectorPtr>& connectors) { self->connectors(connectors); },
883
+ [self](exception_ptr ex) { self->exception(ex); });
884
+ }
885
+ catch (const std::exception&)
886
+ {
887
+ exception(current_exception());
888
+ }
889
+ }
890
+
891
+ void
892
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::getConnection()
893
+ {
894
+ try
895
+ {
896
+ //
897
+ // If all the connectors have been created, we ask the factory to get a
898
+ // connection.
899
+ //
900
+ bool compress;
901
+ Ice::ConnectionIPtr connection = _factory->getConnection(_connectors, shared_from_this(), compress);
902
+ if (!connection)
903
+ {
904
+ //
905
+ // A null return value from getConnection indicates that the connection
906
+ // is being established and that everthing has been done to ensure that
907
+ // the callback will be notified when the connection establishment is
908
+ // done or that the callback already obtain the connection.
909
+ //
910
+ return;
911
+ }
912
+
913
+ _createConnectionResponse(connection, compress);
914
+ _factory->decPendingConnectCount(); // Must be called last.
915
+ }
916
+ catch (const std::exception&)
917
+ {
918
+ _createConnectionException(current_exception());
919
+ _factory->decPendingConnectCount(); // Must be called last.
920
+ }
921
+ }
922
+
923
+ void
924
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::nextConnector()
925
+ {
926
+ while (true)
927
+ {
928
+ try
929
+ {
930
+ const CommunicatorObserverPtr& obsv = _factory->_instance->initializationData().observer;
931
+ if (obsv)
932
+ {
933
+ _observer = obsv->getConnectionEstablishmentObserver(_iter->endpoint, _iter->connector->toString());
934
+ if (_observer)
935
+ {
936
+ _observer->attach();
937
+ }
938
+ }
939
+
940
+ assert(_iter != _connectors.end());
941
+
942
+ if (_instance->traceLevels()->network >= 2)
943
+ {
944
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
945
+ out << "trying to establish " << _iter->endpoint->protocol() << " connection to "
946
+ << _iter->connector->toString();
947
+ }
948
+ Ice::ConnectionIPtr connection = _factory->createConnection(_iter->connector->connect(), *_iter);
949
+ auto self = shared_from_this();
950
+ connection->startAsync(
951
+ [self](const ConnectionIPtr& conn) { self->connectionStartCompleted(conn); },
952
+ [self](const ConnectionIPtr& conn, exception_ptr ex) { self->connectionStartFailed(conn, ex); });
953
+ }
954
+ catch (const Ice::LocalException& ex)
955
+ {
956
+ if (_instance->traceLevels()->network >= 2)
957
+ {
958
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
959
+ out << "failed to establish " << _iter->endpoint->protocol() << " connection to "
960
+ << _iter->connector->toString() << "\n"
961
+ << ex;
962
+ }
963
+
964
+ if (connectionStartFailedImpl(current_exception()))
965
+ {
966
+ continue; // More connectors to try, continue.
967
+ }
968
+ }
969
+ break;
970
+ }
971
+ }
972
+
973
+ void
974
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::setConnection(
975
+ const Ice::ConnectionIPtr& connection,
976
+ bool compress)
977
+ {
978
+ //
979
+ // Callback from the factory: the connection to one of the callback
980
+ // connectors has been established.
981
+ //
982
+ _createConnectionResponse(connection, compress);
983
+ _factory->decPendingConnectCount(); // Must be called last.
984
+ }
985
+
986
+ void
987
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::setException(exception_ptr ex)
988
+ {
989
+ //
990
+ // Callback from the factory: connection establishment failed.
991
+ //
992
+ _createConnectionException(ex);
993
+ _factory->decPendingConnectCount(); // Must be called last.
994
+ }
995
+
996
+ bool
997
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::hasConnector(const ConnectorInfo& ci)
998
+ {
999
+ return find(_connectors.begin(), _connectors.end(), ci) != _connectors.end();
1000
+ }
1001
+
1002
+ bool
1003
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::removeConnectors(const vector<ConnectorInfo>& connectors)
1004
+ {
1005
+ //
1006
+ // Callback from the factory: connecting to the given connectors
1007
+ // failed, we remove the connectors and return true if there's
1008
+ // no more connectors left to try.
1009
+ //
1010
+ for (const auto& p : connectors)
1011
+ {
1012
+ _connectors.erase(remove(_connectors.begin(), _connectors.end(), p), _connectors.end());
1013
+ }
1014
+ return _connectors.empty();
1015
+ }
1016
+
1017
+ void
1018
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::removeFromPending()
1019
+ {
1020
+ _factory->removeFromPending(shared_from_this(), _connectors);
1021
+ }
1022
+
1023
+ bool
1024
+ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartFailedImpl(std::exception_ptr ex)
1025
+ {
1026
+ if (_observer)
1027
+ {
1028
+ _observer->failed(getExceptionId(ex));
1029
+ _observer->detach();
1030
+ }
1031
+
1032
+ _factory->handleConnectionException(ex, _hasMore || _iter != _connectors.end() - 1);
1033
+
1034
+ bool keepGoing = ++_iter != _connectors.end();
1035
+
1036
+ if (keepGoing)
1037
+ {
1038
+ try
1039
+ {
1040
+ rethrow_exception(ex);
1041
+ }
1042
+ catch (const CommunicatorDestroyedException&)
1043
+ {
1044
+ keepGoing = false;
1045
+ }
1046
+ catch (const ConnectTimeoutException&)
1047
+ {
1048
+ // We stop on ConnectTimeoutException to fail reasonably fast when the endpoint has many connectors
1049
+ // (IP addresses).
1050
+ keepGoing = false;
1051
+ }
1052
+ catch (...)
1053
+ {
1054
+ }
1055
+ }
1056
+
1057
+ if (!keepGoing)
1058
+ {
1059
+ _factory->finishGetConnection(_connectors, ex, shared_from_this());
1060
+ }
1061
+ return keepGoing;
1062
+ }
1063
+
1064
+ void
1065
+ IceInternal::IncomingConnectionFactory::activate()
1066
+ {
1067
+ lock_guard lock(_mutex);
1068
+ setState(StateActive);
1069
+ }
1070
+
1071
+ void
1072
+ IceInternal::IncomingConnectionFactory::hold()
1073
+ {
1074
+ lock_guard lock(_mutex);
1075
+ setState(StateHolding);
1076
+ }
1077
+
1078
+ void
1079
+ IceInternal::IncomingConnectionFactory::destroy()
1080
+ {
1081
+ lock_guard lock(_mutex);
1082
+ setState(StateClosed);
1083
+ }
1084
+
1085
+ void
1086
+ IceInternal::IncomingConnectionFactory::updateConnectionObservers()
1087
+ {
1088
+ lock_guard lock(_mutex);
1089
+ for (const auto& connection : _connections)
1090
+ {
1091
+ connection->updateObserver();
1092
+ }
1093
+ }
1094
+
1095
+ void
1096
+ IceInternal::IncomingConnectionFactory::waitUntilHolding() const
1097
+ {
1098
+ set<ConnectionIPtr> connections;
1099
+
1100
+ {
1101
+ unique_lock lock(_mutex);
1102
+
1103
+ //
1104
+ // First we wait until the connection factory itself is in holding
1105
+ // state.
1106
+ //
1107
+ _conditionVariable.wait(lock, [this] { return _state >= StateHolding; });
1108
+
1109
+ //
1110
+ // We want to wait until all connections are in holding state
1111
+ // outside the thread synchronization.
1112
+ //
1113
+ connections = _connections;
1114
+ }
1115
+
1116
+ //
1117
+ // Now we wait until each connection is in holding state.
1118
+ //
1119
+ for (const auto& conn : connections)
1120
+ {
1121
+ conn->waitUntilHolding();
1122
+ }
1123
+ }
1124
+
1125
+ void
1126
+ IceInternal::IncomingConnectionFactory::waitUntilFinished()
1127
+ {
1128
+ set<ConnectionIPtr> connections;
1129
+ {
1130
+ unique_lock lock(_mutex);
1131
+
1132
+ //
1133
+ // First we wait until the factory is destroyed. If we are using
1134
+ // an acceptor, we also wait for it to be closed.
1135
+ //
1136
+ _conditionVariable.wait(lock, [this] { return _state == StateFinished; });
1137
+
1138
+ //
1139
+ // Clear the OA. See bug 1673 for the details of why this is necessary.
1140
+ //
1141
+ _adapter = nullptr;
1142
+
1143
+ // We want to wait until all connections are finished outside the
1144
+ // thread synchronization.
1145
+ //
1146
+ connections = _connections;
1147
+ }
1148
+
1149
+ for (const auto& conn : connections)
1150
+ {
1151
+ conn->waitUntilFinished();
1152
+ }
1153
+
1154
+ {
1155
+ lock_guard lock(_mutex);
1156
+ _connections.clear();
1157
+ }
1158
+ }
1159
+
1160
+ EndpointIPtr
1161
+ IceInternal::IncomingConnectionFactory::endpoint() const
1162
+ {
1163
+ lock_guard lock(_mutex);
1164
+ return _endpoint;
1165
+ }
1166
+
1167
+ list<ConnectionIPtr>
1168
+ IceInternal::IncomingConnectionFactory::connections() const
1169
+ {
1170
+ lock_guard lock(_mutex);
1171
+
1172
+ list<ConnectionIPtr> result;
1173
+
1174
+ //
1175
+ // Only copy connections which have not been destroyed.
1176
+ //
1177
+ remove_copy_if(
1178
+ _connections.begin(),
1179
+ _connections.end(),
1180
+ back_inserter(result),
1181
+ [](const ConnectionIPtr& conn) { return !conn->isActiveOrHolding(); });
1182
+ return result;
1183
+ }
1184
+
1185
+ void
1186
+ IceInternal::IncomingConnectionFactory::removeConnection(const ConnectionIPtr& connection) noexcept
1187
+ {
1188
+ lock_guard lock(_mutex);
1189
+ if (_state == StateActive || _state == StateHolding)
1190
+ {
1191
+ _connections.erase(connection);
1192
+ }
1193
+ // else it's already being cleaned up.
1194
+ }
1195
+
1196
+ void
1197
+ IceInternal::IncomingConnectionFactory::flushAsyncBatchRequests(
1198
+ const CommunicatorFlushBatchAsyncPtr& outAsync,
1199
+ Ice::CompressBatch compress)
1200
+ {
1201
+ list<ConnectionIPtr> c = connections(); // connections() is synchronized, so no need to synchronize here.
1202
+
1203
+ for (const auto& p : c)
1204
+ {
1205
+ try
1206
+ {
1207
+ outAsync->flushConnection(p, compress);
1208
+ }
1209
+ catch (const LocalException&)
1210
+ {
1211
+ // Ignore.
1212
+ }
1213
+ }
1214
+ }
1215
+
1216
+ #if defined(ICE_USE_IOCP)
1217
+ bool
1218
+ IceInternal::IncomingConnectionFactory::startAsync(SocketOperation)
1219
+ {
1220
+ assert(_acceptor);
1221
+ if (_state >= StateClosed)
1222
+ {
1223
+ return false;
1224
+ }
1225
+
1226
+ try
1227
+ {
1228
+ _acceptor->startAccept();
1229
+ }
1230
+ catch (const Ice::LocalException&)
1231
+ {
1232
+ _acceptorException = current_exception();
1233
+ _acceptor->getNativeInfo()->completed(SocketOperationRead);
1234
+ }
1235
+ return true;
1236
+ }
1237
+
1238
+ bool
1239
+ IceInternal::IncomingConnectionFactory::finishAsync(SocketOperation)
1240
+ {
1241
+ assert(_acceptor);
1242
+ try
1243
+ {
1244
+ if (_acceptorException)
1245
+ {
1246
+ rethrow_exception(_acceptorException);
1247
+ }
1248
+ _acceptor->finishAccept();
1249
+ }
1250
+ catch (const LocalException& ex)
1251
+ {
1252
+ _acceptorException = nullptr;
1253
+
1254
+ if (_warn)
1255
+ {
1256
+ Warning out(_instance->initializationData().logger);
1257
+ out << "error accepting connection:\n" << ex << '\n' << _acceptor->toString();
1258
+ }
1259
+ }
1260
+ return _state < StateClosed;
1261
+ }
1262
+ #endif
1263
+
1264
+ void
1265
+ IceInternal::IncomingConnectionFactory::message(ThreadPoolCurrent& current)
1266
+ {
1267
+ ConnectionIPtr connection;
1268
+
1269
+ ThreadPoolMessage<IncomingConnectionFactory> msg(current, *this);
1270
+
1271
+ {
1272
+ lock_guard lock(_mutex);
1273
+
1274
+ ThreadPoolMessage<IncomingConnectionFactory>::IOScope io(msg);
1275
+ if (!io)
1276
+ {
1277
+ return;
1278
+ }
1279
+
1280
+ if (_state >= StateClosed)
1281
+ {
1282
+ return;
1283
+ }
1284
+ else if (_state == StateHolding)
1285
+ {
1286
+ this_thread::yield();
1287
+ return;
1288
+ }
1289
+
1290
+ if (!_acceptorStarted)
1291
+ {
1292
+ return;
1293
+ }
1294
+
1295
+ //
1296
+ // Now accept a new connection.
1297
+ //
1298
+ TransceiverPtr transceiver;
1299
+ try
1300
+ {
1301
+ transceiver = _acceptor->accept();
1302
+
1303
+ if (_maxConnections > 0 && _connections.size() == static_cast<size_t>(_maxConnections))
1304
+ {
1305
+ // Can't accept more connections, so we abort this transport connection.
1306
+
1307
+ if (_instance->traceLevels()->network >= 2)
1308
+ {
1309
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
1310
+ out << "rejecting new " << _endpoint->protocol() << " connection\n"
1311
+ << transceiver->toString() << "\nbecause the maximum number of connections has been reached";
1312
+ }
1313
+
1314
+ try
1315
+ {
1316
+ transceiver->close();
1317
+ }
1318
+ catch (...)
1319
+ {
1320
+ // Ignore.
1321
+ }
1322
+ return;
1323
+ }
1324
+
1325
+ if (_instance->traceLevels()->network >= 2)
1326
+ {
1327
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
1328
+ out << "trying to accept " << _endpoint->protocol() << " connection\n" << transceiver->toString();
1329
+ }
1330
+ }
1331
+ catch (const LocalException& ex)
1332
+ {
1333
+ if (_warn)
1334
+ {
1335
+ Warning out(_instance->initializationData().logger);
1336
+ out << "error accepting connection:\n" << ex << '\n' << _acceptor->toString();
1337
+ }
1338
+ return;
1339
+ }
1340
+
1341
+ assert(transceiver);
1342
+
1343
+ try
1344
+ {
1345
+ connection = ConnectionI::create(
1346
+ _adapter->getCommunicator(),
1347
+ _instance,
1348
+ transceiver,
1349
+ nullptr, // connector
1350
+ _endpoint,
1351
+ _adapter,
1352
+ [weakSelf = weak_from_this()](const ConnectionIPtr& closedConnection)
1353
+ {
1354
+ if (auto self = weakSelf.lock())
1355
+ {
1356
+ static_pointer_cast<IncomingConnectionFactory>(self)->removeConnection(closedConnection);
1357
+ }
1358
+ },
1359
+ _connectionOptions);
1360
+ }
1361
+ catch (const LocalException& ex)
1362
+ {
1363
+ try
1364
+ {
1365
+ transceiver->close();
1366
+ }
1367
+ catch (const Ice::LocalException&)
1368
+ {
1369
+ // Ignore.
1370
+ }
1371
+
1372
+ if (_warn)
1373
+ {
1374
+ Warning out(_instance->initializationData().logger);
1375
+ out << "error accepting connection:\n" << ex << '\n' << _acceptor->toString();
1376
+ }
1377
+ return;
1378
+ }
1379
+
1380
+ _connections.insert(connection);
1381
+ }
1382
+
1383
+ assert(connection);
1384
+
1385
+ auto self = shared_from_this();
1386
+ connection->startAsync(
1387
+ [self](const ConnectionIPtr& conn) { self->connectionStartCompleted(conn); },
1388
+ [self](const ConnectionIPtr& conn, exception_ptr ex) { self->connectionStartFailed(conn, ex); });
1389
+ }
1390
+
1391
+ void
1392
+ IceInternal::IncomingConnectionFactory::finished(ThreadPoolCurrent&, bool close)
1393
+ {
1394
+ unique_lock lock(_mutex);
1395
+ if (_state < StateClosed)
1396
+ {
1397
+ if (close)
1398
+ {
1399
+ closeAcceptor();
1400
+ }
1401
+ return;
1402
+ }
1403
+
1404
+ assert(_state >= StateClosed);
1405
+ setState(StateFinished);
1406
+
1407
+ if (close)
1408
+ {
1409
+ closeAcceptor();
1410
+ }
1411
+
1412
+ #if TARGET_OS_IPHONE != 0
1413
+ lock.unlock();
1414
+ finish();
1415
+ #endif
1416
+ }
1417
+
1418
+ #if TARGET_OS_IPHONE != 0
1419
+ void
1420
+ IceInternal::IncomingConnectionFactory::finish()
1421
+ {
1422
+ unregisterForBackgroundNotification(shared_from_this());
1423
+ }
1424
+ #endif
1425
+
1426
+ string
1427
+ IceInternal::IncomingConnectionFactory::toString() const
1428
+ {
1429
+ lock_guard lock(_mutex);
1430
+ if (_transceiver)
1431
+ {
1432
+ return _transceiver->toString();
1433
+ }
1434
+ else if (_acceptor)
1435
+ {
1436
+ return _acceptor->toString();
1437
+ }
1438
+ else
1439
+ {
1440
+ return {};
1441
+ }
1442
+ }
1443
+
1444
+ NativeInfoPtr
1445
+ IceInternal::IncomingConnectionFactory::getNativeInfo()
1446
+ {
1447
+ if (_transceiver)
1448
+ {
1449
+ return _transceiver->getNativeInfo();
1450
+ }
1451
+ else if (_acceptor)
1452
+ {
1453
+ return _acceptor->getNativeInfo();
1454
+ }
1455
+ else
1456
+ {
1457
+ return nullptr;
1458
+ }
1459
+ }
1460
+
1461
+ void
1462
+ IceInternal::IncomingConnectionFactory::connectionStartCompleted(const Ice::ConnectionIPtr& connection)
1463
+ {
1464
+ lock_guard lock(_mutex);
1465
+
1466
+ //
1467
+ // Initially, connections are in the holding state. If the factory is active
1468
+ // we activate the connection.
1469
+ //
1470
+ if (_state == StateActive)
1471
+ {
1472
+ connection->activate();
1473
+ }
1474
+ }
1475
+
1476
+ void
1477
+ IceInternal::IncomingConnectionFactory::connectionStartFailed(const Ice::ConnectionIPtr& /*connection*/, exception_ptr)
1478
+ {
1479
+ // Do not warn about connection exceptions here. The connection is not yet validated.
1480
+ }
1481
+
1482
+ //
1483
+ // COMPILERFIX: The ConnectionFactory setup is broken out into a separate initialize
1484
+ // function because when it was part of the constructor C++Builder 2007 apps would
1485
+ // crash if an exception was thrown from any calls within the constructor.
1486
+ //
1487
+ IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(
1488
+ const InstancePtr& instance,
1489
+ const EndpointIPtr& endpoint,
1490
+ const shared_ptr<ObjectAdapterI>& adapter)
1491
+ : _instance(instance),
1492
+ _connectionOptions(instance->serverConnectionOptions(adapter->getName())),
1493
+ _maxConnections(
1494
+ endpoint->datagram()
1495
+ ? 0
1496
+ : instance->initializationData().properties->getPropertyAsInt(adapter->getName() + ".MaxConnections")),
1497
+ _endpoint(endpoint),
1498
+ _adapter(adapter),
1499
+ _warn(_instance->initializationData().properties->getIcePropertyAsInt("Ice.Warn.Connections") > 0)
1500
+ {
1501
+ }
1502
+
1503
+ #if defined(__APPLE__) && TARGET_OS_IPHONE != 0
1504
+ void
1505
+ IceInternal::IncomingConnectionFactory::startAcceptor()
1506
+ {
1507
+ lock_guard lock(_mutex);
1508
+ if (_state >= StateClosed || _acceptorStarted)
1509
+ {
1510
+ return;
1511
+ }
1512
+
1513
+ _acceptorStopped = false;
1514
+ createAcceptor();
1515
+ }
1516
+
1517
+ void
1518
+ IceInternal::IncomingConnectionFactory::stopAcceptor()
1519
+ {
1520
+ lock_guard lock(_mutex);
1521
+ if (_state >= StateClosed || !_acceptorStarted)
1522
+ {
1523
+ return;
1524
+ }
1525
+
1526
+ _acceptorStopped = true;
1527
+ _acceptorStarted = false;
1528
+ if (_adapter->getThreadPool()->finish(shared_from_this(), true))
1529
+ {
1530
+ closeAcceptor();
1531
+ }
1532
+ }
1533
+ #endif
1534
+
1535
+ void
1536
+ IceInternal::IncomingConnectionFactory::initialize()
1537
+ {
1538
+ if (_instance->defaultsAndOverrides()->overrideCompress.has_value())
1539
+ {
1540
+ _endpoint = _endpoint->compress(*_instance->defaultsAndOverrides()->overrideCompress);
1541
+ }
1542
+
1543
+ try
1544
+ {
1545
+ const_cast<TransceiverPtr&>(_transceiver) = _endpoint->transceiver();
1546
+ if (_transceiver)
1547
+ {
1548
+ // All this is for UDP "connections".
1549
+
1550
+ if (_instance->traceLevels()->network >= 2)
1551
+ {
1552
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
1553
+ out << "attempting to bind to " << _endpoint->protocol() << " socket\n" << _transceiver->toString();
1554
+ }
1555
+ const_cast<EndpointIPtr&>(_endpoint) = _transceiver->bind();
1556
+ ConnectionIPtr connection(ConnectionI::create(
1557
+ _adapter->getCommunicator(),
1558
+ _instance,
1559
+ _transceiver,
1560
+ nullptr,
1561
+ _endpoint,
1562
+ _adapter,
1563
+ nullptr,
1564
+ _connectionOptions));
1565
+ connection->startAsync(nullptr, nullptr);
1566
+ _connections.insert(connection);
1567
+ assert(_maxConnections == 0); // UDP so no max connections
1568
+ }
1569
+ else
1570
+ {
1571
+ #if TARGET_OS_IPHONE != 0
1572
+ //
1573
+ // The notification center will call back on the factory to
1574
+ // start the acceptor if necessary.
1575
+ //
1576
+ registerForBackgroundNotification(shared_from_this());
1577
+ #else
1578
+ createAcceptor();
1579
+ #endif
1580
+ }
1581
+ }
1582
+ catch (const Ice::Exception&)
1583
+ {
1584
+ if (_transceiver)
1585
+ {
1586
+ try
1587
+ {
1588
+ _transceiver->close();
1589
+ }
1590
+ catch (const Ice::LocalException&)
1591
+ {
1592
+ // Ignore
1593
+ }
1594
+ }
1595
+
1596
+ _state = StateFinished;
1597
+ _connections.clear();
1598
+ throw;
1599
+ }
1600
+ }
1601
+
1602
+ IceInternal::IncomingConnectionFactory::~IncomingConnectionFactory()
1603
+ {
1604
+ assert(_state == StateFinished);
1605
+ assert(_connections.empty());
1606
+ }
1607
+
1608
+ void
1609
+ IceInternal::IncomingConnectionFactory::setState(State state)
1610
+ {
1611
+ if (_state == state) // Don't switch twice.
1612
+ {
1613
+ return;
1614
+ }
1615
+
1616
+ switch (state)
1617
+ {
1618
+ case StateActive:
1619
+ {
1620
+ if (_state != StateHolding) // Can only switch from holding to active.
1621
+ {
1622
+ return;
1623
+ }
1624
+ if (_acceptor)
1625
+ {
1626
+ if (_instance->traceLevels()->network >= 1)
1627
+ {
1628
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
1629
+ out << "accepting " << _endpoint->protocol() << " connections at " << _acceptor->toString();
1630
+ }
1631
+ _adapter->getThreadPool()->_register(shared_from_this(), SocketOperationRead);
1632
+ }
1633
+
1634
+ for (const auto& connection : _connections)
1635
+ {
1636
+ connection->activate();
1637
+ }
1638
+ break;
1639
+ }
1640
+
1641
+ case StateHolding:
1642
+ {
1643
+ if (_state != StateActive) // Can only switch from active to holding.
1644
+ {
1645
+ return;
1646
+ }
1647
+ if (_acceptor)
1648
+ {
1649
+ if (_instance->traceLevels()->network >= 1)
1650
+ {
1651
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
1652
+ out << "holding " << _endpoint->protocol() << " connections at " << _acceptor->toString();
1653
+ }
1654
+ _adapter->getThreadPool()->unregister(shared_from_this(), SocketOperationRead);
1655
+ }
1656
+ for (const auto& connection : _connections)
1657
+ {
1658
+ connection->hold();
1659
+ }
1660
+ break;
1661
+ }
1662
+
1663
+ case StateClosed:
1664
+ {
1665
+ if (_acceptorStarted)
1666
+ {
1667
+ //
1668
+ // If possible, close the acceptor now to prevent new connections from
1669
+ // being accepted while we are deactivating. This is especially useful
1670
+ // if there are no more threads in the thread pool available to dispatch
1671
+ // the finish() call. Not all selector implementations do support this
1672
+ // however.
1673
+ //
1674
+ _acceptorStarted = false;
1675
+ if (_adapter->getThreadPool()->finish(shared_from_this(), true))
1676
+ {
1677
+ closeAcceptor();
1678
+ }
1679
+ }
1680
+ else
1681
+ {
1682
+ #if TARGET_OS_IPHONE != 0
1683
+ _adapter->getThreadPool()->execute([self = shared_from_this()]() { self->finish(); }, nullptr);
1684
+ #endif
1685
+ state = StateFinished;
1686
+ }
1687
+
1688
+ for (const auto& connection : _connections)
1689
+ {
1690
+ connection->destroy(ConnectionI::ObjectAdapterDeactivated);
1691
+ }
1692
+ break;
1693
+ }
1694
+
1695
+ case StateFinished:
1696
+ {
1697
+ assert(_state == StateClosed);
1698
+ break;
1699
+ }
1700
+ }
1701
+
1702
+ _state = state;
1703
+ _conditionVariable.notify_all();
1704
+ }
1705
+
1706
+ void
1707
+ IceInternal::IncomingConnectionFactory::createAcceptor()
1708
+ {
1709
+ try
1710
+ {
1711
+ assert(!_acceptorStarted);
1712
+ _acceptor = _endpoint->acceptor(_adapter->getName(), _adapter->serverAuthenticationOptions());
1713
+ assert(_acceptor);
1714
+ if (_instance->traceLevels()->network >= 2)
1715
+ {
1716
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
1717
+ out << "attempting to bind to " << _endpoint->protocol() << " socket " << _acceptor->toString();
1718
+ }
1719
+
1720
+ _endpoint = _acceptor->listen();
1721
+ if (_instance->traceLevels()->network >= 1)
1722
+ {
1723
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
1724
+ out << "listening for " << _endpoint->protocol() << " connections\n" << _acceptor->toDetailedString();
1725
+ }
1726
+
1727
+ _adapter->getThreadPool()->initialize(shared_from_this());
1728
+ if (_state == StateActive)
1729
+ {
1730
+ _adapter->getThreadPool()->_register(shared_from_this(), SocketOperationRead);
1731
+ }
1732
+
1733
+ _acceptorStarted = true;
1734
+ }
1735
+ catch (const Ice::Exception&)
1736
+ {
1737
+ if (_acceptor)
1738
+ {
1739
+ _acceptor->close();
1740
+ }
1741
+ throw;
1742
+ }
1743
+ }
1744
+
1745
+ void
1746
+ IceInternal::IncomingConnectionFactory::closeAcceptor()
1747
+ {
1748
+ assert(_acceptor);
1749
+
1750
+ if (_instance->traceLevels()->network >= 1)
1751
+ {
1752
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
1753
+ out << "stopping to accept " << _endpoint->protocol() << " connections at " << _acceptor->toString();
1754
+ }
1755
+
1756
+ assert(!_acceptorStarted);
1757
+ _acceptor->close();
1758
+ }