zeroc-ice 3.7.9.1 → 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 (1215) 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/slice/Glacier2/Metrics.ice +47 -0
  436. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  437. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  438. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  439. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  440. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  441. data/dist/ice/slice/Ice/Context.ice +24 -0
  442. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  443. data/dist/ice/slice/Ice/Identity.ice +36 -0
  444. data/dist/ice/slice/Ice/Locator.ice +74 -0
  445. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  446. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  447. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  448. data/dist/ice/slice/Ice/Process.ice +28 -0
  449. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  450. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  451. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  452. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  453. data/dist/ice/slice/Ice/Router.ice +54 -0
  454. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  455. data/dist/ice/slice/Ice/Version.ice +43 -0
  456. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  457. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  458. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  459. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  460. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  461. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  462. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  463. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  464. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  465. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  466. data/dist/lib/Glacier2/Metrics.rb +41 -0
  467. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  468. data/dist/lib/Glacier2/Router.rb +73 -0
  469. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  470. data/dist/lib/Glacier2/Session.rb +187 -0
  471. data/dist/lib/Glacier2.rb +7 -0
  472. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  473. data/dist/lib/Ice/CompressBatch.rb +50 -0
  474. data/dist/lib/Ice/Context.rb +12 -0
  475. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  476. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  477. data/dist/lib/Ice/Exception.rb +20 -0
  478. data/dist/lib/Ice/Identity.rb +47 -0
  479. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  480. data/dist/lib/Ice/InitializationData.rb +12 -0
  481. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  482. data/dist/lib/Ice/Locator.rb +83 -0
  483. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  484. data/dist/lib/Ice/Metrics.rb +290 -0
  485. data/dist/lib/Ice/OperationMode.rb +58 -0
  486. data/dist/lib/Ice/Process.rb +34 -0
  487. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  488. data/dist/lib/Ice/PropertyDict.rb +12 -0
  489. data/dist/lib/Ice/Proxy.rb +85 -0
  490. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  491. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  492. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  493. data/dist/lib/Ice/Router.rb +59 -0
  494. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  495. data/dist/lib/Ice/SliceUtil.rb +41 -0
  496. data/dist/lib/Ice/Struct.rb +11 -0
  497. data/dist/lib/Ice/ToStringMode.rb +50 -0
  498. data/dist/lib/Ice/Value.rb +93 -0
  499. data/dist/lib/Ice/Version.rb +78 -0
  500. data/dist/lib/Ice.rb +37 -0
  501. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  502. data/dist/lib/IceBox.rb +3 -0
  503. data/dist/lib/IceGrid/Admin.rb +1208 -0
  504. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  505. data/dist/lib/IceGrid/Exception.rb +145 -0
  506. data/dist/lib/IceGrid/FileParser.rb +41 -0
  507. data/dist/lib/IceGrid/Registry.rb +168 -0
  508. data/dist/lib/IceGrid/Session.rb +56 -0
  509. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  510. data/dist/lib/IceGrid.rb +9 -0
  511. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  512. data/dist/lib/IceStorm/Metrics.rb +55 -0
  513. data/dist/lib/IceStorm.rb +4 -0
  514. data/extconf.rb +89 -0
  515. data/ice.gemspec +22 -17
  516. data/scripts/slice2rb +10 -0
  517. metadata +536 -712
  518. data/ICE_LICENSE +0 -48
  519. data/LICENSE +0 -340
  520. data/MCPP_LICENSE +0 -29
  521. data/bin/slice2rb +0 -12
  522. data/ext/Communicator.cpp +0 -792
  523. data/ext/Communicator.h +0 -20
  524. data/ext/Config.h +0 -143
  525. data/ext/Connection.cpp +0 -532
  526. data/ext/Connection.h +0 -24
  527. data/ext/Endpoint.cpp +0 -340
  528. data/ext/Endpoint.h +0 -22
  529. data/ext/ImplicitContext.cpp +0 -144
  530. data/ext/ImplicitContext.h +0 -20
  531. data/ext/Init.cpp +0 -49
  532. data/ext/Logger.cpp +0 -147
  533. data/ext/Logger.h +0 -23
  534. data/ext/Operation.cpp +0 -661
  535. data/ext/Operation.h +0 -31
  536. data/ext/Properties.cpp +0 -365
  537. data/ext/Properties.h +0 -20
  538. data/ext/Proxy.cpp +0 -1396
  539. data/ext/Proxy.h +0 -22
  540. data/ext/Slice.cpp +0 -205
  541. data/ext/Slice.h +0 -17
  542. data/ext/Types.cpp +0 -3325
  543. data/ext/Types.h +0 -595
  544. data/ext/Util.cpp +0 -812
  545. data/ext/Util.h +0 -586
  546. data/ext/ValueFactoryManager.cpp +0 -441
  547. data/ext/ValueFactoryManager.h +0 -95
  548. data/ext/extconf.rb +0 -97
  549. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  550. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  551. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  552. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  553. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  554. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  555. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  556. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  557. data/ext/ice/cpp/include/Ice/Config.h +0 -78
  558. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  559. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  560. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  561. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  562. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  563. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  564. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  565. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  566. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  567. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  568. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  569. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  570. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  571. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  572. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  573. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  574. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  575. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  576. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  577. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  578. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  579. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  580. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  581. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  582. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  583. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  584. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  585. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  586. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  587. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  588. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  589. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  590. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  591. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  592. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  593. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  594. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  595. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  596. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  597. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  598. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  599. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  600. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  601. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  602. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  603. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  604. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  605. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  606. data/ext/ice/cpp/include/Ice/SHA1.h +0 -42
  607. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  608. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  609. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  610. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  611. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  612. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  613. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  614. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  615. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  616. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  617. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  618. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  619. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  620. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  621. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -28
  623. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  624. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  625. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  626. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  628. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  629. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  630. data/ext/ice/cpp/include/IceUtil/Config.h +0 -424
  631. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  632. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  633. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  634. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  635. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  636. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -143
  637. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  638. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  639. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  640. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  641. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  642. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  643. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  644. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -353
  645. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  646. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  648. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  649. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  650. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  651. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  652. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  653. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  654. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  655. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -53
  656. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  657. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  658. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  659. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  660. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  661. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  662. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -174
  663. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  664. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  665. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -143
  666. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  667. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  668. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  669. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  670. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  671. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  672. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  673. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  674. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  675. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  676. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  677. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  678. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  679. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  681. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  682. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  683. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  684. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  685. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  686. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  687. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  688. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  689. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  691. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  692. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  693. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  694. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  695. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  696. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  697. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  699. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  700. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  701. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  702. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  704. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  705. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  706. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  707. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  709. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  710. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  711. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  712. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  713. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  714. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  715. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  716. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  717. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  718. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  719. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  720. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  721. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  723. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  724. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  725. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  727. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  728. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  729. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  731. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  732. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  735. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  736. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  737. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  739. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  740. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  741. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -391
  742. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  744. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  745. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  746. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  747. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -179
  748. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  749. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -161
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  752. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  753. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -291
  754. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  755. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  756. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  758. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  762. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  763. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  764. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  765. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  766. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  767. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  768. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  769. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -845
  770. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  771. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  772. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  773. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  774. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  775. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  776. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  777. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -756
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -162
  779. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  780. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  781. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  782. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  783. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  784. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  786. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  787. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  788. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  789. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  790. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  791. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1971
  792. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  793. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  794. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  795. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  797. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  798. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  799. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  800. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  801. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  803. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  804. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  805. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  807. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  808. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -261
  809. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  810. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  811. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  812. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  813. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  814. data/ext/ice/cpp/src/Ice/Network.cpp +0 -3075
  815. data/ext/ice/cpp/src/Ice/Network.h +0 -371
  816. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -23
  817. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -324
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  819. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  820. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  822. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  823. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  824. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  830. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  831. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  832. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  834. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  835. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  836. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  837. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  838. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  840. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  841. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  842. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  843. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  844. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  846. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  847. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -747
  848. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  849. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  850. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  851. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  852. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  854. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  855. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  858. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  859. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  861. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  862. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  863. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  865. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  866. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  868. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  869. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  870. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  871. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  872. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  874. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  876. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  877. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  878. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  879. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  880. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  881. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  882. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  883. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  884. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -185
  885. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1537
  886. data/ext/ice/cpp/src/Ice/Selector.h +0 -308
  887. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  888. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  889. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  890. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  891. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  892. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  893. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  894. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  895. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -682
  896. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -92
  897. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  898. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  899. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  901. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  903. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -355
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -69
  905. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  906. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  907. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  909. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  911. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -811
  912. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1328
  913. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  914. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  915. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  916. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  917. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  918. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  919. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  920. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  921. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  922. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  923. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -136
  924. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  925. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  927. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -1153
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -117
  929. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  930. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  931. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  933. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  934. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  935. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  937. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  938. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  939. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  941. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1747
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  943. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  945. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  947. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  949. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  951. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  955. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  957. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  959. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  961. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  963. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  965. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  966. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  967. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  968. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  969. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  978. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  979. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  980. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  982. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  983. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  986. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  987. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  989. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  991. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  992. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1001. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1003. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1004. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1005. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1008. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1009. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1011. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1012. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1013. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1014. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1016. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1017. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -484
  1018. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1019. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1020. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1021. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1022. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1023. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -242
  1024. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1025. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1026. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1180
  1027. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1028. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1029. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -169
  1030. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1032. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1033. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1035. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1036. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1037. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1038. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1039. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1040. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1041. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1042. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5154
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -398
  1044. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1045. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1046. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1047. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1048. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1050. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1051. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1052. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1054. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1055. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1057. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1058. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1060. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1061. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1062. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1063. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1064. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1065. data/ext/ice/mcpp/LICENSE +0 -29
  1066. data/ext/ice/mcpp/Makefile +0 -63
  1067. data/ext/ice/mcpp/README.md +0 -32
  1068. data/ext/ice/mcpp/internal.H +0 -530
  1069. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1070. data/lib/Glacier2/Metrics.rb +0 -56
  1071. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1072. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1073. data/lib/Glacier2/Router.rb +0 -95
  1074. data/lib/Glacier2/RouterF.rb +0 -25
  1075. data/lib/Glacier2/SSLInfo.rb +0 -72
  1076. data/lib/Glacier2/Session.rb +0 -247
  1077. data/lib/Glacier2.rb +0 -7
  1078. data/lib/Ice/BuiltinSequences.rb +0 -60
  1079. data/lib/Ice/Communicator.rb +0 -87
  1080. data/lib/Ice/CommunicatorF.rb +0 -24
  1081. data/lib/Ice/Connection.rb +0 -413
  1082. data/lib/Ice/ConnectionF.rb +0 -32
  1083. data/lib/Ice/Current.rb +0 -141
  1084. data/lib/Ice/Endpoint.rb +0 -187
  1085. data/lib/Ice/EndpointF.rb +0 -48
  1086. data/lib/Ice/EndpointTypes.rb +0 -69
  1087. data/lib/Ice/FacetMap.rb +0 -24
  1088. data/lib/Ice/Identity.rb +0 -63
  1089. data/lib/Ice/ImplicitContext.rb +0 -26
  1090. data/lib/Ice/ImplicitContextF.rb +0 -24
  1091. data/lib/Ice/Instrumentation.rb +0 -169
  1092. data/lib/Ice/InstrumentationF.rb +0 -31
  1093. data/lib/Ice/LocalException.rb +0 -1031
  1094. data/lib/Ice/Locator.rb +0 -196
  1095. data/lib/Ice/LocatorF.rb +0 -30
  1096. data/lib/Ice/Logger.rb +0 -24
  1097. data/lib/Ice/LoggerF.rb +0 -24
  1098. data/lib/Ice/Metrics.rb +0 -337
  1099. data/lib/Ice/ObjectAdapter.rb +0 -29
  1100. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1101. data/lib/Ice/ObjectFactory.rb +0 -24
  1102. data/lib/Ice/Plugin.rb +0 -30
  1103. data/lib/Ice/PluginF.rb +0 -28
  1104. data/lib/Ice/Process.rb +0 -53
  1105. data/lib/Ice/ProcessF.rb +0 -25
  1106. data/lib/Ice/Properties.rb +0 -25
  1107. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1108. data/lib/Ice/PropertiesF.rb +0 -29
  1109. data/lib/Ice/RemoteLogger.rb +0 -207
  1110. data/lib/Ice/Router.rb +0 -87
  1111. data/lib/Ice/RouterF.rb +0 -25
  1112. data/lib/Ice/ServantLocator.rb +0 -26
  1113. data/lib/Ice/ServantLocatorF.rb +0 -24
  1114. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1115. data/lib/Ice/ValueFactory.rb +0 -28
  1116. data/lib/Ice/Version.rb +0 -90
  1117. data/lib/Ice.rb +0 -673
  1118. data/lib/IceBox/IceBox.rb +0 -164
  1119. data/lib/IceBox.rb +0 -5
  1120. data/lib/IceGrid/Admin.rb +0 -1196
  1121. data/lib/IceGrid/Descriptor.rb +0 -1034
  1122. data/lib/IceGrid/Exception.rb +0 -376
  1123. data/lib/IceGrid/FileParser.rb +0 -65
  1124. data/lib/IceGrid/PluginFacade.rb +0 -35
  1125. data/lib/IceGrid/Registry.rb +0 -209
  1126. data/lib/IceGrid/Session.rb +0 -71
  1127. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1128. data/lib/IceGrid.rb +0 -9
  1129. data/lib/IcePatch2/FileInfo.rb +0 -115
  1130. data/lib/IcePatch2/FileServer.rb +0 -123
  1131. data/lib/IcePatch2.rb +0 -5
  1132. data/lib/IceStorm/IceStorm.rb +0 -332
  1133. data/lib/IceStorm/Metrics.rb +0 -73
  1134. data/lib/IceStorm.rb +0 -6
  1135. data/slice/Glacier2/Metrics.ice +0 -88
  1136. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1137. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1138. data/slice/Glacier2/Router.ice +0 -186
  1139. data/slice/Glacier2/RouterF.ice +0 -29
  1140. data/slice/Glacier2/SSLInfo.ice +0 -59
  1141. data/slice/Glacier2/Session.ice +0 -274
  1142. data/slice/Ice/BuiltinSequences.ice +0 -59
  1143. data/slice/Ice/Communicator.ice +0 -676
  1144. data/slice/Ice/CommunicatorF.ice +0 -31
  1145. data/slice/Ice/Connection.ice +0 -516
  1146. data/slice/Ice/ConnectionF.ice +0 -33
  1147. data/slice/Ice/Current.ice +0 -170
  1148. data/slice/Ice/Endpoint.ice +0 -291
  1149. data/slice/Ice/EndpointF.ice +0 -43
  1150. data/slice/Ice/EndpointTypes.ice +0 -48
  1151. data/slice/Ice/FacetMap.ice +0 -36
  1152. data/slice/Ice/Identity.ice +0 -75
  1153. data/slice/Ice/ImplicitContext.ice +0 -119
  1154. data/slice/Ice/ImplicitContextF.ice +0 -30
  1155. data/slice/Ice/Instrumentation.ice +0 -509
  1156. data/slice/Ice/InstrumentationF.ice +0 -38
  1157. data/slice/Ice/LocalException.ice +0 -1040
  1158. data/slice/Ice/Locator.ice +0 -239
  1159. data/slice/Ice/LocatorF.ice +0 -32
  1160. data/slice/Ice/Logger.ice +0 -99
  1161. data/slice/Ice/LoggerF.ice +0 -31
  1162. data/slice/Ice/Metrics.ice +0 -436
  1163. data/slice/Ice/ObjectAdapter.ice +0 -710
  1164. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1165. data/slice/Ice/ObjectFactory.ice +0 -71
  1166. data/slice/Ice/Plugin.ice +0 -131
  1167. data/slice/Ice/PluginF.ice +0 -36
  1168. data/slice/Ice/Process.ice +0 -64
  1169. data/slice/Ice/ProcessF.ice +0 -31
  1170. data/slice/Ice/Properties.ice +0 -244
  1171. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1172. data/slice/Ice/PropertiesF.ice +0 -32
  1173. data/slice/Ice/RemoteLogger.ice +0 -226
  1174. data/slice/Ice/Router.ice +0 -103
  1175. data/slice/Ice/RouterF.ice +0 -31
  1176. data/slice/Ice/ServantLocator.ice +0 -136
  1177. data/slice/Ice/ServantLocatorF.ice +0 -31
  1178. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1179. data/slice/Ice/ValueFactory.ice +0 -133
  1180. data/slice/Ice/Version.ice +0 -51
  1181. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1182. data/slice/IceBT/EndpointInfo.ice +0 -57
  1183. data/slice/IceBT/Types.ice +0 -45
  1184. data/slice/IceBox/IceBox.ice +0 -216
  1185. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1186. data/slice/IceGrid/Admin.ice +0 -1957
  1187. data/slice/IceGrid/Descriptor.ice +0 -1094
  1188. data/slice/IceGrid/Exception.ice +0 -396
  1189. data/slice/IceGrid/FileParser.ice +0 -72
  1190. data/slice/IceGrid/PluginFacade.ice +0 -329
  1191. data/slice/IceGrid/Registry.ice +0 -269
  1192. data/slice/IceGrid/Session.ice +0 -128
  1193. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1194. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1195. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1196. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1197. data/slice/IcePatch2/FileInfo.ice +0 -85
  1198. data/slice/IcePatch2/FileServer.ice +0 -191
  1199. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1200. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1201. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1202. data/slice/IceStorm/IceStorm.ice +0 -414
  1203. data/slice/IceStorm/Metrics.ice +0 -83
  1204. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1205. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1206. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1207. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1208. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1211. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1213. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1214. /data/{ext → dist}/ice/mcpp/system.H +0 -0
  1215. /data/{ext → dist}/ice/mcpp/system.c +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
+ }