zeroc-ice 3.7.10 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1216) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +575 -0
  3. data/dist/IceRuby/Communicator.h +19 -0
  4. data/dist/IceRuby/Config.h +77 -0
  5. data/dist/IceRuby/Connection.cpp +428 -0
  6. data/dist/IceRuby/Connection.h +20 -0
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +342 -0
  10. data/dist/IceRuby/Endpoint.h +18 -0
  11. data/dist/IceRuby/ImplicitContext.cpp +143 -0
  12. data/dist/IceRuby/ImplicitContext.h +16 -0
  13. data/dist/IceRuby/Init.cpp +36 -0
  14. data/dist/IceRuby/Logger.cpp +146 -0
  15. data/dist/IceRuby/Logger.h +19 -0
  16. data/dist/IceRuby/Operation.cpp +623 -0
  17. data/dist/IceRuby/Operation.h +28 -0
  18. data/dist/IceRuby/Properties.cpp +413 -0
  19. data/dist/IceRuby/Properties.h +16 -0
  20. data/dist/IceRuby/Proxy.cpp +926 -0
  21. data/dist/IceRuby/Proxy.h +21 -0
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +199 -0
  25. data/dist/IceRuby/Slice.h +13 -0
  26. data/dist/IceRuby/Types.cpp +3133 -0
  27. data/dist/IceRuby/Types.h +533 -0
  28. data/dist/IceRuby/Util.cpp +553 -0
  29. data/dist/IceRuby/Util.h +485 -0
  30. data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
  31. data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
  32. data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +14 -0
  33. data/dist/ice/cpp/include/Ice/Buffer.h +159 -0
  34. data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
  35. data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
  36. data/dist/ice/cpp/include/Ice/Config.h +60 -0
  37. data/dist/ice/cpp/include/Ice/Connection.h +410 -0
  38. data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
  39. data/dist/ice/cpp/include/Ice/ConnectionIF.h +16 -0
  40. data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
  41. data/dist/ice/cpp/include/Ice/Current.h +60 -0
  42. data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
  43. data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
  44. data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
  45. data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
  46. data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
  47. data/dist/ice/cpp/include/Ice/Exception.h +56 -0
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +22 -0
  50. data/dist/ice/cpp/include/Ice/Ice.h +60 -0
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +216 -0
  52. data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
  53. data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
  54. data/dist/ice/cpp/include/Ice/Initialize.h +143 -0
  55. data/dist/ice/cpp/include/Ice/InputStream.h +942 -0
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +14 -0
  57. data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
  58. data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
  59. data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
  60. data/dist/ice/cpp/include/Ice/Logger.h +62 -0
  61. data/dist/ice/cpp/include/Ice/LoggerUtil.h +162 -0
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +54 -0
  64. data/dist/ice/cpp/include/Ice/Object.h +168 -0
  65. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
  66. data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
  67. data/dist/ice/cpp/include/Ice/ObjectF.h +16 -0
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +164 -0
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +512 -0
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +872 -0
  72. data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
  73. data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
  74. data/dist/ice/cpp/include/Ice/PopDisableWarnings.h +16 -0
  75. data/dist/ice/cpp/include/Ice/Properties.h +307 -0
  76. data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
  77. data/dist/ice/cpp/include/Ice/Proxy.h +742 -0
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +11 -0
  79. data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
  80. data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
  81. data/dist/ice/cpp/include/Ice/ReferenceF.h +14 -0
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +20 -0
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +268 -0
  84. data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
  85. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
  86. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
  87. data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
  88. data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
  89. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +278 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +219 -0
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +125 -0
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +30 -0
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +652 -0
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +167 -0
  98. data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
  99. data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
  100. data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
  101. data/dist/ice/cpp/include/Ice/UUID.h +16 -0
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +15 -0
  104. data/dist/ice/cpp/include/Ice/Value.h +127 -0
  105. data/dist/ice/cpp/include/Ice/ValueF.h +16 -0
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +28 -0
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +28 -0
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +70 -0
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +74 -0
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +108 -0
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +542 -0
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +1103 -0
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +245 -0
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +314 -0
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +724 -0
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +496 -0
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +37 -0
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +112 -0
  124. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
  125. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
  126. data/dist/ice/cpp/src/Ice/Acceptor.h +41 -0
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +17 -0
  128. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
  129. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
  130. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
  131. data/dist/ice/cpp/src/Ice/ArgVector.cpp +58 -0
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +30 -0
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +263 -0
  134. data/dist/ice/cpp/src/Ice/Base64.h +26 -0
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +199 -0
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +49 -0
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +187 -0
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +373 -0
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +65 -0
  141. data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
  142. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
  143. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
  144. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +227 -0
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +51 -0
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +14 -0
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +1758 -0
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +264 -0
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +17 -0
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +3563 -0
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +429 -0
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +38 -0
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +14 -0
  156. data/dist/ice/cpp/src/Ice/ConsoleUtil.cpp +136 -0
  157. data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
  158. data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
  159. data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
  160. data/dist/ice/cpp/src/Ice/DLLMain.cpp +40 -0
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +81 -0
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +38 -0
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +14 -0
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +25 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +216 -0
  168. data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
  169. data/dist/ice/cpp/src/Ice/Endian.h +40 -0
  170. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +165 -0
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +96 -0
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +14 -0
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +180 -0
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +42 -0
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +14 -0
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +128 -0
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +150 -0
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +21 -0
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +9 -0
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +71 -0
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +14 -0
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +5 -0
  183. data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
  184. data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
  185. data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
  186. data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
  187. data/dist/ice/cpp/src/Ice/HashUtil.h +67 -0
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +684 -0
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +112 -0
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +593 -0
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +106 -0
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +17 -0
  193. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
  194. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
  195. data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
  196. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
  197. data/dist/ice/cpp/src/Ice/Initialize.cpp +160 -0
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +2206 -0
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +1956 -0
  200. data/dist/ice/cpp/src/Ice/Instance.h +225 -0
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +959 -0
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +235 -0
  203. data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
  204. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
  205. data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +851 -0
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +176 -0
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +20 -0
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +774 -0
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +31 -0
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +234 -0
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +47 -0
  212. data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
  213. data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
  214. data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +76 -0
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +608 -0
  217. data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
  218. data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
  219. data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
  220. data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
  221. data/dist/ice/cpp/src/Ice/Network.cpp +1927 -0
  222. data/dist/ice/cpp/src/Ice/Network.h +265 -0
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +11 -0
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +306 -0
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +67 -0
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +14 -0
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +55 -0
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +35 -0
  229. data/dist/ice/cpp/src/Ice/Object.cpp +249 -0
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +348 -0
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +53 -0
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +14 -0
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +1383 -0
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +163 -0
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +75 -0
  236. data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
  237. data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
  238. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +368 -0
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +66 -0
  240. data/dist/ice/cpp/src/Ice/Options.cpp +980 -0
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +1106 -0
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +1454 -0
  245. data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
  246. data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
  247. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +344 -0
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +54 -0
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +606 -0
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +63 -0
  252. data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
  253. data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
  254. data/dist/ice/cpp/src/Ice/Protocol.cpp +159 -0
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +186 -0
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +74 -0
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +14 -0
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +29 -0
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +35 -0
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +541 -0
  262. data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
  263. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
  264. data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
  265. data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
  266. data/dist/ice/cpp/src/Ice/Random.h +23 -0
  267. data/dist/ice/cpp/src/Ice/Reference.cpp +1584 -0
  268. data/dist/ice/cpp/src/Ice/Reference.h +339 -0
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +830 -0
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +58 -0
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +14 -0
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +28 -0
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +53 -0
  274. data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
  275. data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
  276. data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
  277. data/dist/ice/cpp/src/Ice/RetryQueue.cpp +151 -0
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +59 -0
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +14 -0
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +275 -0
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +95 -0
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +17 -0
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +195 -0
  284. data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
  285. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
  286. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
  287. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +513 -0
  288. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
  289. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
  290. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +635 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/Ice/SSL/RFC2253.cpp +487 -0
  293. data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
  294. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
  295. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
  296. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
  297. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
  298. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
  299. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
  300. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
  301. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +72 -0
  302. data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
  303. data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
  304. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
  305. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
  306. data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
  307. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +654 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +104 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1437 -0
  310. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
  311. data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
  312. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1085 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +822 -0
  315. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
  316. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
  317. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
  318. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
  319. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1061 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +222 -0
  322. data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
  323. data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
  324. data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
  325. data/dist/ice/cpp/src/Ice/Selector.cpp +1270 -0
  326. data/dist/ice/cpp/src/Ice/Selector.h +235 -0
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +547 -0
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +66 -0
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +1790 -0
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +33 -0
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +48 -0
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +472 -0
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +73 -0
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +582 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +160 -0
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +34 -0
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +65 -0
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +33 -0
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +213 -0
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +55 -0
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +128 -0
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +36 -0
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +411 -0
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +86 -0
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +147 -0
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +53 -0
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +1110 -0
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +305 -0
  353. data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
  354. data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
  355. data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
  356. data/dist/ice/cpp/src/Ice/Timer.cpp +169 -0
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +20 -0
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +39 -0
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +14 -0
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +399 -0
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +41 -0
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +14 -0
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +52 -0
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +23 -0
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +131 -0
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +36 -0
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +480 -0
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +92 -0
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +786 -0
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +90 -0
  373. data/dist/ice/cpp/src/Ice/UndefSysMacros.h +37 -0
  374. data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
  375. data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
  376. data/dist/ice/cpp/src/Ice/Value.cpp +145 -0
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +87 -0
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +46 -0
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +87 -0
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +36 -0
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +455 -0
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +82 -0
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +1715 -0
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +135 -0
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +40 -0
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +40 -0
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +47 -0
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +752 -0
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +1205 -0
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +330 -0
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +443 -0
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +851 -0
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +660 -0
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +39 -0
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +54 -0
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +202 -0
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +68 -0
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +494 -0
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +168 -0
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +155 -0
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +31 -0
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +24 -0
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +822 -0
  410. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
  411. data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
  412. data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
  413. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
  414. data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
  415. data/dist/ice/cpp/src/Slice/FileTracker.cpp +96 -0
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +44 -0
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +4125 -0
  418. data/dist/ice/cpp/src/Slice/Grammar.h +138 -0
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +128 -0
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +473 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +4906 -0
  423. data/dist/ice/cpp/src/Slice/Parser.h +1175 -0
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +295 -0
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +44 -0
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +3445 -0
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +790 -0
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +448 -0
  429. data/dist/ice/cpp/src/Slice/Util.h +134 -0
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +33 -0
  431. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
  432. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
  433. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
  434. data/dist/ice/mcpp/internal.H +530 -0
  435. data/dist/ice/mcpp/system.c +2741 -0
  436. data/dist/ice/slice/Glacier2/Metrics.ice +47 -0
  437. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +55 -0
  438. data/dist/ice/slice/Glacier2/Router.ice +93 -0
  439. data/dist/ice/slice/Glacier2/SSLInfo.ice +42 -0
  440. data/dist/ice/slice/Glacier2/Session.ice +133 -0
  441. data/dist/ice/slice/Ice/BuiltinSequences.ice +54 -0
  442. data/dist/ice/slice/Ice/Context.ice +24 -0
  443. data/dist/ice/slice/Ice/EndpointTypes.ice +50 -0
  444. data/dist/ice/slice/Ice/Identity.ice +36 -0
  445. data/dist/ice/slice/Ice/Locator.ice +74 -0
  446. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  447. data/dist/ice/slice/Ice/Metrics.ice +201 -0
  448. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  449. data/dist/ice/slice/Ice/Process.ice +28 -0
  450. data/dist/ice/slice/Ice/PropertiesAdmin.ice +37 -0
  451. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  452. data/dist/ice/slice/Ice/RemoteLogger.ice +126 -0
  453. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  454. data/dist/ice/slice/Ice/Router.ice +54 -0
  455. data/dist/ice/slice/Ice/SliceChecksumDict.ice +18 -0
  456. data/dist/ice/slice/Ice/Version.ice +43 -0
  457. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  458. data/dist/ice/slice/IceGrid/Admin.ice +981 -0
  459. data/dist/ice/slice/IceGrid/Descriptor.ice +519 -0
  460. data/dist/ice/slice/IceGrid/Exception.ice +98 -0
  461. data/dist/ice/slice/IceGrid/FileParser.ice +36 -0
  462. data/dist/ice/slice/IceGrid/Registry.ice +130 -0
  463. data/dist/ice/slice/IceGrid/Session.ice +64 -0
  464. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +34 -0
  465. data/dist/ice/slice/IceStorm/IceStorm.ice +186 -0
  466. data/dist/ice/slice/IceStorm/Metrics.ice +41 -0
  467. data/dist/lib/Glacier2/Metrics.rb +41 -0
  468. data/dist/lib/Glacier2/PermissionsVerifier.rb +61 -0
  469. data/dist/lib/Glacier2/Router.rb +73 -0
  470. data/dist/lib/Glacier2/SSLInfo.rb +64 -0
  471. data/dist/lib/Glacier2/Session.rb +187 -0
  472. data/dist/lib/Glacier2.rb +7 -0
  473. data/dist/lib/Ice/BuiltinSequences.rb +48 -0
  474. data/dist/lib/Ice/CompressBatch.rb +50 -0
  475. data/dist/lib/Ice/Context.rb +12 -0
  476. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  477. data/dist/lib/Ice/EndpointTypes.rb +28 -0
  478. data/dist/lib/Ice/Exception.rb +20 -0
  479. data/dist/lib/Ice/Identity.rb +47 -0
  480. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  481. data/dist/lib/Ice/InitializationData.rb +12 -0
  482. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  483. data/dist/lib/Ice/Locator.rb +83 -0
  484. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  485. data/dist/lib/Ice/Metrics.rb +290 -0
  486. data/dist/lib/Ice/OperationMode.rb +58 -0
  487. data/dist/lib/Ice/Process.rb +34 -0
  488. data/dist/lib/Ice/PropertiesAdmin.rb +39 -0
  489. data/dist/lib/Ice/PropertyDict.rb +12 -0
  490. data/dist/lib/Ice/Proxy.rb +85 -0
  491. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  492. data/dist/lib/Ice/RemoteLogger.rb +176 -0
  493. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  494. data/dist/lib/Ice/Router.rb +59 -0
  495. data/dist/lib/Ice/SliceChecksumDict.rb +12 -0
  496. data/dist/lib/Ice/SliceUtil.rb +41 -0
  497. data/dist/lib/Ice/Struct.rb +11 -0
  498. data/dist/lib/Ice/ToStringMode.rb +50 -0
  499. data/dist/lib/Ice/Value.rb +93 -0
  500. data/dist/lib/Ice/Version.rb +78 -0
  501. data/dist/lib/Ice.rb +37 -0
  502. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  503. data/dist/lib/IceBox.rb +3 -0
  504. data/dist/lib/IceGrid/Admin.rb +1208 -0
  505. data/dist/lib/IceGrid/Descriptor.rb +989 -0
  506. data/dist/lib/IceGrid/Exception.rb +145 -0
  507. data/dist/lib/IceGrid/FileParser.rb +41 -0
  508. data/dist/lib/IceGrid/Registry.rb +168 -0
  509. data/dist/lib/IceGrid/Session.rb +56 -0
  510. data/dist/lib/IceGrid/UserAccountMapper.rb +38 -0
  511. data/dist/lib/IceGrid.rb +9 -0
  512. data/dist/lib/IceStorm/IceStorm.rb +251 -0
  513. data/dist/lib/IceStorm/Metrics.rb +55 -0
  514. data/dist/lib/IceStorm.rb +4 -0
  515. data/extconf.rb +89 -0
  516. data/ice.gemspec +22 -17
  517. data/scripts/slice2rb +10 -0
  518. metadata +536 -712
  519. data/ICE_LICENSE +0 -48
  520. data/LICENSE +0 -340
  521. data/MCPP_LICENSE +0 -29
  522. data/bin/slice2rb +0 -12
  523. data/ext/Communicator.cpp +0 -792
  524. data/ext/Communicator.h +0 -20
  525. data/ext/Config.h +0 -143
  526. data/ext/Connection.cpp +0 -532
  527. data/ext/Connection.h +0 -24
  528. data/ext/Endpoint.cpp +0 -340
  529. data/ext/Endpoint.h +0 -22
  530. data/ext/ImplicitContext.cpp +0 -144
  531. data/ext/ImplicitContext.h +0 -20
  532. data/ext/Init.cpp +0 -49
  533. data/ext/Logger.cpp +0 -147
  534. data/ext/Logger.h +0 -23
  535. data/ext/Operation.cpp +0 -661
  536. data/ext/Operation.h +0 -31
  537. data/ext/Properties.cpp +0 -365
  538. data/ext/Properties.h +0 -20
  539. data/ext/Proxy.cpp +0 -1396
  540. data/ext/Proxy.h +0 -22
  541. data/ext/Slice.cpp +0 -205
  542. data/ext/Slice.h +0 -17
  543. data/ext/Types.cpp +0 -3325
  544. data/ext/Types.h +0 -595
  545. data/ext/Util.cpp +0 -812
  546. data/ext/Util.h +0 -586
  547. data/ext/ValueFactoryManager.cpp +0 -441
  548. data/ext/ValueFactoryManager.h +0 -95
  549. data/ext/extconf.rb +0 -97
  550. data/ext/ice/cpp/include/Ice/Application.h +0 -326
  551. data/ext/ice/cpp/include/Ice/AsyncResult.h +0 -155
  552. data/ext/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  553. data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  554. data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +0 -20
  555. data/ext/ice/cpp/include/Ice/Buffer.h +0 -154
  556. data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  557. data/ext/ice/cpp/include/Ice/Comparable.h +0 -205
  558. data/ext/ice/cpp/include/Ice/Config.h +0 -76
  559. data/ext/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  560. data/ext/ice/cpp/include/Ice/ConnectionIF.h +0 -38
  561. data/ext/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  562. data/ext/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  563. data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  564. data/ext/ice/cpp/include/Ice/Dispatcher.h +0 -67
  565. data/ext/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  566. data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  567. data/ext/ice/cpp/include/Ice/Exception.h +0 -161
  568. data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  569. data/ext/ice/cpp/include/Ice/FactoryTable.h +0 -73
  570. data/ext/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  571. data/ext/ice/cpp/include/Ice/Format.h +0 -38
  572. data/ext/ice/cpp/include/Ice/Functional.h +0 -140
  573. data/ext/ice/cpp/include/Ice/GCObject.h +0 -76
  574. data/ext/ice/cpp/include/Ice/Handle.h +0 -182
  575. data/ext/ice/cpp/include/Ice/Ice.h +0 -55
  576. data/ext/ice/cpp/include/Ice/IconvStringConverter.h +0 -377
  577. data/ext/ice/cpp/include/Ice/Incoming.h +0 -225
  578. data/ext/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  579. data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  580. data/ext/ice/cpp/include/Ice/Initialize.h +0 -957
  581. data/ext/ice/cpp/include/Ice/InputStream.h +0 -1514
  582. data/ext/ice/cpp/include/Ice/InstanceF.h +0 -20
  583. data/ext/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  584. data/ext/ice/cpp/include/Ice/LocalObject.h +0 -35
  585. data/ext/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  586. data/ext/ice/cpp/include/Ice/LoggerUtil.h +0 -185
  587. data/ext/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  588. data/ext/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  589. data/ext/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  590. data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +0 -86
  591. data/ext/ice/cpp/include/Ice/Object.h +0 -507
  592. data/ext/ice/cpp/include/Ice/ObjectF.h +0 -30
  593. data/ext/ice/cpp/include/Ice/ObserverHelper.h +0 -182
  594. data/ext/ice/cpp/include/Ice/Optional.h +0 -1114
  595. data/ext/ice/cpp/include/Ice/OutgoingAsync.h +0 -856
  596. data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  597. data/ext/ice/cpp/include/Ice/OutputStream.h +0 -1092
  598. data/ext/ice/cpp/include/Ice/Protocol.h +0 -274
  599. data/ext/ice/cpp/include/Ice/Proxy.h +0 -5154
  600. data/ext/ice/cpp/include/Ice/ProxyF.h +0 -53
  601. data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  602. data/ext/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  603. data/ext/ice/cpp/include/Ice/ReferenceF.h +0 -29
  604. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  605. data/ext/ice/cpp/include/Ice/RequestHandlerF.h +0 -30
  606. data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  607. data/ext/ice/cpp/include/Ice/SHA1.h +0 -40
  608. data/ext/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  609. data/ext/ice/cpp/include/Ice/Service.h +0 -379
  610. data/ext/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  611. data/ext/ice/cpp/include/Ice/SlicedData.h +0 -172
  612. data/ext/ice/cpp/include/Ice/SlicedDataF.h +0 -40
  613. data/ext/ice/cpp/include/Ice/StreamHelpers.h +0 -1190
  614. data/ext/ice/cpp/include/Ice/StringConverter.h +0 -78
  615. data/ext/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  616. data/ext/ice/cpp/include/Ice/UUID.h +0 -19
  617. data/ext/ice/cpp/include/Ice/UniquePtr.h +0 -95
  618. data/ext/ice/cpp/include/Ice/UniqueRef.h +0 -97
  619. data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +0 -88
  620. data/ext/ice/cpp/include/Ice/Value.h +0 -139
  621. data/ext/ice/cpp/include/Ice/ValueF.h +0 -21
  622. data/ext/ice/cpp/include/IceSSL/Config.h +0 -21
  623. data/ext/ice/cpp/include/IceSSL/IceSSL.h +0 -24
  624. data/ext/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  625. data/ext/ice/cpp/include/IceSSL/Plugin.h +0 -712
  626. data/ext/ice/cpp/include/IceSSL/SChannel.h +0 -72
  627. data/ext/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  628. data/ext/ice/cpp/include/IceSSL/UWP.h +0 -62
  629. data/ext/ice/cpp/include/IceUtil/Atomic.h +0 -179
  630. data/ext/ice/cpp/include/IceUtil/Cond.h +0 -317
  631. data/ext/ice/cpp/include/IceUtil/Config.h +0 -392
  632. data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  633. data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  634. data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -92
  635. data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  636. data/ext/ice/cpp/include/IceUtil/Exception.h +0 -394
  637. data/ext/ice/cpp/include/IceUtil/FileUtil.h +0 -140
  638. data/ext/ice/cpp/include/IceUtil/Functional.h +0 -389
  639. data/ext/ice/cpp/include/IceUtil/Handle.h +0 -261
  640. data/ext/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  641. data/ext/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  642. data/ext/ice/cpp/include/IceUtil/Iterator.h +0 -31
  643. data/ext/ice/cpp/include/IceUtil/Lock.h +0 -128
  644. data/ext/ice/cpp/include/IceUtil/Monitor.h +0 -243
  645. data/ext/ice/cpp/include/IceUtil/Mutex.h +0 -349
  646. data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  647. data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  648. data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  649. data/ext/ice/cpp/include/IceUtil/Optional.h +0 -433
  650. data/ext/ice/cpp/include/IceUtil/Options.h +0 -135
  651. data/ext/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  652. data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +0 -14
  653. data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  654. data/ext/ice/cpp/include/IceUtil/Random.h +0 -55
  655. data/ext/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  656. data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  657. data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  658. data/ext/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  659. data/ext/ice/cpp/include/IceUtil/Shared.h +0 -127
  660. data/ext/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  661. data/ext/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  662. data/ext/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  663. data/ext/ice/cpp/include/IceUtil/Thread.h +0 -160
  664. data/ext/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  665. data/ext/ice/cpp/include/IceUtil/Time.h +0 -205
  666. data/ext/ice/cpp/include/IceUtil/Timer.h +0 -144
  667. data/ext/ice/cpp/include/IceUtil/UUID.h +0 -21
  668. data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +0 -37
  669. data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +0 -170
  670. data/ext/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  671. data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  672. data/ext/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  673. data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  674. data/ext/ice/cpp/include/generated/Ice/Current.h +0 -322
  675. data/ext/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  676. data/ext/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  677. data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +0 -118
  678. data/ext/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  679. data/ext/ice/cpp/include/generated/Ice/Identity.h +0 -264
  680. data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  681. data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  682. data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  683. data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  684. data/ext/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  685. data/ext/ice/cpp/include/generated/Ice/Locator.h +0 -3898
  686. data/ext/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  687. data/ext/ice/cpp/include/generated/Ice/Logger.h +0 -237
  688. data/ext/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  689. data/ext/ice/cpp/include/generated/Ice/Metrics.h +0 -4769
  690. data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  691. data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  692. data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  693. data/ext/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  694. data/ext/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  695. data/ext/ice/cpp/include/generated/Ice/Process.h +0 -977
  696. data/ext/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  697. data/ext/ice/cpp/include/generated/Ice/Properties.h +0 -452
  698. data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +0 -1366
  699. data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  700. data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +0 -2707
  701. data/ext/ice/cpp/include/generated/Ice/Router.h +0 -1850
  702. data/ext/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  703. data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  704. data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  705. data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +0 -84
  706. data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  707. data/ext/ice/cpp/include/generated/Ice/Version.h +0 -357
  708. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  709. data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  710. data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  711. data/ext/ice/cpp/src/Ice/ACM.cpp +0 -380
  712. data/ext/ice/cpp/src/Ice/ACM.h +0 -119
  713. data/ext/ice/cpp/src/Ice/ACMF.h +0 -30
  714. data/ext/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  715. data/ext/ice/cpp/src/Ice/Acceptor.h +0 -37
  716. data/ext/ice/cpp/src/Ice/AcceptorF.h +0 -25
  717. data/ext/ice/cpp/src/Ice/ArgVector.cpp +0 -59
  718. data/ext/ice/cpp/src/Ice/ArgVector.h +0 -36
  719. data/ext/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  720. data/ext/ice/cpp/src/Ice/Base64.cpp +0 -263
  721. data/ext/ice/cpp/src/Ice/Base64.h +0 -31
  722. data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +0 -250
  723. data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +0 -59
  724. data/ext/ice/cpp/src/Ice/Buffer.cpp +0 -155
  725. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +0 -49
  726. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +0 -407
  727. data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +0 -87
  728. data/ext/ice/cpp/src/Ice/Communicator.cpp +0 -79
  729. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +0 -61
  730. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  731. data/ext/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  732. data/ext/ice/cpp/src/Ice/Cond.cpp +0 -381
  733. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +0 -348
  734. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +0 -72
  735. data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +0 -24
  736. data/ext/ice/cpp/src/Ice/Connection.cpp +0 -155
  737. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +0 -61
  738. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +0 -1972
  739. data/ext/ice/cpp/src/Ice/ConnectionFactory.h +0 -264
  740. data/ext/ice/cpp/src/Ice/ConnectionFactoryF.h +0 -30
  741. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +0 -3670
  742. data/ext/ice/cpp/src/Ice/ConnectionI.h +0 -389
  743. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  744. data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  745. data/ext/ice/cpp/src/Ice/Connector.cpp +0 -16
  746. data/ext/ice/cpp/src/Ice/Connector.h +0 -32
  747. data/ext/ice/cpp/src/Ice/ConnectorF.h +0 -21
  748. data/ext/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  749. data/ext/ice/cpp/src/Ice/Current.cpp +0 -62
  750. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -159
  751. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +0 -52
  752. data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +0 -21
  753. data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  754. data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +0 -284
  755. data/ext/ice/cpp/src/Ice/Endpoint.cpp +0 -147
  756. data/ext/ice/cpp/src/Ice/EndpointF.cpp +0 -61
  757. data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +0 -189
  758. data/ext/ice/cpp/src/Ice/EndpointFactory.h +0 -117
  759. data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +0 -21
  760. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +0 -213
  761. data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +0 -47
  762. data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +0 -21
  763. data/ext/ice/cpp/src/Ice/EndpointI.cpp +0 -98
  764. data/ext/ice/cpp/src/Ice/EndpointI.h +0 -218
  765. data/ext/ice/cpp/src/Ice/EndpointIF.h +0 -49
  766. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +0 -51
  767. data/ext/ice/cpp/src/Ice/EventHandler.cpp +0 -32
  768. data/ext/ice/cpp/src/Ice/EventHandler.h +0 -81
  769. data/ext/ice/cpp/src/Ice/EventHandlerF.h +0 -24
  770. data/ext/ice/cpp/src/Ice/Exception.cpp +0 -818
  771. data/ext/ice/cpp/src/Ice/FacetMap.cpp +0 -49
  772. data/ext/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  773. data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  774. data/ext/ice/cpp/src/Ice/GCObject.cpp +0 -442
  775. data/ext/ice/cpp/src/Ice/HashUtil.h +0 -53
  776. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -684
  777. data/ext/ice/cpp/src/Ice/HttpParser.h +0 -117
  778. data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +0 -710
  779. data/ext/ice/cpp/src/Ice/IPEndpointI.h +0 -152
  780. data/ext/ice/cpp/src/Ice/IPEndpointIF.h +0 -28
  781. data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  782. data/ext/ice/cpp/src/Ice/Identity.cpp +0 -57
  783. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +0 -75
  784. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +0 -61
  785. data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  786. data/ext/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  787. data/ext/ice/cpp/src/Ice/Incoming.cpp +0 -795
  788. data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  789. data/ext/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  790. data/ext/ice/cpp/src/Ice/Initialize.cpp +0 -654
  791. data/ext/ice/cpp/src/Ice/InputStream.cpp +0 -2741
  792. data/ext/ice/cpp/src/Ice/Instance.cpp +0 -1967
  793. data/ext/ice/cpp/src/Ice/Instance.h +0 -235
  794. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +0 -188
  795. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +0 -66
  796. data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +0 -1094
  797. data/ext/ice/cpp/src/Ice/InstrumentationI.h +0 -256
  798. data/ext/ice/cpp/src/Ice/LocalException.cpp +0 -3262
  799. data/ext/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  800. data/ext/ice/cpp/src/Ice/Locator.cpp +0 -2042
  801. data/ext/ice/cpp/src/Ice/LocatorF.cpp +0 -63
  802. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +0 -889
  803. data/ext/ice/cpp/src/Ice/LocatorInfo.h +0 -189
  804. data/ext/ice/cpp/src/Ice/LocatorInfoF.h +0 -29
  805. data/ext/ice/cpp/src/Ice/Logger.cpp +0 -73
  806. data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +0 -956
  807. data/ext/ice/cpp/src/Ice/LoggerAdminI.h +0 -41
  808. data/ext/ice/cpp/src/Ice/LoggerF.cpp +0 -61
  809. data/ext/ice/cpp/src/Ice/LoggerI.cpp +0 -259
  810. data/ext/ice/cpp/src/Ice/LoggerI.h +0 -52
  811. data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +0 -100
  812. data/ext/ice/cpp/src/Ice/Metrics.cpp +0 -2352
  813. data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +0 -694
  814. data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  815. data/ext/ice/cpp/src/Ice/Network.cpp +0 -2249
  816. data/ext/ice/cpp/src/Ice/Network.h +0 -289
  817. data/ext/ice/cpp/src/Ice/NetworkF.h +0 -19
  818. data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +0 -311
  819. data/ext/ice/cpp/src/Ice/NetworkProxy.h +0 -72
  820. data/ext/ice/cpp/src/Ice/NetworkProxyF.h +0 -21
  821. data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +0 -57
  822. data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +0 -40
  823. data/ext/ice/cpp/src/Ice/Object.cpp +0 -435
  824. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +0 -79
  825. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +0 -61
  826. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +0 -291
  827. data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +0 -53
  828. data/ext/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +0 -25
  829. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +0 -1530
  830. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +0 -159
  831. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +0 -75
  832. data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +0 -56
  833. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +0 -408
  834. data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +0 -74
  835. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1322
  836. data/ext/ice/cpp/src/Ice/OutputStream.cpp +0 -1367
  837. data/ext/ice/cpp/src/Ice/Plugin.cpp +0 -87
  838. data/ext/ice/cpp/src/Ice/PluginF.cpp +0 -61
  839. data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +0 -503
  840. data/ext/ice/cpp/src/Ice/PluginManagerI.h +0 -61
  841. data/ext/ice/cpp/src/Ice/Process.cpp +0 -471
  842. data/ext/ice/cpp/src/Ice/ProcessF.cpp +0 -63
  843. data/ext/ice/cpp/src/Ice/Properties.cpp +0 -78
  844. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +0 -603
  845. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  846. data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  847. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +0 -63
  848. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
  849. data/ext/ice/cpp/src/Ice/PropertiesI.h +0 -70
  850. data/ext/ice/cpp/src/Ice/PropertyNames.cpp +0 -1429
  851. data/ext/ice/cpp/src/Ice/PropertyNames.h +0 -78
  852. data/ext/ice/cpp/src/Ice/Protocol.cpp +0 -124
  853. data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +0 -131
  854. data/ext/ice/cpp/src/Ice/ProtocolInstance.h +0 -93
  855. data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +0 -21
  856. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +0 -51
  857. data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +0 -64
  858. data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  859. data/ext/ice/cpp/src/Ice/Proxy.cpp +0 -1601
  860. data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  861. data/ext/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  862. data/ext/ice/cpp/src/Ice/Reference.cpp +0 -2046
  863. data/ext/ice/cpp/src/Ice/Reference.h +0 -323
  864. data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +0 -888
  865. data/ext/ice/cpp/src/Ice/ReferenceFactory.h +0 -76
  866. data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +0 -19
  867. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  868. data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  869. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +0 -1171
  870. data/ext/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  871. data/ext/ice/cpp/src/Ice/RequestHandler.cpp +0 -37
  872. data/ext/ice/cpp/src/Ice/RequestHandler.h +0 -78
  873. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  874. data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  875. data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  876. data/ext/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  877. data/ext/ice/cpp/src/Ice/RetryQueue.cpp +0 -157
  878. data/ext/ice/cpp/src/Ice/RetryQueue.h +0 -66
  879. data/ext/ice/cpp/src/Ice/RetryQueueF.h +0 -19
  880. data/ext/ice/cpp/src/Ice/Router.cpp +0 -977
  881. data/ext/ice/cpp/src/Ice/RouterF.cpp +0 -63
  882. data/ext/ice/cpp/src/Ice/RouterInfo.cpp +0 -379
  883. data/ext/ice/cpp/src/Ice/RouterInfo.h +0 -152
  884. data/ext/ice/cpp/src/Ice/RouterInfoF.h +0 -25
  885. data/ext/ice/cpp/src/Ice/SHA1.cpp +0 -169
  886. data/ext/ice/cpp/src/Ice/Selector.cpp +0 -1525
  887. data/ext/ice/cpp/src/Ice/Selector.h +0 -292
  888. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +0 -75
  889. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +0 -61
  890. data/ext/ice/cpp/src/Ice/ServantManager.cpp +0 -480
  891. data/ext/ice/cpp/src/Ice/ServantManager.h +0 -69
  892. data/ext/ice/cpp/src/Ice/SharedContext.h +0 -46
  893. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +0 -49
  894. data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  895. data/ext/ice/cpp/src/Ice/SlicedData.cpp +0 -127
  896. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +0 -519
  897. data/ext/ice/cpp/src/Ice/StreamSocket.h +0 -85
  898. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  899. data/ext/ice/cpp/src/Ice/StringUtil.h +0 -30
  900. data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +0 -166
  901. data/ext/ice/cpp/src/Ice/SysLoggerI.h +0 -37
  902. data/ext/ice/cpp/src/Ice/SystemdJournalI.cpp +0 -66
  903. data/ext/ice/cpp/src/Ice/SystemdJournalI.h +0 -39
  904. data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +0 -234
  905. data/ext/ice/cpp/src/Ice/TcpAcceptor.h +0 -61
  906. data/ext/ice/cpp/src/Ice/TcpConnector.cpp +0 -127
  907. data/ext/ice/cpp/src/Ice/TcpConnector.h +0 -45
  908. data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +0 -385
  909. data/ext/ice/cpp/src/Ice/TcpEndpointI.h +0 -90
  910. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -135
  911. data/ext/ice/cpp/src/Ice/TcpTransceiver.h +0 -58
  912. data/ext/ice/cpp/src/Ice/Thread.cpp +0 -569
  913. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +0 -1292
  914. data/ext/ice/cpp/src/Ice/ThreadPool.h +0 -393
  915. data/ext/ice/cpp/src/Ice/Timer.cpp +0 -263
  916. data/ext/ice/cpp/src/Ice/TraceLevels.cpp +0 -38
  917. data/ext/ice/cpp/src/Ice/TraceLevels.h +0 -45
  918. data/ext/ice/cpp/src/Ice/TraceLevelsF.h +0 -21
  919. data/ext/ice/cpp/src/Ice/TraceUtil.cpp +0 -478
  920. data/ext/ice/cpp/src/Ice/TraceUtil.h +0 -30
  921. data/ext/ice/cpp/src/Ice/Transceiver.cpp +0 -18
  922. data/ext/ice/cpp/src/Ice/Transceiver.h +0 -49
  923. data/ext/ice/cpp/src/Ice/TransceiverF.h +0 -33
  924. data/ext/ice/cpp/src/Ice/UdpConnector.cpp +0 -131
  925. data/ext/ice/cpp/src/Ice/UdpConnector.h +0 -45
  926. data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +0 -515
  927. data/ext/ice/cpp/src/Ice/UdpEndpointI.h +0 -95
  928. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +0 -806
  929. data/ext/ice/cpp/src/Ice/UdpTransceiver.h +0 -96
  930. data/ext/ice/cpp/src/Ice/Value.cpp +0 -76
  931. data/ext/ice/cpp/src/Ice/ValueFactory.cpp +0 -83
  932. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  933. data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  934. data/ext/ice/cpp/src/Ice/Version.cpp +0 -57
  935. data/ext/ice/cpp/src/Ice/VirtualShared.h +0 -38
  936. data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +0 -92
  937. data/ext/ice/cpp/src/Ice/WSAcceptor.h +0 -52
  938. data/ext/ice/cpp/src/Ice/WSConnector.cpp +0 -102
  939. data/ext/ice/cpp/src/Ice/WSConnector.h +0 -43
  940. data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +0 -508
  941. data/ext/ice/cpp/src/Ice/WSEndpoint.h +0 -93
  942. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +0 -1704
  943. data/ext/ice/cpp/src/Ice/WSTransceiver.h +0 -141
  944. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +0 -915
  945. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +0 -1889
  946. data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +0 -265
  947. data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +0 -109
  948. data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +0 -608
  949. data/ext/ice/cpp/src/IceDiscovery/LookupI.h +0 -228
  950. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +0 -176
  951. data/ext/ice/cpp/src/IceDiscovery/PluginI.h +0 -36
  952. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +0 -730
  953. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  954. data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +0 -47
  955. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +0 -1048
  956. data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  957. data/ext/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  958. data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  959. data/ext/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  960. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +0 -75
  961. data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +0 -61
  962. data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  963. data/ext/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  964. data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  965. data/ext/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  966. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +0 -75
  967. data/ext/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  968. data/ext/ice/cpp/src/IceSSL/Instance.h +0 -37
  969. data/ext/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  970. data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  971. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  972. data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  973. data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  974. data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  975. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  976. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  977. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  978. data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  979. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  980. data/ext/ice/cpp/src/IceSSL/PluginI.h +0 -67
  981. data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +0 -490
  982. data/ext/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  983. data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  984. data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  985. data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  986. data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  987. data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  988. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  989. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  990. data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  991. data/ext/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  992. data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  993. data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  994. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  995. data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  996. data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  997. data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  998. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  999. data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  1000. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  1001. data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  1002. data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  1003. data/ext/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  1004. data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  1005. data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +0 -266
  1006. data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +0 -338
  1007. data/ext/ice/cpp/src/IceSSL/UWPEngine.h +0 -41
  1008. data/ext/ice/cpp/src/IceSSL/UWPEngineF.h +0 -26
  1009. data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +0 -89
  1010. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +0 -383
  1011. data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +0 -71
  1012. data/ext/ice/cpp/src/IceSSL/Util.cpp +0 -192
  1013. data/ext/ice/cpp/src/IceSSL/Util.h +0 -99
  1014. data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +0 -157
  1015. data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  1016. data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  1017. data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  1018. data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
  1019. data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  1020. data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  1021. data/ext/ice/cpp/src/IceUtil/Options.cpp +0 -1051
  1022. data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  1023. data/ext/ice/cpp/src/IceUtil/Random.cpp +0 -180
  1024. data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
  1025. data/ext/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  1026. data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  1027. data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
  1028. data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  1029. data/ext/ice/cpp/src/IceUtil/Time.cpp +0 -307
  1030. data/ext/ice/cpp/src/IceUtil/UUID.cpp +0 -165
  1031. data/ext/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  1032. data/ext/ice/cpp/src/IceUtil/Unicode.h +0 -43
  1033. data/ext/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  1034. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  1035. data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  1036. data/ext/ice/cpp/src/Slice/Checksum.cpp +0 -447
  1037. data/ext/ice/cpp/src/Slice/Checksum.h +0 -21
  1038. data/ext/ice/cpp/src/Slice/FileTracker.cpp +0 -146
  1039. data/ext/ice/cpp/src/Slice/FileTracker.h +0 -66
  1040. data/ext/ice/cpp/src/Slice/Grammar.cpp +0 -4793
  1041. data/ext/ice/cpp/src/Slice/Grammar.h +0 -118
  1042. data/ext/ice/cpp/src/Slice/GrammarUtil.h +0 -228
  1043. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -5176
  1044. data/ext/ice/cpp/src/Slice/JavaUtil.h +0 -407
  1045. data/ext/ice/cpp/src/Slice/MD5.cpp +0 -52
  1046. data/ext/ice/cpp/src/Slice/MD5.h +0 -39
  1047. data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -393
  1048. data/ext/ice/cpp/src/Slice/MD5I.h +0 -91
  1049. data/ext/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  1050. data/ext/ice/cpp/src/Slice/PHPUtil.h +0 -36
  1051. data/ext/ice/cpp/src/Slice/Parser.cpp +0 -7058
  1052. data/ext/ice/cpp/src/Slice/Parser.h +0 -1174
  1053. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +0 -797
  1054. data/ext/ice/cpp/src/Slice/Preprocessor.h +0 -60
  1055. data/ext/ice/cpp/src/Slice/Python.cpp +0 -830
  1056. data/ext/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  1057. data/ext/ice/cpp/src/Slice/PythonUtil.h +0 -70
  1058. data/ext/ice/cpp/src/Slice/Ruby.cpp +0 -350
  1059. data/ext/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  1060. data/ext/ice/cpp/src/Slice/RubyUtil.h +0 -49
  1061. data/ext/ice/cpp/src/Slice/Scanner.cpp +0 -2807
  1062. data/ext/ice/cpp/src/Slice/SliceUtil.cpp +0 -424
  1063. data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +0 -456
  1064. data/ext/ice/cpp/src/Slice/Util.h +0 -50
  1065. data/ext/ice/mcpp/CMakeLists.txt +0 -80
  1066. data/ext/ice/mcpp/LICENSE +0 -29
  1067. data/ext/ice/mcpp/Makefile +0 -63
  1068. data/ext/ice/mcpp/README.md +0 -32
  1069. data/ext/ice/mcpp/internal.H +0 -530
  1070. data/ext/ice/mcpp/mcpp.gyp +0 -88
  1071. data/ext/ice/mcpp/system.c +0 -2737
  1072. data/lib/Glacier2/Metrics.rb +0 -56
  1073. data/lib/Glacier2/PermissionsVerifier.rb +0 -93
  1074. data/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  1075. data/lib/Glacier2/Router.rb +0 -95
  1076. data/lib/Glacier2/RouterF.rb +0 -25
  1077. data/lib/Glacier2/SSLInfo.rb +0 -72
  1078. data/lib/Glacier2/Session.rb +0 -247
  1079. data/lib/Glacier2.rb +0 -7
  1080. data/lib/Ice/BuiltinSequences.rb +0 -60
  1081. data/lib/Ice/Communicator.rb +0 -87
  1082. data/lib/Ice/CommunicatorF.rb +0 -24
  1083. data/lib/Ice/Connection.rb +0 -413
  1084. data/lib/Ice/ConnectionF.rb +0 -32
  1085. data/lib/Ice/Current.rb +0 -141
  1086. data/lib/Ice/Endpoint.rb +0 -187
  1087. data/lib/Ice/EndpointF.rb +0 -48
  1088. data/lib/Ice/EndpointTypes.rb +0 -69
  1089. data/lib/Ice/FacetMap.rb +0 -24
  1090. data/lib/Ice/Identity.rb +0 -63
  1091. data/lib/Ice/ImplicitContext.rb +0 -26
  1092. data/lib/Ice/ImplicitContextF.rb +0 -24
  1093. data/lib/Ice/Instrumentation.rb +0 -169
  1094. data/lib/Ice/InstrumentationF.rb +0 -31
  1095. data/lib/Ice/LocalException.rb +0 -1031
  1096. data/lib/Ice/Locator.rb +0 -196
  1097. data/lib/Ice/LocatorF.rb +0 -30
  1098. data/lib/Ice/Logger.rb +0 -24
  1099. data/lib/Ice/LoggerF.rb +0 -24
  1100. data/lib/Ice/Metrics.rb +0 -337
  1101. data/lib/Ice/ObjectAdapter.rb +0 -29
  1102. data/lib/Ice/ObjectAdapterF.rb +0 -24
  1103. data/lib/Ice/ObjectFactory.rb +0 -24
  1104. data/lib/Ice/Plugin.rb +0 -30
  1105. data/lib/Ice/PluginF.rb +0 -28
  1106. data/lib/Ice/Process.rb +0 -53
  1107. data/lib/Ice/ProcessF.rb +0 -25
  1108. data/lib/Ice/Properties.rb +0 -25
  1109. data/lib/Ice/PropertiesAdmin.rb +0 -63
  1110. data/lib/Ice/PropertiesF.rb +0 -29
  1111. data/lib/Ice/RemoteLogger.rb +0 -207
  1112. data/lib/Ice/Router.rb +0 -87
  1113. data/lib/Ice/RouterF.rb +0 -25
  1114. data/lib/Ice/ServantLocator.rb +0 -26
  1115. data/lib/Ice/ServantLocatorF.rb +0 -24
  1116. data/lib/Ice/SliceChecksumDict.rb +0 -24
  1117. data/lib/Ice/ValueFactory.rb +0 -28
  1118. data/lib/Ice/Version.rb +0 -90
  1119. data/lib/Ice.rb +0 -673
  1120. data/lib/IceBox/IceBox.rb +0 -164
  1121. data/lib/IceBox.rb +0 -5
  1122. data/lib/IceGrid/Admin.rb +0 -1196
  1123. data/lib/IceGrid/Descriptor.rb +0 -1034
  1124. data/lib/IceGrid/Exception.rb +0 -376
  1125. data/lib/IceGrid/FileParser.rb +0 -65
  1126. data/lib/IceGrid/PluginFacade.rb +0 -35
  1127. data/lib/IceGrid/Registry.rb +0 -209
  1128. data/lib/IceGrid/Session.rb +0 -71
  1129. data/lib/IceGrid/UserAccountMapper.rb +0 -61
  1130. data/lib/IceGrid.rb +0 -9
  1131. data/lib/IcePatch2/FileInfo.rb +0 -115
  1132. data/lib/IcePatch2/FileServer.rb +0 -123
  1133. data/lib/IcePatch2.rb +0 -5
  1134. data/lib/IceStorm/IceStorm.rb +0 -332
  1135. data/lib/IceStorm/Metrics.rb +0 -73
  1136. data/lib/IceStorm.rb +0 -6
  1137. data/slice/Glacier2/Metrics.ice +0 -88
  1138. data/slice/Glacier2/PermissionsVerifier.ice +0 -111
  1139. data/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  1140. data/slice/Glacier2/Router.ice +0 -186
  1141. data/slice/Glacier2/RouterF.ice +0 -29
  1142. data/slice/Glacier2/SSLInfo.ice +0 -59
  1143. data/slice/Glacier2/Session.ice +0 -274
  1144. data/slice/Ice/BuiltinSequences.ice +0 -59
  1145. data/slice/Ice/Communicator.ice +0 -676
  1146. data/slice/Ice/CommunicatorF.ice +0 -31
  1147. data/slice/Ice/Connection.ice +0 -516
  1148. data/slice/Ice/ConnectionF.ice +0 -33
  1149. data/slice/Ice/Current.ice +0 -170
  1150. data/slice/Ice/Endpoint.ice +0 -291
  1151. data/slice/Ice/EndpointF.ice +0 -43
  1152. data/slice/Ice/EndpointTypes.ice +0 -48
  1153. data/slice/Ice/FacetMap.ice +0 -36
  1154. data/slice/Ice/Identity.ice +0 -75
  1155. data/slice/Ice/ImplicitContext.ice +0 -119
  1156. data/slice/Ice/ImplicitContextF.ice +0 -30
  1157. data/slice/Ice/Instrumentation.ice +0 -509
  1158. data/slice/Ice/InstrumentationF.ice +0 -38
  1159. data/slice/Ice/LocalException.ice +0 -1040
  1160. data/slice/Ice/Locator.ice +0 -239
  1161. data/slice/Ice/LocatorF.ice +0 -32
  1162. data/slice/Ice/Logger.ice +0 -99
  1163. data/slice/Ice/LoggerF.ice +0 -31
  1164. data/slice/Ice/Metrics.ice +0 -436
  1165. data/slice/Ice/ObjectAdapter.ice +0 -710
  1166. data/slice/Ice/ObjectAdapterF.ice +0 -31
  1167. data/slice/Ice/ObjectFactory.ice +0 -71
  1168. data/slice/Ice/Plugin.ice +0 -131
  1169. data/slice/Ice/PluginF.ice +0 -36
  1170. data/slice/Ice/Process.ice +0 -64
  1171. data/slice/Ice/ProcessF.ice +0 -31
  1172. data/slice/Ice/Properties.ice +0 -244
  1173. data/slice/Ice/PropertiesAdmin.ice +0 -87
  1174. data/slice/Ice/PropertiesF.ice +0 -32
  1175. data/slice/Ice/RemoteLogger.ice +0 -226
  1176. data/slice/Ice/Router.ice +0 -103
  1177. data/slice/Ice/RouterF.ice +0 -31
  1178. data/slice/Ice/ServantLocator.ice +0 -136
  1179. data/slice/Ice/ServantLocatorF.ice +0 -31
  1180. data/slice/Ice/SliceChecksumDict.ice +0 -36
  1181. data/slice/Ice/ValueFactory.ice +0 -133
  1182. data/slice/Ice/Version.ice +0 -51
  1183. data/slice/IceBT/ConnectionInfo.ice +0 -59
  1184. data/slice/IceBT/EndpointInfo.ice +0 -57
  1185. data/slice/IceBT/Types.ice +0 -45
  1186. data/slice/IceBox/IceBox.ice +0 -216
  1187. data/slice/IceDiscovery/IceDiscovery.ice +0 -98
  1188. data/slice/IceGrid/Admin.ice +0 -1957
  1189. data/slice/IceGrid/Descriptor.ice +0 -1094
  1190. data/slice/IceGrid/Exception.ice +0 -396
  1191. data/slice/IceGrid/FileParser.ice +0 -72
  1192. data/slice/IceGrid/PluginFacade.ice +0 -329
  1193. data/slice/IceGrid/Registry.ice +0 -269
  1194. data/slice/IceGrid/Session.ice +0 -128
  1195. data/slice/IceGrid/UserAccountMapper.ice +0 -69
  1196. data/slice/IceIAP/ConnectionInfo.ice +0 -74
  1197. data/slice/IceIAP/EndpointInfo.ice +0 -68
  1198. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
  1199. data/slice/IcePatch2/FileInfo.ice +0 -85
  1200. data/slice/IcePatch2/FileServer.ice +0 -191
  1201. data/slice/IceSSL/ConnectionInfo.ice +0 -54
  1202. data/slice/IceSSL/ConnectionInfoF.ice +0 -31
  1203. data/slice/IceSSL/EndpointInfo.ice +0 -45
  1204. data/slice/IceStorm/IceStorm.ice +0 -414
  1205. data/slice/IceStorm/Metrics.ice +0 -83
  1206. /data/{ext → dist}/ice/mcpp/config.h +0 -0
  1207. /data/{ext → dist}/ice/mcpp/configed.H +0 -0
  1208. /data/{ext → dist}/ice/mcpp/directive.c +0 -0
  1209. /data/{ext → dist}/ice/mcpp/eval.c +0 -0
  1210. /data/{ext → dist}/ice/mcpp/expand.c +0 -0
  1211. /data/{ext → dist}/ice/mcpp/mbchar.c +0 -0
  1212. /data/{ext → dist}/ice/mcpp/mcpp_lib.h +0 -0
  1213. /data/{ext/ice/mcpp/main.c → dist/ice/mcpp/mcpp_main.c} +0 -0
  1214. /data/{ext → dist}/ice/mcpp/mcpp_out.h +0 -0
  1215. /data/{ext → dist}/ice/mcpp/support.c +0 -0
  1216. /data/{ext → dist}/ice/mcpp/system.H +0 -0
@@ -0,0 +1,1956 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #include "Instance.h"
4
+ #include "AddDefaultPluginFactories.h"
5
+ #include "CheckIdentity.h"
6
+ #include "ConnectionFactory.h"
7
+ #include "ConsoleUtil.h"
8
+ #include "DefaultsAndOverrides.h"
9
+ #include "EndpointFactoryManager.h"
10
+ #include "FileUtil.h"
11
+ #include "IPEndpointI.h" // For EndpointHostResolver
12
+ #include "Ice/Communicator.h"
13
+ #include "Ice/DefaultSliceLoader.h"
14
+ #include "Ice/Initialize.h"
15
+ #include "Ice/LocalExceptions.h"
16
+ #include "Ice/Locator.h"
17
+ #include "Ice/LoggerUtil.h"
18
+ #include "Ice/NativePropertiesAdmin.h"
19
+ #include "Ice/ObserverHelper.h"
20
+ #include "Ice/Properties.h"
21
+ #include "Ice/Router.h"
22
+ #include "Ice/StringUtil.h"
23
+ #include "Ice/UUID.h"
24
+ #include "InstrumentationI.h"
25
+ #include "LocatorInfo.h"
26
+ #include "LoggerAdminI.h"
27
+ #include "LoggerI.h"
28
+ #include "NetworkProxy.h"
29
+ #include "ObjectAdapterFactory.h"
30
+ #include "PluginManagerI.h"
31
+ #include "ReferenceFactory.h"
32
+ #include "RetryQueue.h"
33
+ #include "RouterInfo.h"
34
+ #include "SSL/SSLEngine.h"
35
+ #include "ThreadPool.h"
36
+ #include "TimeUtil.h"
37
+ #include "TraceLevels.h"
38
+
39
+ #include "DisableWarnings.h"
40
+
41
+ #include <cstdio>
42
+ #include <list>
43
+ #include <mutex>
44
+ #if defined(_WIN32)
45
+ # include "SSL/SchannelEngine.h"
46
+ #elif defined(__APPLE__)
47
+ # include "SSL/SecureTransportEngine.h"
48
+ #else
49
+ # include "SSL/OpenSSLEngine.h"
50
+ #endif
51
+
52
+ #ifdef __APPLE__
53
+ # include "OSLogLoggerI.h"
54
+ # if TARGET_OS_IPHONE == 0
55
+ # include <libproc.h> // For proc_pidpath
56
+ # endif
57
+ #endif
58
+
59
+ #ifndef _WIN32
60
+ # if !defined(__APPLE__) || TARGET_OS_IPHONE == 0
61
+ # include "SysLoggerI.h"
62
+ # endif
63
+
64
+ # include "SystemdJournalI.h"
65
+
66
+ # include <csignal>
67
+ # include <pwd.h>
68
+ # include <sys/types.h>
69
+ # include <syslog.h>
70
+ #endif
71
+
72
+ #if defined(__linux__) || defined(__GLIBC__)
73
+ # include <grp.h> // for initgroups
74
+ #endif
75
+
76
+ using namespace std;
77
+ using namespace Ice;
78
+ using namespace IceInternal;
79
+
80
+ namespace
81
+ {
82
+ mutex staticMutex;
83
+ bool oneOffDone = false;
84
+ std::list<IceInternal::Instance*>* instanceList = nullptr;
85
+
86
+ #ifndef _WIN32
87
+ struct sigaction oldAction;
88
+ #endif
89
+ bool printProcessIdDone = false;
90
+ string identForOpenlog;
91
+
92
+ //
93
+ // Should be called with staticMutex locked
94
+ //
95
+ size_t instanceCount()
96
+ {
97
+ if (instanceList == nullptr)
98
+ {
99
+ return 0;
100
+ }
101
+ else
102
+ {
103
+ return instanceList->size();
104
+ }
105
+ }
106
+
107
+ string getProgramName()
108
+ {
109
+ string programName;
110
+ #if defined(__APPLE__) && TARGET_OS_IPHONE == 0
111
+ vector<char> buffer(PATH_MAX);
112
+ int len = proc_pidpath(getpid(), buffer.data(), static_cast<uint32_t>(buffer.size()));
113
+ if (len > 0)
114
+ {
115
+ programName = string{buffer.data(), static_cast<size_t>(len)};
116
+ }
117
+ #elif defined(__linux__)
118
+ vector<char> buffer(PATH_MAX);
119
+ ssize_t len = readlink("/proc/self/exe", buffer.data(), buffer.size());
120
+ if (len > 0)
121
+ {
122
+ programName = string{buffer.data(), static_cast<size_t>(len)};
123
+ }
124
+ #elif defined(_WIN32)
125
+ vector<char> buffer(MAX_PATH);
126
+ DWORD len = GetModuleFileNameA(NULL, buffer.data(), static_cast<DWORD>(buffer.size()));
127
+ if (len > 0)
128
+ {
129
+ programName = string{buffer.data(), static_cast<size_t>(len)};
130
+ }
131
+ #endif
132
+ size_t pos = programName.find_last_of("/\\");
133
+ if (pos != string::npos)
134
+ {
135
+ programName = programName.substr(pos + 1);
136
+ }
137
+ return programName;
138
+ }
139
+
140
+ void checkPrintStackTraces(const InitializationData& initData) noexcept
141
+ {
142
+ #ifdef NDEBUG
143
+ // Release build
144
+ if (initData.properties->getIcePropertyAsInt("Ice.PrintStackTraces") > 0)
145
+ #else
146
+ // Debug build
147
+ if (initData.properties->getPropertyAsIntWithDefault("Ice.PrintStackTraces", 1) > 0)
148
+ #endif
149
+ {
150
+ try
151
+ {
152
+ LocalException::ice_enableStackTraceCollection();
153
+ }
154
+ catch (const std::exception& ex)
155
+ {
156
+ Warning out(initData.logger);
157
+ out << "Cannot enable stack trace collection:\n" << ex;
158
+ out << "\nYou can turn off this warning by setting Ice.PrintStackTraces=0";
159
+ }
160
+ }
161
+ }
162
+
163
+ class Init
164
+ {
165
+ public:
166
+ Init() noexcept
167
+ {
168
+ // Although probably not necessary here, we consistently lock
169
+ // staticMutex before accessing instanceList.
170
+ lock_guard lock(staticMutex);
171
+ instanceList = new std::list<IceInternal::Instance*>;
172
+ }
173
+
174
+ ~Init()
175
+ {
176
+ {
177
+ lock_guard lock(staticMutex);
178
+ int notDestroyedCount = 0;
179
+
180
+ for (const auto& p : *instanceList)
181
+ {
182
+ if (!p->destroyed())
183
+ {
184
+ notDestroyedCount++;
185
+ }
186
+ }
187
+
188
+ if (notDestroyedCount > 0)
189
+ {
190
+ consoleErr << "!! " << timePointToDateTimeString(chrono::system_clock::now()) << " error: ";
191
+ if (notDestroyedCount == 1)
192
+ {
193
+ consoleErr << "communicator ";
194
+ }
195
+ else
196
+ {
197
+ consoleErr << notDestroyedCount << " communicators ";
198
+ }
199
+ consoleErr << "not destroyed during global destruction.";
200
+ }
201
+
202
+ delete instanceList;
203
+ instanceList = nullptr;
204
+ }
205
+ }
206
+ };
207
+
208
+ Init init;
209
+ }
210
+
211
+ namespace IceInternal // Required because ObserverUpdaterI is a friend of Instance
212
+ {
213
+ class ObserverUpdaterI : public Ice::Instrumentation::ObserverUpdater
214
+ {
215
+ public:
216
+ ObserverUpdaterI(InstancePtr);
217
+
218
+ void updateConnectionObservers() override;
219
+ void updateThreadObservers() override;
220
+
221
+ private:
222
+ const InstancePtr _instance;
223
+ };
224
+
225
+ //
226
+ // Timer specialization which supports the thread observer
227
+ //
228
+ class ThreadObserverTimer final : public IceInternal::Timer
229
+ {
230
+ public:
231
+ ThreadObserverTimer() : _hasObserver(false) {}
232
+
233
+ void updateObserver(const Ice::Instrumentation::CommunicatorObserverPtr&);
234
+
235
+ private:
236
+ void runTimerTask(const TimerTaskPtr&) final;
237
+
238
+ std::mutex _mutex;
239
+ std::atomic<bool> _hasObserver;
240
+ ObserverHelperT<Ice::Instrumentation::ThreadObserver> _observer;
241
+ };
242
+ }
243
+
244
+ void
245
+ ThreadObserverTimer::updateObserver(const Ice::Instrumentation::CommunicatorObserverPtr& obsv)
246
+ {
247
+ lock_guard lock(_mutex);
248
+ assert(obsv);
249
+ _observer.attach(obsv->getThreadObserver(
250
+ "Communicator",
251
+ "Ice.Timer",
252
+ Instrumentation::ThreadState::ThreadStateIdle,
253
+ _observer.get()));
254
+ _hasObserver.exchange(_observer);
255
+ }
256
+
257
+ void
258
+ ThreadObserverTimer::runTimerTask(const TimerTaskPtr& task)
259
+ {
260
+ if (_hasObserver)
261
+ {
262
+ Ice::Instrumentation::ThreadObserverPtr threadObserver;
263
+ {
264
+ lock_guard lock(_mutex);
265
+ threadObserver = _observer.get();
266
+ }
267
+ if (threadObserver)
268
+ {
269
+ threadObserver->stateChanged(
270
+ Instrumentation::ThreadState::ThreadStateIdle,
271
+ Instrumentation::ThreadState::ThreadStateInUseForOther);
272
+ }
273
+ try
274
+ {
275
+ task->runTimerTask();
276
+ }
277
+ catch (...)
278
+ {
279
+ if (threadObserver)
280
+ {
281
+ threadObserver->stateChanged(
282
+ Instrumentation::ThreadState::ThreadStateInUseForOther,
283
+ Instrumentation::ThreadState::ThreadStateIdle);
284
+ }
285
+ throw;
286
+ }
287
+
288
+ if (threadObserver)
289
+ {
290
+ threadObserver->stateChanged(
291
+ Instrumentation::ThreadState::ThreadStateInUseForOther,
292
+ Instrumentation::ThreadState::ThreadStateIdle);
293
+ }
294
+ }
295
+ else
296
+ {
297
+ task->runTimerTask();
298
+ }
299
+ }
300
+
301
+ IceInternal::ObserverUpdaterI::ObserverUpdaterI(InstancePtr instance) : _instance(std::move(instance)) {}
302
+
303
+ void
304
+ IceInternal::ObserverUpdaterI::updateConnectionObservers()
305
+ {
306
+ _instance->updateConnectionObservers();
307
+ }
308
+
309
+ void
310
+ IceInternal::ObserverUpdaterI::updateThreadObservers()
311
+ {
312
+ _instance->updateThreadObservers();
313
+ }
314
+
315
+ bool
316
+ IceInternal::Instance::destroyed() const
317
+ {
318
+ lock_guard lock(_mutex);
319
+ return _state == StateDestroyed;
320
+ }
321
+
322
+ TraceLevelsPtr
323
+ IceInternal::Instance::traceLevels() const
324
+ {
325
+ // No mutex lock, immutable.
326
+ assert(_traceLevels);
327
+ return _traceLevels;
328
+ }
329
+
330
+ DefaultsAndOverridesPtr
331
+ IceInternal::Instance::defaultsAndOverrides() const
332
+ {
333
+ // No mutex lock, immutable.
334
+ assert(_defaultsAndOverrides);
335
+ return _defaultsAndOverrides;
336
+ }
337
+
338
+ RouterManagerPtr
339
+ IceInternal::Instance::routerManager() const
340
+ {
341
+ lock_guard lock(_mutex);
342
+
343
+ if (_state == StateDestroyed)
344
+ {
345
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
346
+ }
347
+
348
+ assert(_routerManager);
349
+ return _routerManager;
350
+ }
351
+
352
+ LocatorManagerPtr
353
+ IceInternal::Instance::locatorManager() const
354
+ {
355
+ lock_guard lock(_mutex);
356
+
357
+ if (_state == StateDestroyed)
358
+ {
359
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
360
+ }
361
+
362
+ assert(_locatorManager);
363
+ return _locatorManager;
364
+ }
365
+
366
+ ReferenceFactoryPtr
367
+ IceInternal::Instance::referenceFactory() const
368
+ {
369
+ lock_guard lock(_mutex);
370
+
371
+ if (_state == StateDestroyed)
372
+ {
373
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
374
+ }
375
+
376
+ assert(_referenceFactory);
377
+ return _referenceFactory;
378
+ }
379
+
380
+ OutgoingConnectionFactoryPtr
381
+ IceInternal::Instance::outgoingConnectionFactory() const
382
+ {
383
+ lock_guard lock(_mutex);
384
+
385
+ if (_state == StateDestroyed)
386
+ {
387
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
388
+ }
389
+
390
+ assert(_outgoingConnectionFactory);
391
+ return _outgoingConnectionFactory;
392
+ }
393
+
394
+ ObjectAdapterFactoryPtr
395
+ IceInternal::Instance::objectAdapterFactory() const
396
+ {
397
+ lock_guard lock(_mutex);
398
+
399
+ if (_state == StateDestroyed)
400
+ {
401
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
402
+ }
403
+
404
+ assert(_objectAdapterFactory);
405
+ return _objectAdapterFactory;
406
+ }
407
+
408
+ ProtocolSupport
409
+ IceInternal::Instance::protocolSupport() const
410
+ {
411
+ return _protocolSupport;
412
+ }
413
+
414
+ bool
415
+ IceInternal::Instance::preferIPv6() const
416
+ {
417
+ return _preferIPv6;
418
+ }
419
+
420
+ NetworkProxyPtr
421
+ IceInternal::Instance::networkProxy() const
422
+ {
423
+ return _networkProxy;
424
+ }
425
+
426
+ ThreadPoolPtr
427
+ IceInternal::Instance::clientThreadPool()
428
+ {
429
+ lock_guard lock(_mutex);
430
+
431
+ if (_state == StateDestroyed)
432
+ {
433
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
434
+ }
435
+
436
+ assert(_clientThreadPool);
437
+ return _clientThreadPool;
438
+ }
439
+
440
+ ThreadPoolPtr
441
+ IceInternal::Instance::serverThreadPool()
442
+ {
443
+ lock_guard lock(_mutex);
444
+
445
+ if (_state == StateDestroyed)
446
+ {
447
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
448
+ }
449
+
450
+ if (!_serverThreadPool) // Lazy initialization.
451
+ {
452
+ if (_state == StateDestroyInProgress)
453
+ {
454
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
455
+ }
456
+ int timeout = _initData.properties->getIcePropertyAsInt("Ice.ServerIdleTime");
457
+ _serverThreadPool = ThreadPool::create(shared_from_this(), "Ice.ThreadPool.Server", timeout);
458
+ }
459
+
460
+ return _serverThreadPool;
461
+ }
462
+
463
+ EndpointHostResolverPtr
464
+ IceInternal::Instance::endpointHostResolver()
465
+ {
466
+ lock_guard lock(_mutex);
467
+
468
+ if (_state == StateDestroyed)
469
+ {
470
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
471
+ }
472
+
473
+ assert(_endpointHostResolver);
474
+ return _endpointHostResolver;
475
+ }
476
+
477
+ RetryQueuePtr
478
+ IceInternal::Instance::retryQueue()
479
+ {
480
+ lock_guard lock(_mutex);
481
+
482
+ if (_state == StateDestroyed)
483
+ {
484
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
485
+ }
486
+
487
+ assert(_retryQueue);
488
+ return _retryQueue;
489
+ }
490
+
491
+ IceInternal::TimerPtr
492
+ IceInternal::Instance::timer()
493
+ {
494
+ lock_guard lock(_mutex);
495
+
496
+ if (_state == StateDestroyed)
497
+ {
498
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
499
+ }
500
+ assert(_timer);
501
+ return _timer;
502
+ }
503
+
504
+ EndpointFactoryManagerPtr
505
+ IceInternal::Instance::endpointFactoryManager() const
506
+ {
507
+ lock_guard lock(_mutex);
508
+
509
+ if (_state == StateDestroyed)
510
+ {
511
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
512
+ }
513
+
514
+ assert(_endpointFactoryManager);
515
+ return _endpointFactoryManager;
516
+ }
517
+
518
+ PluginManagerPtr
519
+ IceInternal::Instance::pluginManager() const
520
+ {
521
+ lock_guard lock(_mutex);
522
+
523
+ if (_state == StateDestroyed)
524
+ {
525
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
526
+ }
527
+
528
+ assert(_pluginManager);
529
+ return _pluginManager;
530
+ }
531
+
532
+ ConnectionOptions
533
+ IceInternal::Instance::serverConnectionOptions(const string& adapterName) const
534
+ {
535
+ assert(!adapterName.empty());
536
+ string propertyPrefix = adapterName + ".Connection";
537
+
538
+ const PropertiesPtr& properties = _initData.properties;
539
+
540
+ ConnectionOptions connectionOptions;
541
+
542
+ connectionOptions.connectTimeout = chrono::seconds(properties->getPropertyAsIntWithDefault(
543
+ propertyPrefix + ".ConnectTimeout",
544
+ static_cast<int>(_serverConnectionOptions.connectTimeout.count())));
545
+
546
+ connectionOptions.closeTimeout = chrono::seconds(properties->getPropertyAsIntWithDefault(
547
+ propertyPrefix + ".CloseTimeout",
548
+ static_cast<int>(_serverConnectionOptions.closeTimeout.count())));
549
+
550
+ connectionOptions.idleTimeout = chrono::seconds(properties->getPropertyAsIntWithDefault(
551
+ propertyPrefix + ".IdleTimeout",
552
+ static_cast<int>(_serverConnectionOptions.idleTimeout.count())));
553
+
554
+ connectionOptions.enableIdleCheck = properties->getPropertyAsIntWithDefault(
555
+ propertyPrefix + ".EnableIdleCheck",
556
+ _serverConnectionOptions.enableIdleCheck ? 1 : 0) > 0;
557
+
558
+ connectionOptions.inactivityTimeout = chrono::seconds(properties->getPropertyAsIntWithDefault(
559
+ propertyPrefix + ".InactivityTimeout",
560
+ static_cast<int>(_serverConnectionOptions.inactivityTimeout.count())));
561
+
562
+ connectionOptions.maxDispatches = properties->getPropertyAsIntWithDefault(
563
+ propertyPrefix + ".MaxDispatches",
564
+ _serverConnectionOptions.maxDispatches);
565
+
566
+ return connectionOptions;
567
+ }
568
+
569
+ Ice::ObjectPrx
570
+ IceInternal::Instance::createAdmin(const ObjectAdapterPtr& adminAdapter, const Identity& adminIdentity)
571
+ {
572
+ ObjectAdapterPtr adapter = adminAdapter;
573
+ bool createAdapter = !adminAdapter;
574
+
575
+ unique_lock lock(_mutex);
576
+
577
+ if (_state == StateDestroyed)
578
+ {
579
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
580
+ }
581
+
582
+ checkIdentity(adminIdentity, __FILE__, __LINE__);
583
+
584
+ if (_adminAdapter)
585
+ {
586
+ throw InitializationException(__FILE__, __LINE__, "Admin already created");
587
+ }
588
+
589
+ if (!_adminEnabled)
590
+ {
591
+ throw InitializationException(__FILE__, __LINE__, "Admin is disabled");
592
+ }
593
+
594
+ if (createAdapter)
595
+ {
596
+ if (_initData.properties->getIceProperty("Ice.Admin.Endpoints") != "")
597
+ {
598
+ adapter = _objectAdapterFactory->createObjectAdapter("Ice.Admin", nullopt, nullopt);
599
+ }
600
+ else
601
+ {
602
+ throw InitializationException(__FILE__, __LINE__, "Ice.Admin.Endpoints is not set");
603
+ }
604
+ }
605
+
606
+ _adminIdentity = adminIdentity;
607
+ _adminAdapter = adapter;
608
+ addAllAdminFacets();
609
+ lock.unlock();
610
+
611
+ if (createAdapter)
612
+ {
613
+ try
614
+ {
615
+ adapter->activate();
616
+ }
617
+ catch (...)
618
+ {
619
+ //
620
+ // We clean it up, even through this error is not recoverable
621
+ // (can't call again createAdmin after fixing the problem since all the facets
622
+ // in the adapter are lost)
623
+ //
624
+ adapter->destroy();
625
+ lock.lock();
626
+ _adminAdapter = nullptr;
627
+ throw;
628
+ }
629
+ }
630
+ setServerProcessProxy(adapter, adminIdentity);
631
+ return adapter->createProxy(adminIdentity);
632
+ }
633
+
634
+ std::optional<ObjectPrx>
635
+ IceInternal::Instance::getAdmin()
636
+ {
637
+ unique_lock lock(_mutex);
638
+
639
+ if (_state == StateDestroyed)
640
+ {
641
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
642
+ }
643
+
644
+ if (_adminAdapter)
645
+ {
646
+ return _adminAdapter->createProxy(_adminIdentity);
647
+ }
648
+ else if (_adminEnabled)
649
+ {
650
+ ObjectAdapterPtr adapter;
651
+ if (_initData.properties->getIceProperty("Ice.Admin.Endpoints") != "")
652
+ {
653
+ adapter = _objectAdapterFactory->createObjectAdapter("Ice.Admin", nullopt, nullopt);
654
+ }
655
+ else
656
+ {
657
+ return nullopt;
658
+ }
659
+
660
+ Identity adminIdentity;
661
+ adminIdentity.name = "admin";
662
+ adminIdentity.category = _initData.properties->getIceProperty("Ice.Admin.InstanceName");
663
+ if (adminIdentity.category.empty())
664
+ {
665
+ adminIdentity.category = Ice::generateUUID();
666
+ }
667
+
668
+ _adminIdentity = adminIdentity;
669
+ _adminAdapter = adapter;
670
+ addAllAdminFacets();
671
+ lock.unlock();
672
+ try
673
+ {
674
+ adapter->activate();
675
+ }
676
+ catch (...)
677
+ {
678
+ //
679
+ // We clean it up, even through this error is not recoverable
680
+ // (can't call again createAdmin after fixing the problem since all the facets
681
+ // in the adapter are lost)
682
+ //
683
+ adapter->destroy();
684
+ lock.lock();
685
+ _adminAdapter = nullptr;
686
+ throw;
687
+ }
688
+
689
+ setServerProcessProxy(adapter, adminIdentity);
690
+ return adapter->createProxy(adminIdentity);
691
+ }
692
+ else
693
+ {
694
+ return nullopt;
695
+ }
696
+ }
697
+
698
+ void
699
+ IceInternal::Instance::addAllAdminFacets()
700
+ {
701
+ // must be called with this locked
702
+
703
+ //
704
+ // Add all facets to OA
705
+ //
706
+ FacetMap filteredFacets;
707
+
708
+ for (const auto& adminFacet : _adminFacets)
709
+ {
710
+ if (_adminFacetFilter.empty() || _adminFacetFilter.find(adminFacet.first) != _adminFacetFilter.end())
711
+ {
712
+ _adminAdapter->addFacet(adminFacet.second, _adminIdentity, adminFacet.first);
713
+ }
714
+ else
715
+ {
716
+ filteredFacets[adminFacet.first] = adminFacet.second;
717
+ }
718
+ }
719
+ _adminFacets.swap(filteredFacets);
720
+ }
721
+
722
+ void
723
+ IceInternal::Instance::setServerProcessProxy(const ObjectAdapterPtr& adminAdapter, const Identity& adminIdentity)
724
+ {
725
+ ObjectPrx admin = adminAdapter->createProxy(adminIdentity);
726
+ optional<LocatorPrx> locator = adminAdapter->getLocator();
727
+ const string serverId = _initData.properties->getIceProperty("Ice.Admin.ServerId");
728
+ if (locator && serverId != "")
729
+ {
730
+ auto process = admin->ice_facet<ProcessPrx>("Process");
731
+ try
732
+ {
733
+ //
734
+ // Note that as soon as the process proxy is registered, the communicator might be
735
+ // shutdown by a remote client and admin facets might start receiving calls.
736
+ //
737
+ locator->getRegistry()->setServerProcessProxy(serverId, process);
738
+ }
739
+ catch (const ServerNotFoundException&)
740
+ {
741
+ if (_traceLevels->location >= 1)
742
+ {
743
+ Trace out(_initData.logger, _traceLevels->locationCat);
744
+ out << "couldn't register server '" + serverId + "' with the locator registry:\n";
745
+ out << "the server is not known to the locator registry";
746
+ }
747
+
748
+ throw InitializationException(
749
+ __FILE__,
750
+ __LINE__,
751
+ "Locator '" + locator->ice_toString() + "' knows nothing about server '" + serverId + "'");
752
+ }
753
+ catch (const LocalException& ex)
754
+ {
755
+ if (_traceLevels->location >= 1)
756
+ {
757
+ Trace out(_initData.logger, _traceLevels->locationCat);
758
+ out << "couldn't register server '" + serverId + "' with the locator registry:\n" << ex;
759
+ }
760
+ throw;
761
+ }
762
+
763
+ if (_traceLevels->location >= 1)
764
+ {
765
+ Trace out(_initData.logger, _traceLevels->locationCat);
766
+ out << "registered server '" + serverId + "' with the locator registry";
767
+ }
768
+ }
769
+ }
770
+
771
+ void
772
+ IceInternal::Instance::addAdminFacet(ObjectPtr servant, string facet)
773
+ {
774
+ lock_guard lock(_mutex);
775
+
776
+ if (_state == StateDestroyed)
777
+ {
778
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
779
+ }
780
+
781
+ if (_adminAdapter == nullptr ||
782
+ (!_adminFacetFilter.empty() && _adminFacetFilter.find(facet) == _adminFacetFilter.end()))
783
+ {
784
+ if (_adminFacets.insert(FacetMap::value_type(facet, servant)).second == false)
785
+ {
786
+ throw AlreadyRegisteredException(__FILE__, __LINE__, "facet", facet);
787
+ }
788
+ }
789
+ else
790
+ {
791
+ _adminAdapter->addFacet(std::move(servant), _adminIdentity, std::move(facet));
792
+ }
793
+ }
794
+
795
+ ObjectPtr
796
+ IceInternal::Instance::removeAdminFacet(string_view facet)
797
+ {
798
+ lock_guard lock(_mutex);
799
+
800
+ if (_state == StateDestroyed)
801
+ {
802
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
803
+ }
804
+
805
+ ObjectPtr result;
806
+
807
+ if (_adminAdapter == nullptr ||
808
+ (!_adminFacetFilter.empty() && _adminFacetFilter.find(facet) == _adminFacetFilter.end()))
809
+ {
810
+ auto p = _adminFacets.find(facet);
811
+ if (p == _adminFacets.end())
812
+ {
813
+ throw NotRegisteredException(__FILE__, __LINE__, "facet", string{facet});
814
+ }
815
+ else
816
+ {
817
+ result = p->second;
818
+ _adminFacets.erase(p);
819
+ }
820
+ }
821
+ else
822
+ {
823
+ result = _adminAdapter->removeFacet(_adminIdentity, facet);
824
+ }
825
+
826
+ return result;
827
+ }
828
+
829
+ ObjectPtr
830
+ IceInternal::Instance::findAdminFacet(string_view facet)
831
+ {
832
+ lock_guard lock(_mutex);
833
+
834
+ if (_state == StateDestroyed)
835
+ {
836
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
837
+ }
838
+
839
+ ObjectPtr result;
840
+
841
+ //
842
+ // If the _adminAdapter was not yet created, or this facet is filtered out, we check _adminFacets
843
+ //
844
+ if (!_adminAdapter || (!_adminFacetFilter.empty() && _adminFacetFilter.find(facet) == _adminFacetFilter.end()))
845
+ {
846
+ auto p = _adminFacets.find(facet);
847
+ if (p != _adminFacets.end())
848
+ {
849
+ result = p->second;
850
+ }
851
+ }
852
+ else
853
+ {
854
+ // Otherwise, just check the _adminAdapter
855
+ result = _adminAdapter->findFacet(_adminIdentity, facet);
856
+ }
857
+
858
+ return result;
859
+ }
860
+
861
+ FacetMap
862
+ IceInternal::Instance::findAllAdminFacets()
863
+ {
864
+ lock_guard lock(_mutex);
865
+
866
+ if (_state == StateDestroyed)
867
+ {
868
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
869
+ }
870
+
871
+ if (!_adminAdapter)
872
+ {
873
+ return _adminFacets;
874
+ }
875
+ else
876
+ {
877
+ FacetMap result = _adminAdapter->findAllFacets(_adminIdentity);
878
+ if (!_adminFacets.empty())
879
+ {
880
+ // Also returns filtered facets
881
+ result.insert(_adminFacets.begin(), _adminFacets.end());
882
+ }
883
+ return result;
884
+ }
885
+ }
886
+
887
+ void
888
+ IceInternal::Instance::setDefaultLocator(const optional<LocatorPrx>& defaultLocator)
889
+ {
890
+ lock_guard lock(_mutex);
891
+
892
+ if (_state == StateDestroyed)
893
+ {
894
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
895
+ }
896
+
897
+ _referenceFactory = _referenceFactory->setDefaultLocator(defaultLocator);
898
+ }
899
+
900
+ void
901
+ IceInternal::Instance::setDefaultRouter(const optional<RouterPrx>& defaultRouter)
902
+ {
903
+ lock_guard lock(_mutex);
904
+
905
+ if (_state == StateDestroyed)
906
+ {
907
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
908
+ }
909
+
910
+ _referenceFactory = _referenceFactory->setDefaultRouter(defaultRouter);
911
+ }
912
+
913
+ void
914
+ IceInternal::Instance::setLogger(const Ice::LoggerPtr& logger)
915
+ {
916
+ //
917
+ // No locking, as it can only be called during plug-in loading
918
+ //
919
+ _initData.logger = logger;
920
+ }
921
+
922
+ void
923
+ IceInternal::Instance::setThreadHook(function<void()> threadStart, function<void()> threadStop)
924
+ {
925
+ _initData.threadStart = std::move(threadStart);
926
+ _initData.threadStop = std::move(threadStop);
927
+ }
928
+ namespace
929
+ {
930
+ bool logStdErrConvert = true;
931
+ }
932
+
933
+ InstancePtr
934
+ IceInternal::Instance::create(const Ice::CommunicatorPtr& communicator, Ice::InitializationData initData)
935
+ {
936
+ auto instance = shared_ptr<Instance>(new Instance(std::move(initData)));
937
+ instance->initialize(communicator);
938
+ return instance;
939
+ }
940
+
941
+ IceInternal::Instance::Instance(InitializationData initData)
942
+ : _initData(std::move(initData)),
943
+ _stringConverter(Ice::getProcessStringConverter()),
944
+ _wstringConverter(Ice::getProcessWstringConverter()),
945
+ _applicationSliceLoader(make_shared<CompositeSliceLoader>())
946
+ {
947
+ #if defined(ICE_USE_SCHANNEL)
948
+ if (_initData.clientAuthenticationOptions && _initData.clientAuthenticationOptions->trustedRootCertificates)
949
+ {
950
+ CertDuplicateStore(_initData.clientAuthenticationOptions->trustedRootCertificates);
951
+ }
952
+ #elif defined(ICE_USE_SECURE_TRANSPORT)
953
+ if (_initData.clientAuthenticationOptions && _initData.clientAuthenticationOptions->trustedRootCertificates)
954
+ {
955
+ CFRetain(_initData.clientAuthenticationOptions->trustedRootCertificates);
956
+ }
957
+ #endif
958
+ }
959
+
960
+ void
961
+ IceInternal::Instance::initialize(const Ice::CommunicatorPtr& communicator)
962
+ {
963
+ try
964
+ {
965
+ if (!_initData.properties)
966
+ {
967
+ // Plain empty properties, in particular, no ICE_CONFIG properties.
968
+ _initData.properties = make_shared<Ice::Properties>();
969
+ }
970
+
971
+ string programName = _initData.properties->getIceProperty("Ice.ProgramName");
972
+
973
+ if (programName.empty())
974
+ {
975
+ programName = getProgramName();
976
+ _initData.properties->setProperty("Ice.ProgramName", programName);
977
+ }
978
+
979
+ {
980
+ lock_guard lock(staticMutex);
981
+ instanceList->push_back(this);
982
+
983
+ if (!oneOffDone)
984
+ {
985
+ //
986
+ // StdOut and StdErr redirection
987
+ //
988
+ string stdOutFilename = _initData.properties->getIceProperty("Ice.StdOut");
989
+ string stdErrFilename = _initData.properties->getIceProperty("Ice.StdErr");
990
+
991
+ if (stdOutFilename != "")
992
+ {
993
+ FILE* file = IceInternal::freopen(stdOutFilename, "a", stdout);
994
+ if (file == nullptr)
995
+ {
996
+ throw FileException(__FILE__, __LINE__, stdOutFilename);
997
+ }
998
+ }
999
+
1000
+ if (stdErrFilename != "")
1001
+ {
1002
+ FILE* file = IceInternal::freopen(stdErrFilename, "a", stderr);
1003
+ if (file == nullptr)
1004
+ {
1005
+ throw FileException(__FILE__, __LINE__, stdErrFilename);
1006
+ }
1007
+ }
1008
+
1009
+ oneOffDone = true;
1010
+ }
1011
+
1012
+ if (instanceCount() == 1)
1013
+ {
1014
+ #if defined(_WIN32)
1015
+ WORD version = MAKEWORD(1, 1);
1016
+ WSADATA data;
1017
+ if (WSAStartup(version, &data) != 0)
1018
+ {
1019
+ throw SocketException(__FILE__, __LINE__, getSocketErrno());
1020
+ }
1021
+ #endif
1022
+
1023
+ #ifndef _WIN32
1024
+ struct sigaction action;
1025
+ action.sa_handler = SIG_IGN;
1026
+ sigemptyset(&action.sa_mask);
1027
+ action.sa_flags = 0;
1028
+ sigaction(SIGPIPE, &action, &oldAction);
1029
+ if (_initData.properties->getIcePropertyAsInt("Ice.UseSyslog") > 0)
1030
+ {
1031
+ identForOpenlog = programName;
1032
+ if (identForOpenlog.empty())
1033
+ {
1034
+ identForOpenlog = "<Unknown Ice Program>";
1035
+ }
1036
+ openlog(identForOpenlog.c_str(), LOG_PID, LOG_USER);
1037
+ }
1038
+ #else
1039
+ logStdErrConvert = _initData.properties->getIcePropertyAsInt("Ice.LogStdErr.Convert") > 0 &&
1040
+ _initData.properties->getIceProperty("Ice.StdErr").empty();
1041
+ #endif
1042
+ }
1043
+ }
1044
+
1045
+ if (!_initData.logger)
1046
+ {
1047
+ string logfile = _initData.properties->getIceProperty("Ice.LogFile");
1048
+ #if !defined(_WIN32) && (!defined(__APPLE__) || TARGET_OS_IPHONE == 0)
1049
+ if (_initData.properties->getIcePropertyAsInt("Ice.UseSyslog") > 0)
1050
+ {
1051
+ if (!logfile.empty())
1052
+ {
1053
+ throw InitializationException(__FILE__, __LINE__, "Both syslog and file logger cannot be enabled.");
1054
+ }
1055
+
1056
+ _initData.logger =
1057
+ make_shared<SysLoggerI>(programName, _initData.properties->getIceProperty("Ice.SyslogFacility"));
1058
+ }
1059
+ else
1060
+ #endif
1061
+
1062
+ #ifdef __APPLE__
1063
+ if (!_initData.logger && _initData.properties->getIcePropertyAsInt("Ice.UseOSLog") > 0)
1064
+ {
1065
+ _initData.logger = make_shared<OSLogLoggerI>(programName);
1066
+ }
1067
+ else
1068
+ #endif
1069
+
1070
+ #ifdef ICE_USE_SYSTEMD
1071
+ if (_initData.properties->getIcePropertyAsInt("Ice.UseSystemdJournal") > 0)
1072
+ {
1073
+ _initData.logger = make_shared<SystemdJournalI>(programName);
1074
+ }
1075
+ else
1076
+ #endif
1077
+ if (!logfile.empty())
1078
+ {
1079
+ int32_t sz = _initData.properties->getIcePropertyAsInt("Ice.LogFile.SizeMax");
1080
+ if (sz < 0)
1081
+ {
1082
+ sz = 0;
1083
+ }
1084
+ _initData.logger = make_shared<LoggerI>(programName, logfile, true, static_cast<size_t>(sz));
1085
+ }
1086
+ else
1087
+ {
1088
+ _initData.logger = getProcessLogger();
1089
+ if (dynamic_pointer_cast<LoggerI>(_initData.logger))
1090
+ {
1091
+ _initData.logger = make_shared<LoggerI>(programName, "", logStdErrConvert);
1092
+ }
1093
+ }
1094
+ }
1095
+ assert(_initData.logger);
1096
+
1097
+ // This affects the entire process.
1098
+ checkPrintStackTraces(_initData);
1099
+
1100
+ const_cast<TraceLevelsPtr&>(_traceLevels) = make_shared<TraceLevels>(_initData.properties);
1101
+
1102
+ const_cast<DefaultsAndOverridesPtr&>(_defaultsAndOverrides) =
1103
+ make_shared<DefaultsAndOverrides>(_initData.properties);
1104
+
1105
+ const_cast<ConnectionOptions&>(_clientConnectionOptions) = readConnectionOptions("Ice.Connection.Client");
1106
+ const_cast<ConnectionOptions&>(_serverConnectionOptions) = readConnectionOptions("Ice.Connection.Server");
1107
+
1108
+ // The maximum size of an Ice protocol message in bytes. This is limited to 0x7fffffff, which corresponds to
1109
+ // the maximum value of a 32-bit signed integer (int32_t).
1110
+ const int32_t messageSizeMaxUpperLimit = numeric_limits<int32_t>::max();
1111
+ int32_t messageSizeMax = _initData.properties->getIcePropertyAsInt("Ice.MessageSizeMax");
1112
+ if (messageSizeMax > messageSizeMaxUpperLimit / 1024)
1113
+ {
1114
+ ostringstream os;
1115
+ os << "Ice.MessageSizeMax '" << messageSizeMax << "' is too large, it must be less than or equal to '"
1116
+ << (messageSizeMaxUpperLimit / 1024) << "' KiB";
1117
+ throw InitializationException{__FILE__, __LINE__, os.str()};
1118
+ }
1119
+ else if (messageSizeMax < 1)
1120
+ {
1121
+ const_cast<int32_t&>(_messageSizeMax) = messageSizeMaxUpperLimit;
1122
+ }
1123
+ else
1124
+ {
1125
+ // The property is specified in kibibytes (KiB); _messageSizeMax is stored in bytes.
1126
+ const_cast<int32_t&>(_messageSizeMax) = messageSizeMax * 1024;
1127
+ }
1128
+
1129
+ int32_t batchAutoFlushSize = _initData.properties->getIcePropertyAsInt("Ice.BatchAutoFlushSize");
1130
+ if (batchAutoFlushSize > messageSizeMaxUpperLimit / 1024)
1131
+ {
1132
+ ostringstream os;
1133
+ os << "Ice.BatchAutoFlushSize '" << batchAutoFlushSize
1134
+ << "' is too large, it must be less than or equal to '" << (messageSizeMaxUpperLimit / 1024) << "' KiB";
1135
+ throw InitializationException{__FILE__, __LINE__, os.str()};
1136
+ }
1137
+ else if (batchAutoFlushSize < 1)
1138
+ {
1139
+ const_cast<int32_t&>(_batchAutoFlushSize) = messageSizeMaxUpperLimit;
1140
+ }
1141
+ else
1142
+ {
1143
+ // The property is specified in kibibytes (KiB); _batchAutoFlushSize is stored in bytes.
1144
+ const_cast<int32_t&>(_batchAutoFlushSize) = batchAutoFlushSize * 1024;
1145
+ }
1146
+
1147
+ int32_t classGraphDepthMax = _initData.properties->getIcePropertyAsInt("Ice.ClassGraphDepthMax");
1148
+ if (classGraphDepthMax < 1)
1149
+ {
1150
+ const_cast<int32_t&>(_classGraphDepthMax) = numeric_limits<int32_t>::max();
1151
+ }
1152
+ else
1153
+ {
1154
+ const_cast<int32_t&>(_classGraphDepthMax) = classGraphDepthMax;
1155
+ }
1156
+
1157
+ // Update _initData.sliceLoader.
1158
+
1159
+ if (_initData.sliceLoader)
1160
+ {
1161
+ _applicationSliceLoader->add(_initData.sliceLoader);
1162
+ }
1163
+
1164
+ auto compositeSliceLoader = make_shared<CompositeSliceLoader>();
1165
+ compositeSliceLoader->add(_applicationSliceLoader);
1166
+ compositeSliceLoader->add(DefaultSliceLoader::instance());
1167
+ _initData.sliceLoader = std::move(compositeSliceLoader);
1168
+
1169
+ string toStringModeStr = _initData.properties->getIceProperty("Ice.ToStringMode");
1170
+ if (toStringModeStr == "ASCII")
1171
+ {
1172
+ const_cast<ToStringMode&>(_toStringMode) = ToStringMode::ASCII;
1173
+ }
1174
+ else if (toStringModeStr == "Compat")
1175
+ {
1176
+ const_cast<ToStringMode&>(_toStringMode) = ToStringMode::Compat;
1177
+ }
1178
+ else if (toStringModeStr != "Unicode")
1179
+ {
1180
+ throw InitializationException(
1181
+ __FILE__,
1182
+ __LINE__,
1183
+ "The value for Ice.ToStringMode must be Unicode, ASCII or Compat");
1184
+ }
1185
+
1186
+ const_cast<bool&>(_acceptClassCycles) = _initData.properties->getIcePropertyAsInt("Ice.AcceptClassCycles") > 0;
1187
+
1188
+ string implicitContextKind = _initData.properties->getIceProperty("Ice.ImplicitContext");
1189
+ if (implicitContextKind == "Shared")
1190
+ {
1191
+ _implicitContextKind = ImplicitContextKind::Shared;
1192
+ _sharedImplicitContext = std::make_shared<ImplicitContext>();
1193
+ }
1194
+ else if (implicitContextKind == "PerThread")
1195
+ {
1196
+ _implicitContextKind = ImplicitContextKind::PerThread;
1197
+ }
1198
+ else if (implicitContextKind == "None")
1199
+ {
1200
+ _implicitContextKind = ImplicitContextKind::None;
1201
+ }
1202
+ else
1203
+ {
1204
+ throw Ice::InitializationException(
1205
+ __FILE__,
1206
+ __LINE__,
1207
+ "'" + implicitContextKind + "' is not a valid value for Ice.ImplicitContext");
1208
+ }
1209
+
1210
+ _routerManager = make_shared<RouterManager>();
1211
+
1212
+ _locatorManager = make_shared<LocatorManager>(_initData.properties);
1213
+
1214
+ _referenceFactory = make_shared<ReferenceFactory>(shared_from_this(), communicator);
1215
+
1216
+ const bool isIPv6Supported = IceInternal::isIPv6Supported();
1217
+ const bool ipv4 = _initData.properties->getIcePropertyAsInt("Ice.IPv4") > 0;
1218
+ const bool ipv6 = isIPv6Supported ? (_initData.properties->getIcePropertyAsInt("Ice.IPv6") > 0) : false;
1219
+ if (!ipv4 && !ipv6)
1220
+ {
1221
+ throw InitializationException(__FILE__, __LINE__, "Both IPV4 and IPv6 support cannot be disabled.");
1222
+ }
1223
+ else if (ipv4 && ipv6)
1224
+ {
1225
+ _protocolSupport = EnableBoth;
1226
+ }
1227
+ else if (ipv4)
1228
+ {
1229
+ _protocolSupport = EnableIPv4;
1230
+ }
1231
+ else
1232
+ {
1233
+ _protocolSupport = EnableIPv6;
1234
+ }
1235
+ _preferIPv6 = _initData.properties->getIcePropertyAsInt("Ice.PreferIPv6Address") > 0;
1236
+
1237
+ _networkProxy = IceInternal::createNetworkProxy(_initData.properties, _protocolSupport);
1238
+
1239
+ _endpointFactoryManager = make_shared<EndpointFactoryManager>(shared_from_this());
1240
+
1241
+ _pluginManager = make_shared<PluginManagerI>(communicator);
1242
+
1243
+ _outgoingConnectionFactory = make_shared<OutgoingConnectionFactory>(communicator, shared_from_this());
1244
+
1245
+ _objectAdapterFactory = make_shared<ObjectAdapterFactory>(shared_from_this(), communicator);
1246
+
1247
+ _retryQueue = make_shared<RetryQueue>(shared_from_this());
1248
+
1249
+ StringSeq retryValues = _initData.properties->getIcePropertyAsList("Ice.RetryIntervals");
1250
+ if (retryValues.size() == 0)
1251
+ {
1252
+ _retryIntervals.push_back(0);
1253
+ }
1254
+ else
1255
+ {
1256
+ for (const auto& retryValue : retryValues)
1257
+ {
1258
+ istringstream value(retryValue);
1259
+
1260
+ int v;
1261
+ if (!(value >> v) || !value.eof())
1262
+ {
1263
+ v = 0;
1264
+ }
1265
+
1266
+ //
1267
+ // If -1 is the first value, no retry and wait intervals.
1268
+ //
1269
+ if (v == -1 && _retryIntervals.empty())
1270
+ {
1271
+ break;
1272
+ }
1273
+
1274
+ _retryIntervals.push_back(v > 0 ? v : 0);
1275
+ }
1276
+ }
1277
+
1278
+ #if defined(_WIN32)
1279
+ _sslEngine = make_shared<Ice::SSL::Schannel::SSLEngine>(shared_from_this());
1280
+ #elif defined(__APPLE__)
1281
+ _sslEngine = make_shared<Ice::SSL::SecureTransport::SSLEngine>(shared_from_this());
1282
+ #else
1283
+ _sslEngine = make_shared<Ice::SSL::OpenSSL::SSLEngine>(shared_from_this());
1284
+ #endif
1285
+ _sslEngine->initialize();
1286
+ }
1287
+ catch (...)
1288
+ {
1289
+ {
1290
+ lock_guard lock(staticMutex);
1291
+ instanceList->remove(this);
1292
+ }
1293
+ destroy();
1294
+ throw;
1295
+ }
1296
+ }
1297
+
1298
+ const Ice::ImplicitContextPtr&
1299
+ IceInternal::Instance::getImplicitContext() const
1300
+ {
1301
+ switch (_implicitContextKind)
1302
+ {
1303
+ case ImplicitContextKind::PerThread:
1304
+ {
1305
+ static thread_local std::map<const IceInternal::Instance*, ImplicitContextPtr> perThreadImplicitContextMap;
1306
+ auto it = perThreadImplicitContextMap.find(this);
1307
+ if (it == perThreadImplicitContextMap.end())
1308
+ {
1309
+ auto r = perThreadImplicitContextMap.emplace(this, std::make_shared<ImplicitContext>());
1310
+ return r.first->second;
1311
+ }
1312
+ else
1313
+ {
1314
+ return it->second;
1315
+ }
1316
+ }
1317
+ case ImplicitContextKind::Shared:
1318
+ {
1319
+ assert(_sharedImplicitContext);
1320
+ return _sharedImplicitContext;
1321
+ }
1322
+ default:
1323
+ {
1324
+ assert(_sharedImplicitContext == nullptr);
1325
+ assert(_implicitContextKind == ImplicitContextKind::None);
1326
+ return _sharedImplicitContext;
1327
+ }
1328
+ }
1329
+ }
1330
+
1331
+ IceInternal::Instance::~Instance()
1332
+ {
1333
+ assert(_state == StateDestroyed);
1334
+ assert(!_referenceFactory);
1335
+ assert(!_outgoingConnectionFactory);
1336
+
1337
+ assert(!_objectAdapterFactory);
1338
+ assert(!_clientThreadPool);
1339
+ assert(!_serverThreadPool);
1340
+ assert(!_endpointHostResolver);
1341
+ assert(!_endpointHostResolverThread.joinable());
1342
+ assert(!_retryQueue);
1343
+ assert(!_timer);
1344
+ assert(!_routerManager);
1345
+ assert(!_locatorManager);
1346
+ assert(!_endpointFactoryManager);
1347
+ assert(!_pluginManager);
1348
+
1349
+ // Join all the destroy threads.
1350
+ for (auto& thread : _destroyThreads)
1351
+ {
1352
+ if (thread.get_id() == std::this_thread::get_id()) // completed may release the last ref-count
1353
+ {
1354
+ // Detach to avoid a deadlock.
1355
+ thread.detach();
1356
+ }
1357
+ else
1358
+ {
1359
+ thread.join();
1360
+ }
1361
+ }
1362
+
1363
+ lock_guard lock(staticMutex);
1364
+ if (instanceList != nullptr)
1365
+ {
1366
+ instanceList->remove(this);
1367
+ }
1368
+ if (instanceCount() == 0)
1369
+ {
1370
+ #if defined(_WIN32)
1371
+ WSACleanup();
1372
+ #endif
1373
+
1374
+ #ifndef _WIN32
1375
+ sigaction(SIGPIPE, &oldAction, nullptr);
1376
+
1377
+ if (!identForOpenlog.empty())
1378
+ {
1379
+ closelog();
1380
+ identForOpenlog.clear();
1381
+ }
1382
+ #endif
1383
+ }
1384
+ }
1385
+
1386
+ void
1387
+ IceInternal::Instance::finishSetup(const Ice::CommunicatorPtr& communicator)
1388
+ {
1389
+ // Load plug-ins.
1390
+ assert(!_serverThreadPool);
1391
+ auto pluginManagerImpl = dynamic_pointer_cast<PluginManagerI>(_pluginManager);
1392
+ assert(pluginManagerImpl);
1393
+
1394
+ addDefaultPluginFactories(_initData.pluginFactories);
1395
+ bool libraryLoaded = pluginManagerImpl->loadPlugins();
1396
+
1397
+ // On Windows, if we loaded any plugin and stack trace collection is enabled, we need to call
1398
+ // ice_enableStackTraceCollection() again to refresh the module list. This refresh is fairly slow so we make it only
1399
+ // when necessary. Extra calls to ice_enableStackTraceCollection() are no-op on other platforms.
1400
+ if (libraryLoaded)
1401
+ {
1402
+ checkPrintStackTraces(_initData);
1403
+ }
1404
+
1405
+ //
1406
+ // Initialize the endpoint factories once all the plugins are loaded. This gives
1407
+ // the opportunity for the endpoint factories to find underlying factories.
1408
+ //
1409
+ _endpointFactoryManager->initialize();
1410
+
1411
+ //
1412
+ // Reset _stringConverter and _wstringConverter, in case a plugin changed them
1413
+ //
1414
+ _stringConverter = Ice::getProcessStringConverter();
1415
+ _wstringConverter = Ice::getProcessWstringConverter();
1416
+
1417
+ //
1418
+ // Create Admin facets, if enabled.
1419
+ //
1420
+ // Note that any logger-dependent admin facet must be created after we load all plugins,
1421
+ // since one of these plugins can be a Logger plugin that sets a new logger during loading
1422
+ //
1423
+
1424
+ if (_initData.properties->getIceProperty("Ice.Admin.Enabled") == "")
1425
+ {
1426
+ _adminEnabled = _initData.properties->getIceProperty("Ice.Admin.Endpoints") != "";
1427
+ }
1428
+ else
1429
+ {
1430
+ _adminEnabled = _initData.properties->getIcePropertyAsInt("Ice.Admin.Enabled") > 0;
1431
+ }
1432
+
1433
+ StringSeq facetSeq = _initData.properties->getIcePropertyAsList("Ice.Admin.Facets");
1434
+ if (!facetSeq.empty())
1435
+ {
1436
+ _adminFacetFilter.insert(facetSeq.begin(), facetSeq.end());
1437
+ }
1438
+
1439
+ if (_adminEnabled)
1440
+ {
1441
+ //
1442
+ // Process facet
1443
+ //
1444
+ const string processFacetName = "Process";
1445
+ if (_adminFacetFilter.empty() || _adminFacetFilter.find(processFacetName) != _adminFacetFilter.end())
1446
+ {
1447
+ _adminFacets.insert(make_pair(processFacetName, make_shared<ProcessI>(communicator)));
1448
+ }
1449
+
1450
+ //
1451
+ // Logger facet
1452
+ //
1453
+ const string loggerFacetName = "Logger";
1454
+ if (_adminFacetFilter.empty() || _adminFacetFilter.find(loggerFacetName) != _adminFacetFilter.end())
1455
+ {
1456
+ LoggerAdminLoggerPtr logger = createLoggerAdminLogger(_initData.properties, _initData.logger);
1457
+ setLogger(logger);
1458
+ _adminFacets.insert(make_pair(loggerFacetName, logger->getFacet()));
1459
+ }
1460
+
1461
+ //
1462
+ // Properties facet
1463
+ //
1464
+ const string propertiesFacetName = "Properties";
1465
+ NativePropertiesAdminPtr propsAdmin;
1466
+ if (_adminFacetFilter.empty() || _adminFacetFilter.find(propertiesFacetName) != _adminFacetFilter.end())
1467
+ {
1468
+ propsAdmin = make_shared<NativePropertiesAdmin>(_initData.properties, _initData.logger);
1469
+ _adminFacets.insert(make_pair(propertiesFacetName, propsAdmin));
1470
+ }
1471
+
1472
+ //
1473
+ // Metrics facet
1474
+ //
1475
+ const string metricsFacetName = "Metrics";
1476
+ if (_adminFacetFilter.empty() || _adminFacetFilter.find(metricsFacetName) != _adminFacetFilter.end())
1477
+ {
1478
+ CommunicatorObserverIPtr observer = make_shared<CommunicatorObserverI>(_initData);
1479
+ _initData.observer = observer;
1480
+ _adminFacets.insert(make_pair(metricsFacetName, observer->getFacet()));
1481
+
1482
+ //
1483
+ // Make sure the metrics admin facet receives property updates.
1484
+ //
1485
+ if (propsAdmin)
1486
+ {
1487
+ auto metricsAdmin = observer->getFacet();
1488
+ propsAdmin->addUpdateCallback([metricsAdmin](const PropertyDict& changes)
1489
+ { metricsAdmin->updated(changes); });
1490
+ }
1491
+ }
1492
+ }
1493
+
1494
+ //
1495
+ // Set observer updater
1496
+ //
1497
+ if (_initData.observer)
1498
+ {
1499
+ _initData.observer->setObserverUpdater(make_shared<ObserverUpdaterI>(shared_from_this()));
1500
+ }
1501
+
1502
+ //
1503
+ // Create threads.
1504
+ //
1505
+ try
1506
+ {
1507
+ _timer = make_shared<ThreadObserverTimer>();
1508
+ }
1509
+ catch (const Ice::Exception& ex)
1510
+ {
1511
+ Error out(_initData.logger);
1512
+ out << "cannot create thread for timer:\n" << ex;
1513
+ throw;
1514
+ }
1515
+
1516
+ try
1517
+ {
1518
+ _endpointHostResolver = make_shared<EndpointHostResolver>(shared_from_this());
1519
+ _endpointHostResolverThread = std::thread([this] { _endpointHostResolver->run(); });
1520
+ }
1521
+ catch (const Ice::Exception& ex)
1522
+ {
1523
+ Error out(_initData.logger);
1524
+ out << "cannot create thread for endpoint host resolver:\n" << ex;
1525
+ throw;
1526
+ }
1527
+
1528
+ _clientThreadPool = ThreadPool::create(shared_from_this(), "Ice.ThreadPool.Client", 0);
1529
+
1530
+ //
1531
+ // The default router/locator may have been set during the loading of plugins.
1532
+ // Therefore we make sure it is not already set before checking the property.
1533
+ //
1534
+ if (!_referenceFactory->getDefaultRouter())
1535
+ {
1536
+ auto router = communicator->propertyToProxy<RouterPrx>("Ice.Default.Router");
1537
+ if (router)
1538
+ {
1539
+ _referenceFactory = _referenceFactory->setDefaultRouter(router);
1540
+ }
1541
+ }
1542
+
1543
+ if (!_referenceFactory->getDefaultLocator())
1544
+ {
1545
+ auto locator = communicator->propertyToProxy<LocatorPrx>("Ice.Default.Locator");
1546
+ if (locator)
1547
+ {
1548
+ _referenceFactory = _referenceFactory->setDefaultLocator(locator);
1549
+ }
1550
+ }
1551
+
1552
+ //
1553
+ // Show process id if requested (but only once).
1554
+ //
1555
+ bool printProcessId = false;
1556
+ if (!printProcessIdDone && _initData.properties->getIcePropertyAsInt("Ice.PrintProcessId") > 0)
1557
+ {
1558
+ //
1559
+ // Safe double-check locking (no dependent variable!)
1560
+ //
1561
+ lock_guard lock(staticMutex);
1562
+ printProcessId = !printProcessIdDone;
1563
+
1564
+ //
1565
+ // We anticipate: we want to print it once, and we don't care when.
1566
+ //
1567
+ printProcessIdDone = true;
1568
+ }
1569
+
1570
+ if (printProcessId)
1571
+ {
1572
+ #ifdef _MSC_VER
1573
+ consoleOut << GetCurrentProcessId() << endl;
1574
+ #else
1575
+ consoleOut << getpid() << endl;
1576
+ #endif
1577
+ }
1578
+
1579
+ //
1580
+ // Server thread pool initialization is lazy in serverThreadPool().
1581
+ //
1582
+
1583
+ //
1584
+ // An application can set Ice.InitPlugins=0 if it wants to postpone
1585
+ // initialization until after it has interacted directly with the
1586
+ // plug-ins.
1587
+ //
1588
+ if (_initData.properties->getIcePropertyAsInt("Ice.InitPlugins") > 0)
1589
+ {
1590
+ pluginManagerImpl->initializePlugins();
1591
+ }
1592
+
1593
+ //
1594
+ // This must be done last as this call creates the Ice.Admin object adapter
1595
+ // and eventually register a process proxy with the Ice locator (allowing
1596
+ // remote clients to invoke Admin facets as soon as it's registered).
1597
+ //
1598
+ // Note: getAdmin here can return 0 and do nothing in the event the
1599
+ // application set Ice.Admin.Enabled but did not set Ice.Admin.Endpoints
1600
+ // and one or more of the properties required to create the Admin object.
1601
+ //
1602
+ if (_adminEnabled && _initData.properties->getIcePropertyAsInt("Ice.Admin.DelayCreation") <= 0)
1603
+ {
1604
+ getAdmin();
1605
+ }
1606
+ }
1607
+
1608
+ void
1609
+ IceInternal::Instance::destroy() noexcept
1610
+ {
1611
+ {
1612
+ unique_lock lock(_mutex);
1613
+
1614
+ //
1615
+ // If destroy is in progress, wait for it to be done. This is
1616
+ // necessary in case destroy() is called concurrently by
1617
+ // multiple threads.
1618
+ //
1619
+ _conditionVariable.wait(lock, [this] { return _state != StateDestroyInProgress; });
1620
+
1621
+ if (_state == StateDestroyed)
1622
+ {
1623
+ return;
1624
+ }
1625
+ _state = StateDestroyInProgress;
1626
+ }
1627
+
1628
+ //
1629
+ // Shutdown and destroy all the incoming and outgoing Ice
1630
+ // connections and wait for the connections to be finished.
1631
+ //
1632
+ if (_objectAdapterFactory)
1633
+ {
1634
+ _objectAdapterFactory->shutdown();
1635
+ }
1636
+
1637
+ if (_outgoingConnectionFactory)
1638
+ {
1639
+ _outgoingConnectionFactory->destroy();
1640
+ }
1641
+
1642
+ if (_objectAdapterFactory)
1643
+ {
1644
+ _objectAdapterFactory->destroy();
1645
+ }
1646
+
1647
+ if (_outgoingConnectionFactory)
1648
+ {
1649
+ _outgoingConnectionFactory->waitUntilFinished();
1650
+ }
1651
+
1652
+ if (_retryQueue)
1653
+ {
1654
+ _retryQueue->destroy(); // Must be called before destroying thread pools.
1655
+ }
1656
+
1657
+ if (_initData.observer)
1658
+ {
1659
+ CommunicatorObserverIPtr observer = dynamic_pointer_cast<CommunicatorObserverI>(_initData.observer);
1660
+ if (observer)
1661
+ {
1662
+ observer->destroy(); // Break cyclic reference counts. Don't clear _observer, it's immutable.
1663
+ }
1664
+ _initData.observer->setObserverUpdater(nullptr); // Break cyclic reference count.
1665
+ }
1666
+
1667
+ #if defined(ICE_USE_SCHANNEL)
1668
+ if (_initData.clientAuthenticationOptions && _initData.clientAuthenticationOptions->trustedRootCertificates)
1669
+ {
1670
+ CertCloseStore(_initData.clientAuthenticationOptions->trustedRootCertificates, 0);
1671
+ const_cast<Ice::InitializationData&>(_initData).clientAuthenticationOptions = nullopt;
1672
+ }
1673
+ #elif defined(ICE_USE_SECURE_TRANSPORT)
1674
+ if (_initData.clientAuthenticationOptions && _initData.clientAuthenticationOptions->trustedRootCertificates)
1675
+ {
1676
+ CFRelease(_initData.clientAuthenticationOptions->trustedRootCertificates);
1677
+ const_cast<Ice::InitializationData&>(_initData).clientAuthenticationOptions = nullopt;
1678
+ }
1679
+ #endif
1680
+
1681
+ LoggerAdminLoggerPtr logger = dynamic_pointer_cast<LoggerAdminLogger>(_initData.logger);
1682
+ if (logger)
1683
+ {
1684
+ // This only disables the remote logging; we don't set or reset _initData.logger
1685
+ logger->detach();
1686
+ }
1687
+
1688
+ //
1689
+ // Now, destroy the thread pools. This must be done *only* after
1690
+ // all the connections are finished (the connections destruction
1691
+ // can require invoking callbacks with the thread pools).
1692
+ //
1693
+ if (_serverThreadPool)
1694
+ {
1695
+ _serverThreadPool->destroy();
1696
+ }
1697
+ if (_clientThreadPool)
1698
+ {
1699
+ _clientThreadPool->destroy();
1700
+ }
1701
+ if (_endpointHostResolver)
1702
+ {
1703
+ _endpointHostResolver->destroy();
1704
+ }
1705
+ if (_timer)
1706
+ {
1707
+ _timer->destroy();
1708
+ }
1709
+
1710
+ //
1711
+ // Wait for all the threads to be finished.
1712
+ //
1713
+ if (_clientThreadPool)
1714
+ {
1715
+ _clientThreadPool->joinWithAllThreads();
1716
+ }
1717
+ if (_serverThreadPool)
1718
+ {
1719
+ _serverThreadPool->joinWithAllThreads();
1720
+ }
1721
+ if (_endpointHostResolverThread.joinable())
1722
+ {
1723
+ _endpointHostResolverThread.join();
1724
+ }
1725
+
1726
+ if (_routerManager)
1727
+ {
1728
+ _routerManager->destroy();
1729
+ }
1730
+
1731
+ if (_locatorManager)
1732
+ {
1733
+ _locatorManager->destroy();
1734
+ }
1735
+
1736
+ if (_initData.properties->getIcePropertyAsInt("Ice.Warn.UnusedProperties") > 0)
1737
+ {
1738
+ set<string> unusedProperties = _initData.properties.get()->getUnusedProperties();
1739
+ if (unusedProperties.size() != 0)
1740
+ {
1741
+ Warning out(_initData.logger);
1742
+ out << "The following properties were set but never read:";
1743
+ for (const auto& unusedProp : unusedProperties)
1744
+ {
1745
+ out << "\n " << unusedProp;
1746
+ }
1747
+ }
1748
+ }
1749
+
1750
+ //
1751
+ // Destroy last so that a Logger plugin can receive all log/traces before its destruction.
1752
+ //
1753
+ if (_pluginManager)
1754
+ {
1755
+ _pluginManager->destroy();
1756
+ }
1757
+
1758
+ {
1759
+ lock_guard lock(_mutex);
1760
+
1761
+ _objectAdapterFactory = nullptr;
1762
+ _outgoingConnectionFactory = nullptr;
1763
+ _retryQueue = nullptr;
1764
+
1765
+ _serverThreadPool = nullptr;
1766
+ _clientThreadPool = nullptr;
1767
+ _endpointHostResolver = nullptr;
1768
+ _timer = nullptr;
1769
+
1770
+ _referenceFactory = nullptr;
1771
+ _routerManager = nullptr;
1772
+ _locatorManager = nullptr;
1773
+ _endpointFactoryManager = nullptr;
1774
+ _pluginManager = nullptr;
1775
+
1776
+ _adminAdapter = nullptr;
1777
+ _adminFacets.clear();
1778
+
1779
+ _sslEngine = nullptr;
1780
+
1781
+ _state = StateDestroyed;
1782
+ _conditionVariable.notify_all();
1783
+ }
1784
+ }
1785
+
1786
+ void
1787
+ IceInternal::Instance::destroyAsync(function<void()> completed) noexcept
1788
+ {
1789
+ assert(completed); // the caller (Communicator) makes sure completed is callable.
1790
+
1791
+ bool executeCallback = false;
1792
+ {
1793
+ lock_guard lock(_mutex);
1794
+ if (_state == StateDestroyed)
1795
+ {
1796
+ executeCallback = true; // execute outside the lock
1797
+ }
1798
+ else
1799
+ {
1800
+ // Start a thread that calls destroy() and then executes the callback.
1801
+ // We join these threads in the destructor. It's important to capture this and not shared_from_this() here.
1802
+ _destroyThreads.emplace_back(
1803
+ [this, completed = std::move(completed)]()
1804
+ {
1805
+ this->destroy();
1806
+ completed();
1807
+ });
1808
+ }
1809
+ }
1810
+
1811
+ if (executeCallback)
1812
+ {
1813
+ completed();
1814
+ }
1815
+ }
1816
+
1817
+ void
1818
+ IceInternal::Instance::updateConnectionObservers()
1819
+ {
1820
+ try
1821
+ {
1822
+ assert(_outgoingConnectionFactory);
1823
+ _outgoingConnectionFactory->updateConnectionObservers();
1824
+ assert(_objectAdapterFactory);
1825
+ _objectAdapterFactory->updateObservers(&ObjectAdapterI::updateConnectionObservers);
1826
+ }
1827
+ catch (const Ice::CommunicatorDestroyedException&)
1828
+ {
1829
+ }
1830
+ }
1831
+
1832
+ void
1833
+ IceInternal::Instance::updateThreadObservers()
1834
+ {
1835
+ try
1836
+ {
1837
+ if (_clientThreadPool)
1838
+ {
1839
+ _clientThreadPool->updateObservers();
1840
+ }
1841
+ if (_serverThreadPool)
1842
+ {
1843
+ _serverThreadPool->updateObservers();
1844
+ }
1845
+ assert(_objectAdapterFactory);
1846
+ _objectAdapterFactory->updateObservers(&ObjectAdapterI::updateThreadObservers);
1847
+ if (_endpointHostResolver)
1848
+ {
1849
+ _endpointHostResolver->updateObserver();
1850
+ }
1851
+ if (_timer)
1852
+ {
1853
+ _timer->updateObserver(_initData.observer);
1854
+ }
1855
+ }
1856
+ catch (const Ice::CommunicatorDestroyedException&)
1857
+ {
1858
+ }
1859
+ }
1860
+
1861
+ BufSizeWarnInfo
1862
+ IceInternal::Instance::getBufSizeWarn(int16_t type)
1863
+ {
1864
+ lock_guard lock(_setBufSizeWarnMutex);
1865
+
1866
+ return getBufSizeWarnInternal(type);
1867
+ }
1868
+
1869
+ BufSizeWarnInfo
1870
+ IceInternal::Instance::getBufSizeWarnInternal(int16_t type)
1871
+ {
1872
+ BufSizeWarnInfo info;
1873
+ auto p = _setBufSizeWarn.find(type);
1874
+ if (p == _setBufSizeWarn.end())
1875
+ {
1876
+ info.sndWarn = false;
1877
+ info.sndSize = -1;
1878
+ info.rcvWarn = false;
1879
+ info.rcvSize = -1;
1880
+ _setBufSizeWarn.insert(make_pair(type, info));
1881
+ }
1882
+ else
1883
+ {
1884
+ info = p->second;
1885
+ }
1886
+ return info;
1887
+ }
1888
+
1889
+ ConnectionOptions
1890
+ IceInternal::Instance::readConnectionOptions(const string& propertyPrefix) const
1891
+ {
1892
+ const PropertiesPtr& properties = _initData.properties;
1893
+ ConnectionOptions connectionOptions;
1894
+
1895
+ connectionOptions.connectTimeout =
1896
+ chrono::seconds(properties->getIcePropertyAsInt(propertyPrefix + ".ConnectTimeout"));
1897
+
1898
+ connectionOptions.closeTimeout = chrono::seconds(properties->getIcePropertyAsInt(propertyPrefix + ".CloseTimeout"));
1899
+ connectionOptions.idleTimeout = chrono::seconds(properties->getIcePropertyAsInt(propertyPrefix + ".IdleTimeout"));
1900
+ connectionOptions.enableIdleCheck = properties->getIcePropertyAsInt(propertyPrefix + ".EnableIdleCheck") > 0;
1901
+
1902
+ connectionOptions.inactivityTimeout =
1903
+ chrono::seconds(properties->getIcePropertyAsInt(propertyPrefix + ".InactivityTimeout"));
1904
+
1905
+ connectionOptions.maxDispatches = properties->getIcePropertyAsInt(propertyPrefix + ".MaxDispatches");
1906
+
1907
+ return connectionOptions;
1908
+ }
1909
+
1910
+ void
1911
+ IceInternal::Instance::setSndBufSizeWarn(int16_t type, int size)
1912
+ {
1913
+ lock_guard lock(_setBufSizeWarnMutex);
1914
+
1915
+ BufSizeWarnInfo info = getBufSizeWarnInternal(type);
1916
+ info.sndWarn = true;
1917
+ info.sndSize = size;
1918
+ _setBufSizeWarn[type] = info;
1919
+ }
1920
+
1921
+ void
1922
+ IceInternal::Instance::setRcvBufSizeWarn(int16_t type, int size)
1923
+ {
1924
+ lock_guard lock(_setBufSizeWarnMutex);
1925
+
1926
+ BufSizeWarnInfo info = getBufSizeWarnInternal(type);
1927
+ info.rcvWarn = true;
1928
+ info.rcvSize = size;
1929
+ _setBufSizeWarn[type] = info;
1930
+ }
1931
+
1932
+ IceInternal::ProcessI::ProcessI(CommunicatorPtr communicator) : _communicator(std::move(communicator)) {}
1933
+
1934
+ void
1935
+ IceInternal::ProcessI::shutdown(const Current&)
1936
+ {
1937
+ _communicator->shutdown();
1938
+ }
1939
+
1940
+ void
1941
+ IceInternal::ProcessI::writeMessage(string message, int32_t fd, const Current&)
1942
+ {
1943
+ switch (fd)
1944
+ {
1945
+ case 1:
1946
+ {
1947
+ consoleOut << message << endl;
1948
+ break;
1949
+ }
1950
+ case 2:
1951
+ {
1952
+ consoleErr << message << endl;
1953
+ break;
1954
+ }
1955
+ }
1956
+ }