zeroc-ice 3.7.9.1 → 3.8.0

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