zeroc-ice 3.7.11 → 3.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (895) hide show
  1. checksums.yaml +4 -4
  2. data/dist/IceRuby/Communicator.cpp +159 -376
  3. data/dist/IceRuby/Communicator.h +8 -9
  4. data/dist/IceRuby/Config.h +23 -89
  5. data/dist/IceRuby/Connection.cpp +111 -219
  6. data/dist/IceRuby/Connection.h +8 -12
  7. data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
  8. data/dist/IceRuby/DefaultSliceLoader.h +25 -0
  9. data/dist/IceRuby/Endpoint.cpp +63 -65
  10. data/dist/IceRuby/Endpoint.h +7 -11
  11. data/dist/IceRuby/ImplicitContext.cpp +26 -31
  12. data/dist/IceRuby/ImplicitContext.h +6 -10
  13. data/dist/IceRuby/Init.cpp +27 -40
  14. data/dist/IceRuby/Logger.cpp +23 -28
  15. data/dist/IceRuby/Logger.h +8 -12
  16. data/dist/IceRuby/Operation.cpp +177 -219
  17. data/dist/IceRuby/Operation.h +15 -18
  18. data/dist/IceRuby/Properties.cpp +133 -89
  19. data/dist/IceRuby/Properties.h +6 -10
  20. data/dist/IceRuby/Proxy.cpp +179 -649
  21. data/dist/IceRuby/Proxy.h +11 -12
  22. data/dist/IceRuby/RubySliceLoader.cpp +39 -0
  23. data/dist/IceRuby/RubySliceLoader.h +27 -0
  24. data/dist/IceRuby/Slice.cpp +88 -94
  25. data/dist/IceRuby/Slice.h +3 -7
  26. data/dist/IceRuby/Types.cpp +987 -1190
  27. data/dist/IceRuby/Types.h +390 -461
  28. data/dist/IceRuby/Util.cpp +214 -473
  29. data/dist/IceRuby/Util.h +378 -479
  30. data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
  31. data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
  32. data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +4 -10
  33. data/dist/ice/cpp/include/Ice/Buffer.h +116 -111
  34. data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
  35. data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
  36. data/dist/ice/cpp/include/Ice/Config.h +46 -62
  37. data/dist/ice/cpp/include/Ice/Connection.h +410 -0
  38. data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
  39. data/dist/ice/cpp/include/Ice/ConnectionIF.h +6 -28
  40. data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
  41. data/dist/ice/cpp/include/Ice/Current.h +60 -0
  42. data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
  43. data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
  44. data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
  45. data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
  46. data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
  47. data/dist/ice/cpp/include/Ice/Exception.h +46 -151
  48. data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
  49. data/dist/ice/cpp/include/Ice/Format.h +11 -27
  50. data/dist/ice/cpp/include/Ice/Ice.h +53 -48
  51. data/dist/ice/cpp/include/Ice/IconvStringConverter.h +165 -326
  52. data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
  53. data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
  54. data/dist/ice/cpp/include/Ice/Initialize.h +113 -927
  55. data/dist/ice/cpp/include/Ice/InputStream.h +748 -1320
  56. data/dist/ice/cpp/include/Ice/InstanceF.h +4 -10
  57. data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
  58. data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
  59. data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
  60. data/dist/ice/cpp/include/Ice/Logger.h +62 -0
  61. data/dist/ice/cpp/include/Ice/LoggerUtil.h +124 -147
  62. data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
  63. data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +41 -71
  64. data/dist/ice/cpp/include/Ice/Object.h +151 -490
  65. data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
  66. data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
  67. data/dist/ice/cpp/include/Ice/ObjectF.h +5 -19
  68. data/dist/ice/cpp/include/Ice/ObserverHelper.h +115 -132
  69. data/dist/ice/cpp/include/Ice/OutgoingAsync.h +392 -748
  70. data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
  71. data/dist/ice/cpp/include/Ice/OutputStream.h +756 -956
  72. data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
  73. data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
  74. data/dist/ice/cpp/include/{IceUtil → Ice}/PopDisableWarnings.h +8 -6
  75. data/dist/ice/cpp/include/Ice/Properties.h +307 -0
  76. data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
  77. data/dist/ice/cpp/include/Ice/Proxy.h +665 -5094
  78. data/dist/ice/cpp/include/Ice/ProxyF.h +2 -44
  79. data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
  80. data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
  81. data/dist/ice/cpp/include/Ice/ReferenceF.h +4 -19
  82. data/dist/ice/cpp/include/Ice/RequestHandlerF.h +8 -18
  83. data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +276 -0
  84. data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
  85. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
  86. data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
  87. data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
  88. data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
  89. data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +286 -0
  90. data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
  91. data/dist/ice/cpp/include/Ice/Service.h +182 -342
  92. data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
  93. data/dist/ice/cpp/include/Ice/SlicedData.h +113 -160
  94. data/dist/ice/cpp/include/Ice/SlicedDataF.h +17 -27
  95. data/dist/ice/cpp/include/Ice/StreamHelpers.h +532 -1070
  96. data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
  97. data/dist/ice/cpp/include/Ice/StringConverter.h +152 -63
  98. data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
  99. data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
  100. data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
  101. data/dist/ice/cpp/include/Ice/UUID.h +6 -9
  102. data/dist/ice/cpp/include/Ice/UserException.h +46 -0
  103. data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +4 -79
  104. data/dist/ice/cpp/include/Ice/Value.h +103 -115
  105. data/dist/ice/cpp/include/Ice/ValueF.h +6 -11
  106. data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +16 -1877
  107. data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -1185
  108. data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +46 -146
  109. data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
  110. data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +49 -93
  111. data/dist/ice/cpp/include/generated/Ice/Identity.h +70 -226
  112. data/dist/ice/cpp/include/generated/Ice/Locator.h +494 -3850
  113. data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
  114. data/dist/ice/cpp/include/generated/Ice/Metrics.h +937 -4603
  115. data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
  116. data/dist/ice/cpp/include/generated/Ice/Process.h +197 -929
  117. data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +249 -1301
  118. data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
  119. data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +637 -2620
  120. data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
  121. data/dist/ice/cpp/include/generated/Ice/Router.h +429 -1783
  122. data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +18 -65
  123. data/dist/ice/cpp/include/generated/Ice/Version.h +73 -318
  124. data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
  125. data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
  126. data/dist/ice/cpp/src/Ice/Acceptor.h +28 -24
  127. data/dist/ice/cpp/src/Ice/AcceptorF.h +6 -14
  128. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
  129. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
  130. data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
  131. data/dist/ice/cpp/src/Ice/ArgVector.cpp +17 -18
  132. data/dist/ice/cpp/src/Ice/ArgVector.h +19 -25
  133. data/dist/ice/cpp/src/Ice/Base64.cpp +66 -66
  134. data/dist/ice/cpp/src/Ice/Base64.h +14 -19
  135. data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +70 -121
  136. data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +37 -47
  137. data/dist/ice/cpp/src/Ice/Buffer.cpp +73 -41
  138. data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
  139. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +215 -249
  140. data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +38 -60
  141. data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
  142. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
  143. data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
  144. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +63 -184
  145. data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +30 -51
  146. data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +4 -14
  147. data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
  148. data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +578 -792
  149. data/dist/ice/cpp/src/Ice/ConnectionFactory.h +200 -200
  150. data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +6 -19
  151. data/dist/ice/cpp/src/Ice/ConnectionI.cpp +1674 -1782
  152. data/dist/ice/cpp/src/Ice/ConnectionI.h +333 -293
  153. data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
  154. data/dist/ice/cpp/src/Ice/Connector.h +25 -19
  155. data/dist/ice/cpp/src/Ice/ConnectorF.h +4 -11
  156. data/dist/ice/cpp/src/{IceUtil → Ice}/ConsoleUtil.cpp +32 -53
  157. data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
  158. data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
  159. data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
  160. data/dist/ice/cpp/src/Ice/DLLMain.cpp +25 -35
  161. data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
  162. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +41 -119
  163. data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +27 -41
  164. data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +4 -11
  165. data/dist/ice/cpp/src/Ice/Demangle.cpp +26 -0
  166. data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
  167. data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +44 -112
  168. data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
  169. data/dist/ice/cpp/src/Ice/Endian.h +40 -0
  170. data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +35 -59
  171. data/dist/ice/cpp/src/Ice/EndpointFactory.h +82 -103
  172. data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +4 -11
  173. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +54 -87
  174. data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +28 -33
  175. data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +4 -11
  176. data/dist/ice/cpp/src/Ice/EndpointI.cpp +53 -23
  177. data/dist/ice/cpp/src/Ice/EndpointI.h +132 -200
  178. data/dist/ice/cpp/src/Ice/EndpointIF.h +11 -39
  179. data/dist/ice/cpp/src/Ice/EventHandler.cpp +3 -26
  180. data/dist/ice/cpp/src/Ice/EventHandler.h +46 -56
  181. data/dist/ice/cpp/src/Ice/EventHandlerF.h +4 -14
  182. data/dist/ice/cpp/src/Ice/Exception.cpp +3 -816
  183. data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
  184. data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
  185. data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
  186. data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
  187. data/dist/ice/cpp/src/Ice/HashUtil.h +46 -32
  188. data/dist/ice/cpp/src/Ice/HttpParser.cpp +431 -431
  189. data/dist/ice/cpp/src/Ice/HttpParser.h +95 -100
  190. data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +207 -324
  191. data/dist/ice/cpp/src/Ice/IPEndpointI.h +80 -126
  192. data/dist/ice/cpp/src/Ice/IPEndpointIF.h +6 -17
  193. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
  194. data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
  195. data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
  196. data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
  197. data/dist/ice/cpp/src/Ice/Initialize.cpp +48 -542
  198. data/dist/ice/cpp/src/Ice/InputStream.cpp +848 -1385
  199. data/dist/ice/cpp/src/Ice/Instance.cpp +816 -827
  200. data/dist/ice/cpp/src/Ice/Instance.h +202 -212
  201. data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +526 -661
  202. data/dist/ice/cpp/src/Ice/InstrumentationI.h +171 -192
  203. data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
  204. data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
  205. data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +291 -329
  206. data/dist/ice/cpp/src/Ice/LocatorInfo.h +144 -157
  207. data/dist/ice/cpp/src/Ice/LocatorInfoF.h +8 -17
  208. data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +561 -743
  209. data/dist/ice/cpp/src/Ice/LoggerAdminI.h +18 -28
  210. data/dist/ice/cpp/src/Ice/LoggerI.cpp +66 -91
  211. data/dist/ice/cpp/src/Ice/LoggerI.h +36 -41
  212. data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
  213. data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
  214. data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +14 -38
  215. data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
  216. data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +194 -280
  217. data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
  218. data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
  219. data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
  220. data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
  221. data/dist/ice/cpp/src/Ice/Network.cpp +595 -917
  222. data/dist/ice/cpp/src/Ice/Network.h +189 -213
  223. data/dist/ice/cpp/src/Ice/NetworkF.h +2 -10
  224. data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +99 -104
  225. data/dist/ice/cpp/src/Ice/NetworkProxy.h +49 -54
  226. data/dist/ice/cpp/src/Ice/NetworkProxyF.h +4 -11
  227. data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +16 -18
  228. data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +22 -27
  229. data/dist/ice/cpp/src/Ice/Object.cpp +152 -338
  230. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +170 -113
  231. data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +41 -41
  232. data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +4 -15
  233. data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +580 -727
  234. data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +149 -145
  235. data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +36 -17
  236. data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
  237. data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
  238. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +147 -187
  239. data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +56 -64
  240. data/dist/ice/cpp/src/{IceUtil → Ice}/Options.cpp +187 -258
  241. data/dist/ice/cpp/src/Ice/Options.h +119 -0
  242. data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +516 -732
  243. data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
  244. data/dist/ice/cpp/src/Ice/OutputStream.cpp +610 -543
  245. data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
  246. data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
  247. data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +118 -277
  248. data/dist/ice/cpp/src/Ice/PluginManagerI.h +41 -48
  249. data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
  250. data/dist/ice/cpp/src/Ice/PropertyNames.cpp +519 -1341
  251. data/dist/ice/cpp/src/Ice/PropertyNames.h +49 -64
  252. data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
  253. data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
  254. data/dist/ice/cpp/src/Ice/Protocol.cpp +129 -94
  255. data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
  256. data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +117 -62
  257. data/dist/ice/cpp/src/Ice/ProtocolInstance.h +63 -82
  258. data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +4 -11
  259. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +10 -32
  260. data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +25 -54
  261. data/dist/ice/cpp/src/Ice/Proxy.cpp +294 -1357
  262. data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
  263. data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
  264. data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
  265. data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
  266. data/dist/ice/cpp/src/Ice/Random.h +23 -0
  267. data/dist/ice/cpp/src/Ice/Reference.cpp +635 -1097
  268. data/dist/ice/cpp/src/Ice/Reference.h +314 -298
  269. data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +320 -378
  270. data/dist/ice/cpp/src/Ice/ReferenceFactory.h +48 -66
  271. data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +4 -9
  272. data/dist/ice/cpp/src/Ice/RequestHandler.cpp +15 -24
  273. data/dist/ice/cpp/src/Ice/RequestHandler.h +43 -68
  274. data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
  275. data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
  276. data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
  277. data/dist/ice/cpp/src/Ice/RetryQueue.cpp +51 -57
  278. data/dist/ice/cpp/src/Ice/RetryQueue.h +39 -46
  279. data/dist/ice/cpp/src/Ice/RetryQueueF.h +4 -9
  280. data/dist/ice/cpp/src/Ice/RouterInfo.cpp +97 -201
  281. data/dist/ice/cpp/src/Ice/RouterInfo.h +61 -118
  282. data/dist/ice/cpp/src/Ice/RouterInfoF.h +6 -14
  283. data/dist/ice/cpp/src/Ice/SHA1.cpp +86 -60
  284. data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
  285. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
  286. data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
  287. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +521 -0
  288. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
  289. data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
  290. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +646 -0
  291. data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
  292. data/dist/ice/cpp/src/{IceSSL → Ice/SSL}/RFC2253.cpp +85 -88
  293. data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
  294. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
  295. data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
  296. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
  297. data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
  298. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
  299. data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
  300. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
  301. data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +69 -0
  302. data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
  303. data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
  304. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
  305. data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
  306. data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
  307. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +673 -0
  308. data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +118 -0
  309. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1449 -0
  310. data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
  311. data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
  312. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1088 -0
  313. data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
  314. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +825 -0
  315. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
  316. data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
  317. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
  318. data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
  319. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1048 -0
  320. data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
  321. data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +233 -0
  322. data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
  323. data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
  324. data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
  325. data/dist/ice/cpp/src/Ice/Selector.cpp +341 -606
  326. data/dist/ice/cpp/src/Ice/Selector.h +167 -224
  327. data/dist/ice/cpp/src/Ice/ServantManager.cpp +195 -128
  328. data/dist/ice/cpp/src/Ice/ServantManager.h +52 -55
  329. data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
  330. data/dist/ice/cpp/src/Ice/Service.cpp +548 -641
  331. data/dist/ice/cpp/src/Ice/SharedContext.h +13 -26
  332. data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
  333. data/dist/ice/cpp/src/Ice/SlicedData.cpp +17 -96
  334. data/dist/ice/cpp/src/Ice/StreamSocket.cpp +104 -151
  335. data/dist/ice/cpp/src/Ice/StreamSocket.h +48 -60
  336. data/dist/ice/cpp/src/Ice/StringConverter.cpp +586 -0
  337. data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
  338. data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +41 -47
  339. data/dist/ice/cpp/src/Ice/SysLoggerI.h +24 -27
  340. data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +16 -17
  341. data/dist/ice/cpp/src/Ice/SystemdJournalI.h +19 -25
  342. data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
  343. data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +67 -88
  344. data/dist/ice/cpp/src/Ice/TcpAcceptor.h +34 -40
  345. data/dist/ice/cpp/src/Ice/TcpConnector.cpp +42 -41
  346. data/dist/ice/cpp/src/Ice/TcpConnector.h +26 -35
  347. data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +172 -146
  348. data/dist/ice/cpp/src/Ice/TcpEndpointI.h +76 -80
  349. data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +38 -26
  350. data/dist/ice/cpp/src/Ice/TcpTransceiver.h +40 -45
  351. data/dist/ice/cpp/src/Ice/ThreadPool.cpp +333 -515
  352. data/dist/ice/cpp/src/Ice/ThreadPool.h +202 -290
  353. data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
  354. data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
  355. data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
  356. data/dist/ice/cpp/src/Ice/Timer.cpp +73 -167
  357. data/dist/ice/cpp/src/Ice/Timer.h +212 -0
  358. data/dist/ice/cpp/src/Ice/TraceLevels.cpp +11 -29
  359. data/dist/ice/cpp/src/Ice/TraceLevels.h +22 -28
  360. data/dist/ice/cpp/src/Ice/TraceLevelsF.h +4 -11
  361. data/dist/ice/cpp/src/Ice/TraceUtil.cpp +136 -215
  362. data/dist/ice/cpp/src/Ice/TraceUtil.h +27 -16
  363. data/dist/ice/cpp/src/Ice/Transceiver.cpp +3 -7
  364. data/dist/ice/cpp/src/Ice/Transceiver.h +35 -32
  365. data/dist/ice/cpp/src/Ice/TransceiverF.h +10 -20
  366. data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
  367. data/dist/ice/cpp/src/Ice/UdpConnector.cpp +39 -39
  368. data/dist/ice/cpp/src/Ice/UdpConnector.h +27 -36
  369. data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +178 -213
  370. data/dist/ice/cpp/src/Ice/UdpEndpointI.h +82 -85
  371. data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +201 -221
  372. data/dist/ice/cpp/src/Ice/UdpTransceiver.h +68 -74
  373. data/dist/ice/cpp/{include/IceUtil → src/Ice}/UndefSysMacros.h +12 -12
  374. data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
  375. data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
  376. data/dist/ice/cpp/src/Ice/Value.cpp +107 -38
  377. data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +10 -15
  378. data/dist/ice/cpp/src/Ice/WSAcceptor.h +31 -37
  379. data/dist/ice/cpp/src/Ice/WSConnector.cpp +25 -40
  380. data/dist/ice/cpp/src/Ice/WSConnector.h +26 -33
  381. data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +164 -217
  382. data/dist/ice/cpp/src/Ice/WSEndpoint.h +72 -83
  383. data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +469 -458
  384. data/dist/ice/cpp/src/Ice/WSTransceiver.h +117 -123
  385. data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +20 -29
  386. data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
  387. data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +20 -31
  388. data/dist/ice/cpp/src/Ice/generated/Identity.cpp +24 -34
  389. data/dist/ice/cpp/src/Ice/generated/Locator.cpp +454 -1744
  390. data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
  391. data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +824 -1971
  392. data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
  393. data/dist/ice/cpp/src/Ice/generated/Process.cpp +190 -331
  394. data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +289 -449
  395. data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
  396. data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +547 -867
  397. data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
  398. data/dist/ice/cpp/src/Ice/generated/Router.cpp +406 -723
  399. data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +19 -29
  400. data/dist/ice/cpp/src/Ice/generated/Version.cpp +28 -31
  401. data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +76 -139
  402. data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +55 -96
  403. data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +190 -303
  404. data/dist/ice/cpp/src/IceDiscovery/LookupI.h +126 -185
  405. data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +56 -77
  406. data/dist/ice/cpp/src/IceDiscovery/PluginI.h +20 -25
  407. data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
  408. data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +14 -37
  409. data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +411 -649
  410. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
  411. data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
  412. data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
  413. data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
  414. data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
  415. data/dist/ice/cpp/src/Slice/FileTracker.cpp +25 -75
  416. data/dist/ice/cpp/src/Slice/FileTracker.h +35 -56
  417. data/dist/ice/cpp/src/Slice/Grammar.cpp +2711 -3382
  418. data/dist/ice/cpp/src/Slice/Grammar.h +95 -75
  419. data/dist/ice/cpp/src/Slice/GrammarUtil.h +117 -217
  420. data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +486 -0
  421. data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
  422. data/dist/ice/cpp/src/Slice/Parser.cpp +3068 -5223
  423. data/dist/ice/cpp/src/Slice/Parser.h +1086 -1065
  424. data/dist/ice/cpp/src/Slice/Preprocessor.cpp +97 -599
  425. data/dist/ice/cpp/src/Slice/Preprocessor.h +26 -42
  426. data/dist/ice/cpp/src/Slice/Scanner.cpp +1562 -924
  427. data/dist/ice/cpp/src/Slice/SliceUtil.cpp +517 -113
  428. data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +254 -269
  429. data/dist/ice/cpp/src/Slice/Util.h +126 -35
  430. data/dist/ice/cpp/src/slice2rb/Main.cpp +13 -15
  431. data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
  432. data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
  433. data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
  434. data/dist/ice/slice/Glacier2/Metrics.ice +34 -75
  435. data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +42 -98
  436. data/dist/ice/slice/Glacier2/Router.ice +80 -173
  437. data/dist/ice/slice/Glacier2/SSLInfo.ice +23 -40
  438. data/dist/ice/slice/Glacier2/Session.ice +120 -261
  439. data/dist/ice/slice/Ice/BuiltinSequences.ice +33 -38
  440. data/dist/ice/slice/Ice/Context.ice +24 -0
  441. data/dist/ice/slice/Ice/EndpointTypes.ice +35 -33
  442. data/dist/ice/slice/Ice/Identity.ice +24 -63
  443. data/dist/ice/slice/Ice/Locator.ice +61 -226
  444. data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
  445. data/dist/ice/slice/Ice/Metrics.ice +189 -424
  446. data/dist/ice/slice/Ice/OperationMode.ice +38 -0
  447. data/dist/ice/slice/Ice/Process.ice +16 -52
  448. data/dist/ice/slice/Ice/PropertiesAdmin.ice +25 -75
  449. data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
  450. data/dist/ice/slice/Ice/RemoteLogger.ice +113 -213
  451. data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
  452. data/dist/ice/slice/Ice/Router.ice +42 -91
  453. data/dist/ice/slice/Ice/SliceChecksumDict.ice +7 -25
  454. data/dist/ice/slice/Ice/Version.ice +31 -39
  455. data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
  456. data/dist/ice/slice/IceGrid/Admin.ice +942 -1918
  457. data/dist/ice/slice/IceGrid/Descriptor.ice +476 -1051
  458. data/dist/ice/slice/IceGrid/Exception.ice +86 -384
  459. data/dist/ice/slice/IceGrid/FileParser.ice +23 -59
  460. data/dist/ice/slice/IceGrid/Registry.ice +117 -256
  461. data/dist/ice/slice/IceGrid/Session.ice +46 -110
  462. data/dist/ice/slice/IceGrid/UserAccountMapper.ice +22 -57
  463. data/dist/ice/slice/IceStorm/IceStorm.ice +173 -401
  464. data/dist/ice/slice/IceStorm/Metrics.ice +28 -70
  465. data/dist/lib/Glacier2/Metrics.rb +16 -31
  466. data/dist/lib/Glacier2/PermissionsVerifier.rb +18 -50
  467. data/dist/lib/Glacier2/Router.rb +20 -42
  468. data/dist/lib/Glacier2/SSLInfo.rb +14 -22
  469. data/dist/lib/Glacier2/Session.rb +53 -113
  470. data/dist/lib/Glacier2.rb +6 -6
  471. data/dist/lib/Ice/BuiltinSequences.rb +14 -26
  472. data/dist/lib/Ice/CompressBatch.rb +50 -0
  473. data/dist/lib/Ice/Context.rb +12 -0
  474. data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
  475. data/dist/lib/Ice/EndpointTypes.rb +14 -55
  476. data/dist/lib/Ice/Exception.rb +20 -0
  477. data/dist/lib/Ice/Identity.rb +10 -26
  478. data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
  479. data/dist/lib/Ice/InitializationData.rb +12 -0
  480. data/dist/lib/Ice/LocalExceptions.rb +168 -0
  481. data/dist/lib/Ice/Locator.rb +21 -134
  482. data/dist/lib/Ice/LocatorRegistry.rb +73 -0
  483. data/dist/lib/Ice/Metrics.rb +85 -132
  484. data/dist/lib/Ice/OperationMode.rb +58 -0
  485. data/dist/lib/Ice/Process.rb +12 -31
  486. data/dist/lib/Ice/PropertiesAdmin.rb +12 -36
  487. data/dist/lib/Ice/PropertyDict.rb +12 -0
  488. data/dist/lib/Ice/Proxy.rb +85 -0
  489. data/dist/lib/Ice/ProxyFunctions.rb +69 -0
  490. data/dist/lib/Ice/RemoteLogger.rb +29 -60
  491. data/dist/lib/Ice/ReplyStatus.rb +65 -0
  492. data/dist/lib/Ice/Router.rb +19 -47
  493. data/dist/lib/Ice/SliceChecksumDict.rb +5 -17
  494. data/dist/lib/Ice/SliceUtil.rb +41 -0
  495. data/dist/lib/Ice/Struct.rb +11 -0
  496. data/dist/lib/Ice/ToStringMode.rb +50 -0
  497. data/dist/lib/Ice/Value.rb +93 -0
  498. data/dist/lib/Ice/Version.rb +12 -24
  499. data/dist/lib/Ice.rb +29 -665
  500. data/dist/lib/IceBox/ServiceManager.rb +104 -0
  501. data/dist/lib/IceBox.rb +2 -4
  502. data/dist/lib/IceGrid/Admin.rb +303 -291
  503. data/dist/lib/IceGrid/Descriptor.rb +147 -192
  504. data/dist/lib/IceGrid/Exception.rb +26 -257
  505. data/dist/lib/IceGrid/FileParser.rb +12 -36
  506. data/dist/lib/IceGrid/Registry.rb +35 -76
  507. data/dist/lib/IceGrid/Session.rb +19 -34
  508. data/dist/lib/IceGrid/UserAccountMapper.rb +11 -34
  509. data/dist/lib/IceGrid.rb +3 -3
  510. data/dist/lib/IceStorm/IceStorm.rb +51 -132
  511. data/dist/lib/IceStorm/Metrics.rb +19 -37
  512. data/dist/lib/IceStorm.rb +3 -5
  513. data/extconf.rb +6 -8
  514. data/ice.gemspec +3 -3
  515. data/scripts/slice2rb +1 -3
  516. metadata +206 -386
  517. data/dist/IceRuby/ValueFactoryManager.cpp +0 -445
  518. data/dist/IceRuby/ValueFactoryManager.h +0 -95
  519. data/dist/ice/cpp/include/Ice/Application.h +0 -326
  520. data/dist/ice/cpp/include/Ice/AsyncResult.h +0 -155
  521. data/dist/ice/cpp/include/Ice/AsyncResultF.h +0 -23
  522. data/dist/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
  523. data/dist/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
  524. data/dist/ice/cpp/include/Ice/Comparable.h +0 -205
  525. data/dist/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
  526. data/dist/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
  527. data/dist/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
  528. data/dist/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
  529. data/dist/ice/cpp/include/Ice/Dispatcher.h +0 -67
  530. data/dist/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
  531. data/dist/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
  532. data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
  533. data/dist/ice/cpp/include/Ice/FactoryTable.h +0 -73
  534. data/dist/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
  535. data/dist/ice/cpp/include/Ice/Functional.h +0 -140
  536. data/dist/ice/cpp/include/Ice/GCObject.h +0 -76
  537. data/dist/ice/cpp/include/Ice/Handle.h +0 -182
  538. data/dist/ice/cpp/include/Ice/Incoming.h +0 -225
  539. data/dist/ice/cpp/include/Ice/IncomingAsync.h +0 -186
  540. data/dist/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
  541. data/dist/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
  542. data/dist/ice/cpp/include/Ice/LocalObject.h +0 -35
  543. data/dist/ice/cpp/include/Ice/LocalObjectF.h +0 -21
  544. data/dist/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
  545. data/dist/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
  546. data/dist/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
  547. data/dist/ice/cpp/include/Ice/Optional.h +0 -1114
  548. data/dist/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
  549. data/dist/ice/cpp/include/Ice/Protocol.h +0 -274
  550. data/dist/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
  551. data/dist/ice/cpp/include/Ice/ProxyHandle.h +0 -318
  552. data/dist/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
  553. data/dist/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
  554. data/dist/ice/cpp/include/Ice/SHA1.h +0 -40
  555. data/dist/ice/cpp/include/Ice/ServantManagerF.h +0 -21
  556. data/dist/ice/cpp/include/Ice/SliceChecksums.h +0 -33
  557. data/dist/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
  558. data/dist/ice/cpp/include/Ice/UniquePtr.h +0 -95
  559. data/dist/ice/cpp/include/Ice/UniqueRef.h +0 -97
  560. data/dist/ice/cpp/include/IceSSL/Config.h +0 -21
  561. data/dist/ice/cpp/include/IceSSL/IceSSL.h +0 -24
  562. data/dist/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
  563. data/dist/ice/cpp/include/IceSSL/Plugin.h +0 -712
  564. data/dist/ice/cpp/include/IceSSL/SChannel.h +0 -72
  565. data/dist/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
  566. data/dist/ice/cpp/include/IceUtil/Atomic.h +0 -179
  567. data/dist/ice/cpp/include/IceUtil/Cond.h +0 -317
  568. data/dist/ice/cpp/include/IceUtil/Config.h +0 -392
  569. data/dist/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
  570. data/dist/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
  571. data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -96
  572. data/dist/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
  573. data/dist/ice/cpp/include/IceUtil/Exception.h +0 -394
  574. data/dist/ice/cpp/include/IceUtil/FileUtil.h +0 -140
  575. data/dist/ice/cpp/include/IceUtil/Functional.h +0 -389
  576. data/dist/ice/cpp/include/IceUtil/Handle.h +0 -261
  577. data/dist/ice/cpp/include/IceUtil/IceUtil.h +0 -40
  578. data/dist/ice/cpp/include/IceUtil/InputUtil.h +0 -42
  579. data/dist/ice/cpp/include/IceUtil/Iterator.h +0 -31
  580. data/dist/ice/cpp/include/IceUtil/Lock.h +0 -128
  581. data/dist/ice/cpp/include/IceUtil/Monitor.h +0 -243
  582. data/dist/ice/cpp/include/IceUtil/Mutex.h +0 -349
  583. data/dist/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
  584. data/dist/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
  585. data/dist/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
  586. data/dist/ice/cpp/include/IceUtil/Optional.h +0 -433
  587. data/dist/ice/cpp/include/IceUtil/Options.h +0 -135
  588. data/dist/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
  589. data/dist/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
  590. data/dist/ice/cpp/include/IceUtil/Random.h +0 -55
  591. data/dist/ice/cpp/include/IceUtil/RecMutex.h +0 -107
  592. data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
  593. data/dist/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
  594. data/dist/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
  595. data/dist/ice/cpp/include/IceUtil/Shared.h +0 -127
  596. data/dist/ice/cpp/include/IceUtil/StopWatch.h +0 -49
  597. data/dist/ice/cpp/include/IceUtil/StringConverter.h +0 -195
  598. data/dist/ice/cpp/include/IceUtil/StringUtil.h +0 -97
  599. data/dist/ice/cpp/include/IceUtil/Thread.h +0 -160
  600. data/dist/ice/cpp/include/IceUtil/ThreadException.h +0 -94
  601. data/dist/ice/cpp/include/IceUtil/Time.h +0 -205
  602. data/dist/ice/cpp/include/IceUtil/Timer.h +0 -153
  603. data/dist/ice/cpp/include/IceUtil/UUID.h +0 -21
  604. data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +0 -475
  605. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +0 -1430
  606. data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +0 -147
  607. data/dist/ice/cpp/include/generated/Glacier2/Router.h +0 -3260
  608. data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +0 -125
  609. data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +0 -223
  610. data/dist/ice/cpp/include/generated/Glacier2/Session.h +0 -5894
  611. data/dist/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
  612. data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
  613. data/dist/ice/cpp/include/generated/Ice/Connection.h +0 -1703
  614. data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
  615. data/dist/ice/cpp/include/generated/Ice/Current.h +0 -322
  616. data/dist/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
  617. data/dist/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
  618. data/dist/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
  619. data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
  620. data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
  621. data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
  622. data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
  623. data/dist/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
  624. data/dist/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
  625. data/dist/ice/cpp/include/generated/Ice/Logger.h +0 -237
  626. data/dist/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
  627. data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
  628. data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
  629. data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
  630. data/dist/ice/cpp/include/generated/Ice/Plugin.h +0 -318
  631. data/dist/ice/cpp/include/generated/Ice/PluginF.h +0 -110
  632. data/dist/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
  633. data/dist/ice/cpp/include/generated/Ice/Properties.h +0 -452
  634. data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
  635. data/dist/ice/cpp/include/generated/Ice/RouterF.h +0 -125
  636. data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
  637. data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
  638. data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
  639. data/dist/ice/cpp/include/generated/IceBox/IceBox.h +0 -3269
  640. data/dist/ice/cpp/include/generated/IceGrid/Admin.h +0 -33773
  641. data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +0 -5254
  642. data/dist/ice/cpp/include/generated/IceGrid/Exception.h +0 -2834
  643. data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +0 -824
  644. data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +0 -635
  645. data/dist/ice/cpp/include/generated/IceGrid/Registry.h +0 -5089
  646. data/dist/ice/cpp/include/generated/IceGrid/Session.h +0 -2240
  647. data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +0 -800
  648. data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +0 -325
  649. data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +0 -2891
  650. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
  651. data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
  652. data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
  653. data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +0 -6627
  654. data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +0 -665
  655. data/dist/ice/cpp/src/Ice/ACM.cpp +0 -380
  656. data/dist/ice/cpp/src/Ice/ACM.h +0 -119
  657. data/dist/ice/cpp/src/Ice/ACMF.h +0 -30
  658. data/dist/ice/cpp/src/Ice/Acceptor.cpp +0 -16
  659. data/dist/ice/cpp/src/Ice/Application.cpp +0 -661
  660. data/dist/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
  661. data/dist/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
  662. data/dist/ice/cpp/src/Ice/CommunicatorI.h +0 -167
  663. data/dist/ice/cpp/src/Ice/Cond.cpp +0 -381
  664. data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
  665. data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
  666. data/dist/ice/cpp/src/Ice/Connector.cpp +0 -16
  667. data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
  668. data/dist/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
  669. data/dist/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
  670. data/dist/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
  671. data/dist/ice/cpp/src/Ice/GCObject.cpp +0 -442
  672. data/dist/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
  673. data/dist/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
  674. data/dist/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
  675. data/dist/ice/cpp/src/Ice/Incoming.cpp +0 -795
  676. data/dist/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
  677. data/dist/ice/cpp/src/Ice/IncomingRequest.h +0 -33
  678. data/dist/ice/cpp/src/Ice/LocalObject.cpp +0 -23
  679. data/dist/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
  680. data/dist/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
  681. data/dist/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
  682. data/dist/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
  683. data/dist/ice/cpp/src/Ice/PropertiesI.h +0 -70
  684. data/dist/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
  685. data/dist/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
  686. data/dist/ice/cpp/src/Ice/ProxyFactory.h +0 -57
  687. data/dist/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
  688. data/dist/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
  689. data/dist/ice/cpp/src/Ice/ReplyStatus.h +0 -24
  690. data/dist/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
  691. data/dist/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
  692. data/dist/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
  693. data/dist/ice/cpp/src/Ice/ResponseHandler.h +0 -43
  694. data/dist/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
  695. data/dist/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
  696. data/dist/ice/cpp/src/Ice/StringUtil.h +0 -30
  697. data/dist/ice/cpp/src/Ice/Thread.cpp +0 -569
  698. data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
  699. data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
  700. data/dist/ice/cpp/src/Ice/VirtualShared.h +0 -38
  701. data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +0 -79
  702. data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +0 -61
  703. data/dist/ice/cpp/src/Ice/generated/Connection.cpp +0 -155
  704. data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +0 -61
  705. data/dist/ice/cpp/src/Ice/generated/Current.cpp +0 -62
  706. data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +0 -147
  707. data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +0 -61
  708. data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +0 -49
  709. data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +0 -75
  710. data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +0 -61
  711. data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +0 -188
  712. data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +0 -66
  713. data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +0 -3262
  714. data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +0 -63
  715. data/dist/ice/cpp/src/Ice/generated/Logger.cpp +0 -73
  716. data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +0 -61
  717. data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +0 -79
  718. data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +0 -61
  719. data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +0 -75
  720. data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +0 -87
  721. data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +0 -61
  722. data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +0 -63
  723. data/dist/ice/cpp/src/Ice/generated/Properties.cpp +0 -78
  724. data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +0 -63
  725. data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +0 -63
  726. data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +0 -75
  727. data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +0 -61
  728. data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +0 -83
  729. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +0 -154
  730. data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +0 -49
  731. data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +0 -146
  732. data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +0 -52
  733. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +0 -477
  734. data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +0 -156
  735. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +0 -570
  736. data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +0 -93
  737. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +0 -1889
  738. data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +0 -915
  739. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
  740. data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +0 -730
  741. data/dist/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
  742. data/dist/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
  743. data/dist/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
  744. data/dist/ice/cpp/src/IceSSL/CertificateI.h +0 -64
  745. data/dist/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
  746. data/dist/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
  747. data/dist/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
  748. data/dist/ice/cpp/src/IceSSL/EndpointI.h +0 -100
  749. data/dist/ice/cpp/src/IceSSL/Instance.cpp +0 -28
  750. data/dist/ice/cpp/src/IceSSL/Instance.h +0 -37
  751. data/dist/ice/cpp/src/IceSSL/InstanceF.h +0 -33
  752. data/dist/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
  753. data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
  754. data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
  755. data/dist/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
  756. data/dist/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
  757. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
  758. data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
  759. data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
  760. data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
  761. data/dist/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
  762. data/dist/ice/cpp/src/IceSSL/PluginI.h +0 -67
  763. data/dist/ice/cpp/src/IceSSL/RFC2253.h +0 -62
  764. data/dist/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
  765. data/dist/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
  766. data/dist/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
  767. data/dist/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
  768. data/dist/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
  769. data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
  770. data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
  771. data/dist/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
  772. data/dist/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
  773. data/dist/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
  774. data/dist/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
  775. data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
  776. data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
  777. data/dist/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
  778. data/dist/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
  779. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
  780. data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
  781. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
  782. data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
  783. data/dist/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
  784. data/dist/ice/cpp/src/IceSSL/TrustManager.h +0 -46
  785. data/dist/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
  786. data/dist/ice/cpp/src/IceSSL/Util.cpp +0 -192
  787. data/dist/ice/cpp/src/IceSSL/Util.h +0 -99
  788. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +0 -75
  789. data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +0 -61
  790. data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +0 -75
  791. data/dist/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
  792. data/dist/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
  793. data/dist/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
  794. data/dist/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
  795. data/dist/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
  796. data/dist/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
  797. data/dist/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
  798. data/dist/ice/cpp/src/IceUtil/Random.cpp +0 -180
  799. data/dist/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
  800. data/dist/ice/cpp/src/IceUtil/Shared.cpp +0 -71
  801. data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
  802. data/dist/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
  803. data/dist/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
  804. data/dist/ice/cpp/src/IceUtil/Time.cpp +0 -307
  805. data/dist/ice/cpp/src/IceUtil/UUID.cpp +0 -165
  806. data/dist/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
  807. data/dist/ice/cpp/src/IceUtil/Unicode.h +0 -43
  808. data/dist/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
  809. data/dist/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
  810. data/dist/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
  811. data/dist/ice/cpp/src/Slice/Checksum.cpp +0 -447
  812. data/dist/ice/cpp/src/Slice/Checksum.h +0 -21
  813. data/dist/ice/cpp/src/Slice/JavaUtil.cpp +0 -5183
  814. data/dist/ice/cpp/src/Slice/JavaUtil.h +0 -407
  815. data/dist/ice/cpp/src/Slice/MD5.cpp +0 -52
  816. data/dist/ice/cpp/src/Slice/MD5.h +0 -39
  817. data/dist/ice/cpp/src/Slice/MD5I.cpp +0 -393
  818. data/dist/ice/cpp/src/Slice/MD5I.h +0 -91
  819. data/dist/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
  820. data/dist/ice/cpp/src/Slice/PHPUtil.h +0 -36
  821. data/dist/ice/cpp/src/Slice/Python.cpp +0 -830
  822. data/dist/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
  823. data/dist/ice/cpp/src/Slice/PythonUtil.h +0 -70
  824. data/dist/ice/cpp/src/Slice/Ruby.cpp +0 -350
  825. data/dist/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
  826. data/dist/ice/cpp/src/Slice/RubyUtil.h +0 -49
  827. data/dist/ice/slice/Glacier2/PermissionsVerifierF.ice +0 -30
  828. data/dist/ice/slice/Glacier2/RouterF.ice +0 -29
  829. data/dist/ice/slice/Ice/Communicator.ice +0 -676
  830. data/dist/ice/slice/Ice/CommunicatorF.ice +0 -31
  831. data/dist/ice/slice/Ice/Connection.ice +0 -516
  832. data/dist/ice/slice/Ice/ConnectionF.ice +0 -33
  833. data/dist/ice/slice/Ice/Current.ice +0 -170
  834. data/dist/ice/slice/Ice/Endpoint.ice +0 -291
  835. data/dist/ice/slice/Ice/EndpointF.ice +0 -43
  836. data/dist/ice/slice/Ice/FacetMap.ice +0 -36
  837. data/dist/ice/slice/Ice/ImplicitContext.ice +0 -119
  838. data/dist/ice/slice/Ice/ImplicitContextF.ice +0 -30
  839. data/dist/ice/slice/Ice/Instrumentation.ice +0 -509
  840. data/dist/ice/slice/Ice/InstrumentationF.ice +0 -38
  841. data/dist/ice/slice/Ice/LocalException.ice +0 -1040
  842. data/dist/ice/slice/Ice/LocatorF.ice +0 -32
  843. data/dist/ice/slice/Ice/Logger.ice +0 -99
  844. data/dist/ice/slice/Ice/LoggerF.ice +0 -31
  845. data/dist/ice/slice/Ice/ObjectAdapter.ice +0 -710
  846. data/dist/ice/slice/Ice/ObjectAdapterF.ice +0 -31
  847. data/dist/ice/slice/Ice/ObjectFactory.ice +0 -71
  848. data/dist/ice/slice/Ice/Plugin.ice +0 -131
  849. data/dist/ice/slice/Ice/PluginF.ice +0 -36
  850. data/dist/ice/slice/Ice/ProcessF.ice +0 -31
  851. data/dist/ice/slice/Ice/Properties.ice +0 -244
  852. data/dist/ice/slice/Ice/PropertiesF.ice +0 -32
  853. data/dist/ice/slice/Ice/RouterF.ice +0 -31
  854. data/dist/ice/slice/Ice/ServantLocator.ice +0 -136
  855. data/dist/ice/slice/Ice/ServantLocatorF.ice +0 -31
  856. data/dist/ice/slice/Ice/ValueFactory.ice +0 -133
  857. data/dist/ice/slice/IceBox/IceBox.ice +0 -216
  858. data/dist/ice/slice/IceGrid/PluginFacade.ice +0 -329
  859. data/dist/ice/slice/IcePatch2/FileInfo.ice +0 -85
  860. data/dist/ice/slice/IcePatch2/FileServer.ice +0 -191
  861. data/dist/lib/Glacier2/PermissionsVerifierF.rb +0 -30
  862. data/dist/lib/Glacier2/RouterF.rb +0 -25
  863. data/dist/lib/Ice/Communicator.rb +0 -87
  864. data/dist/lib/Ice/CommunicatorF.rb +0 -24
  865. data/dist/lib/Ice/Connection.rb +0 -413
  866. data/dist/lib/Ice/ConnectionF.rb +0 -32
  867. data/dist/lib/Ice/Current.rb +0 -141
  868. data/dist/lib/Ice/Endpoint.rb +0 -187
  869. data/dist/lib/Ice/EndpointF.rb +0 -48
  870. data/dist/lib/Ice/FacetMap.rb +0 -24
  871. data/dist/lib/Ice/ImplicitContext.rb +0 -26
  872. data/dist/lib/Ice/ImplicitContextF.rb +0 -24
  873. data/dist/lib/Ice/Instrumentation.rb +0 -169
  874. data/dist/lib/Ice/InstrumentationF.rb +0 -31
  875. data/dist/lib/Ice/LocalException.rb +0 -1031
  876. data/dist/lib/Ice/LocatorF.rb +0 -30
  877. data/dist/lib/Ice/Logger.rb +0 -24
  878. data/dist/lib/Ice/LoggerF.rb +0 -24
  879. data/dist/lib/Ice/ObjectAdapter.rb +0 -29
  880. data/dist/lib/Ice/ObjectAdapterF.rb +0 -24
  881. data/dist/lib/Ice/ObjectFactory.rb +0 -24
  882. data/dist/lib/Ice/Plugin.rb +0 -30
  883. data/dist/lib/Ice/PluginF.rb +0 -28
  884. data/dist/lib/Ice/ProcessF.rb +0 -25
  885. data/dist/lib/Ice/Properties.rb +0 -25
  886. data/dist/lib/Ice/PropertiesF.rb +0 -29
  887. data/dist/lib/Ice/RouterF.rb +0 -25
  888. data/dist/lib/Ice/ServantLocator.rb +0 -26
  889. data/dist/lib/Ice/ServantLocatorF.rb +0 -24
  890. data/dist/lib/Ice/ValueFactory.rb +0 -28
  891. data/dist/lib/IceBox/IceBox.rb +0 -164
  892. data/dist/lib/IceGrid/PluginFacade.rb +0 -35
  893. data/dist/lib/IcePatch2/FileInfo.rb +0 -115
  894. data/dist/lib/IcePatch2/FileServer.rb +0 -123
  895. data/dist/lib/IcePatch2.rb +0 -5
@@ -1,17 +1,17 @@
1
- //
2
- // Copyright (c) ZeroC, Inc. All rights reserved.
3
- //
4
-
5
- #include <Ice/LoggerAdminI.h>
6
- #include <Ice/Initialize.h>
7
- #include <Ice/Communicator.h>
8
- #include <Ice/RemoteLogger.h>
9
- #include <Ice/Properties.h>
10
- #include <Ice/ObjectAdapter.h>
11
- #include <Ice/Connection.h>
12
- #include <Ice/LocalException.h>
13
- #include <Ice/LoggerUtil.h>
14
-
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #include "LoggerAdminI.h"
4
+ #include "Ice/Communicator.h"
5
+ #include "Ice/Initialize.h"
6
+ #include "Ice/LocalExceptions.h"
7
+ #include "Ice/LoggerUtil.h"
8
+ #include "Ice/ObjectAdapter.h"
9
+ #include "Ice/Properties.h"
10
+ #include "Ice/ProxyFunctions.h"
11
+ #include "Ice/RemoteLogger.h"
12
+
13
+ #include <atomic>
14
+ #include <deque>
15
15
  #include <set>
16
16
 
17
17
  using namespace Ice;
@@ -19,938 +19,756 @@ using namespace std;
19
19
 
20
20
  namespace
21
21
  {
22
+ const char* traceCategory = "Admin.Logger";
22
23
 
23
- const char* traceCategory = "Admin.Logger";
24
-
25
- class LoggerAdminI : public Ice::LoggerAdmin
26
- #ifdef ICE_CPP11_MAPPING
27
- , public std::enable_shared_from_this<LoggerAdminI>
28
- #endif
29
- {
30
- public:
24
+ class LoggerAdminI : public Ice::LoggerAdmin, public std::enable_shared_from_this<LoggerAdminI>
25
+ {
26
+ public:
27
+ LoggerAdminI(const PropertiesPtr&);
31
28
 
32
- LoggerAdminI(const PropertiesPtr&);
29
+ void
30
+ attachRemoteLogger(optional<RemoteLoggerPrx>, LogMessageTypeSeq, StringSeq, int32_t, const Current&) override;
33
31
 
34
- #ifdef ICE_CPP11_MAPPING
35
- virtual void attachRemoteLogger(shared_ptr<RemoteLoggerPrx>, LogMessageTypeSeq,
36
- StringSeq, Int, const Current&);
32
+ bool detachRemoteLogger(optional<RemoteLoggerPrx>, const Current&) override;
37
33
 
38
- virtual bool detachRemoteLogger(shared_ptr<RemoteLoggerPrx>, const Current&);
34
+ LogMessageSeq getLog(LogMessageTypeSeq, StringSeq, int32_t, string&, const Current&) override;
39
35
 
40
- virtual LogMessageSeq getLog(LogMessageTypeSeq, StringSeq, Int, string&, const Current&);
41
- #else
42
- virtual void attachRemoteLogger(const RemoteLoggerPrx&, const LogMessageTypeSeq&,
43
- const StringSeq&, Int, const Current&);
36
+ void destroy();
44
37
 
45
- virtual bool detachRemoteLogger(const RemoteLoggerPrx&, const Current&);
38
+ vector<RemoteLoggerPrx> log(const LogMessage&);
46
39
 
47
- virtual LogMessageSeq getLog(const LogMessageTypeSeq&, const StringSeq&, Int, string&, const Current&);
48
- #endif
40
+ void deadRemoteLogger(const RemoteLoggerPrx&, const LoggerPtr&, exception_ptr, std::string_view);
49
41
 
50
- void destroy();
42
+ [[nodiscard]] int getTraceLevel() const { return _traceLevel; }
51
43
 
52
- vector<RemoteLoggerPrxPtr> log(const LogMessage&);
44
+ private:
45
+ bool removeRemoteLogger(const RemoteLoggerPrx&);
53
46
 
54
- void deadRemoteLogger(const RemoteLoggerPrxPtr&, const LoggerPtr&, const LocalException&, const string&);
47
+ std::mutex _mutex;
48
+ list<LogMessage> _queue;
49
+ int _logCount{0}; // non-trace messages
50
+ const int _maxLogCount;
51
+ int _traceCount{0};
52
+ const int _maxTraceCount;
53
+ const int _traceLevel;
55
54
 
56
- int getTraceLevel() const
57
- {
58
- return _traceLevel;
59
- }
55
+ list<LogMessage>::iterator _oldestTrace;
56
+ list<LogMessage>::iterator _oldestLog;
60
57
 
61
- private:
62
-
63
- bool removeRemoteLogger(const RemoteLoggerPrxPtr&);
58
+ struct ObjectIdentityCompare
59
+ {
60
+ bool operator()(const RemoteLoggerPrx& lhs, const RemoteLoggerPrx& rhs) const
61
+ {
62
+ return lhs->ice_getIdentity() < rhs->ice_getIdentity();
63
+ }
64
+ };
64
65
 
65
- #ifndef ICE_CPP11_MAPPING // C++98 mapping begin_init callback
66
- void initCompleted(const AsyncResultPtr&);
67
- #endif
66
+ struct Filters
67
+ {
68
+ Filters(const LogMessageTypeSeq& m, const StringSeq& c)
69
+ : messageTypes(m.begin(), m.end()),
70
+ traceCategories(c.begin(), c.end())
71
+ {
72
+ }
68
73
 
69
- IceUtil::Mutex _mutex;
70
- list<LogMessage> _queue;
71
- int _logCount; // non-trace messages
72
- const int _maxLogCount;
73
- int _traceCount;
74
- const int _maxTraceCount;
75
- const int _traceLevel;
74
+ const set<LogMessageType> messageTypes;
75
+ const set<string> traceCategories;
76
+ };
76
77
 
77
- list<LogMessage>::iterator _oldestTrace;
78
- list<LogMessage>::iterator _oldestLog;
78
+ using RemoteLoggerMap = map<RemoteLoggerPrx, Filters, ObjectIdentityCompare>;
79
79
 
80
- struct ObjectIdentityCompare
81
- {
82
- bool operator()(const RemoteLoggerPrxPtr& lhs, const RemoteLoggerPrxPtr& rhs) const
80
+ struct GetRemoteLoggerMapKey
83
81
  {
84
- //
85
- // Caller should make sure that proxies are never null
86
- //
87
- assert(lhs != 0 && rhs != 0);
82
+ RemoteLoggerMap::key_type operator()(const RemoteLoggerMap::value_type& val) { return val.first; }
83
+ };
88
84
 
89
- return lhs->ice_getIdentity() < rhs->ice_getIdentity();
90
- }
85
+ RemoteLoggerMap _remoteLoggerMap;
86
+ CommunicatorPtr _sendLogCommunicator;
87
+ bool _destroyed{false};
91
88
  };
89
+ using LoggerAdminIPtr = std::shared_ptr<LoggerAdminI>;
92
90
 
93
- struct Filters
91
+ class Job
94
92
  {
95
- Filters(const LogMessageTypeSeq& m, const StringSeq& c) :
96
- messageTypes(m.begin(), m.end()),
97
- traceCategories(c.begin(), c.end())
98
- {
99
- }
93
+ public:
94
+ Job(const vector<RemoteLoggerPrx>& r, LogMessage l) : remoteLoggers(r), logMessage(std::move(l)) {}
100
95
 
101
- const set<LogMessageType> messageTypes;
102
- const set<string> traceCategories;
96
+ const vector<RemoteLoggerPrx> remoteLoggers;
97
+ const LogMessage logMessage;
103
98
  };
99
+ using JobPtr = std::shared_ptr<Job>;
104
100
 
105
- typedef map<RemoteLoggerPrxPtr, Filters, ObjectIdentityCompare> RemoteLoggerMap;
106
-
107
- struct GetRemoteLoggerMapKey
101
+ class LoggerAdminLoggerI final : public IceInternal::LoggerAdminLogger,
102
+ public std::enable_shared_from_this<LoggerAdminLoggerI>
108
103
  {
109
- RemoteLoggerMap::key_type
110
- operator()(const RemoteLoggerMap::value_type& val)
111
- {
112
- return val.first;
113
- }
114
- };
115
-
116
- RemoteLoggerMap _remoteLoggerMap;
117
- CommunicatorPtr _sendLogCommunicator;
118
- bool _destroyed;
119
- };
120
- ICE_DEFINE_PTR(LoggerAdminIPtr, LoggerAdminI);
104
+ public:
105
+ LoggerAdminLoggerI(const PropertiesPtr&, const LoggerPtr&);
121
106
 
122
- class Job : public IceUtil::Shared
123
- {
124
- public:
107
+ void print(const std::string&) final;
108
+ void trace(const std::string&, const std::string&) final;
109
+ void warning(const std::string&) final;
110
+ void error(const std::string&) final;
111
+ std::string getPrefix() final;
112
+ LoggerPtr cloneWithPrefix(std::string) final;
125
113
 
126
- Job(const vector<RemoteLoggerPrxPtr>& r, const LogMessage& l) :
127
- remoteLoggers(r),
128
- logMessage(l)
129
- {
130
- }
114
+ [[nodiscard]] ObjectPtr getFacet() const override;
115
+ void detach() final;
131
116
 
132
- const vector<RemoteLoggerPrxPtr> remoteLoggers;
133
- const LogMessage logMessage;
134
- };
135
- typedef IceUtil::Handle<Job> JobPtr;
117
+ [[nodiscard]] const LoggerPtr& getLocalLogger() const { return _localLogger; }
136
118
 
137
- class LoggerAdminLoggerI : public IceInternal::LoggerAdminLogger
138
- #ifdef ICE_CPP11_MAPPING
139
- , public std::enable_shared_from_this<LoggerAdminLoggerI>
140
- #endif
119
+ void run();
141
120
 
142
- {
143
- public:
121
+ private:
122
+ void log(const LogMessage&);
144
123
 
145
- LoggerAdminLoggerI(const PropertiesPtr&, const LoggerPtr&);
124
+ const LoggerPtr _localLogger;
125
+ const LoggerAdminIPtr _loggerAdmin;
146
126
 
147
- virtual void print(const std::string&);
148
- virtual void trace(const std::string&, const std::string&);
149
- virtual void warning(const std::string&);
150
- virtual void error(const std::string&);
151
- virtual std::string getPrefix();
152
- virtual LoggerPtr cloneWithPrefix(const std::string&);
127
+ std::mutex _mutex;
128
+ std::condition_variable _conditionVariable;
153
129
 
154
- virtual ObjectPtr getFacet() const;
130
+ std::atomic<bool> _detached{false};
131
+ std::thread _sendLogThread;
132
+ std::deque<JobPtr> _jobQueue;
133
+ };
134
+ using LoggerAdminLoggerIPtr = std::shared_ptr<LoggerAdminLoggerI>;
155
135
 
156
- virtual void destroy();
136
+ //
137
+ // Helper functions
138
+ //
157
139
 
158
- const LoggerPtr& getLocalLogger() const
140
+ LoggerPtr unwrapLocalLogger(const LoggerPtr& localLogger)
159
141
  {
160
- return _localLogger;
161
- }
162
-
163
- void run();
164
-
165
- private:
166
-
167
- void log(const LogMessage&);
168
- #ifndef ICE_CPP11_MAPPING // C++98 mapping begin_log callback
169
- void logCompleted(const AsyncResultPtr&);
170
- #endif
171
-
172
- LoggerPtr _localLogger;
173
- const LoggerAdminIPtr _loggerAdmin;
174
-
175
- IceUtil::Monitor<IceUtil::Mutex> _monitor;
176
-
177
- bool _destroyed;
178
- IceUtil::ThreadPtr _sendLogThread;
179
- std::deque<JobPtr> _jobQueue;
180
- };
181
- ICE_DEFINE_PTR(LoggerAdminLoggerIPtr, LoggerAdminLoggerI);
182
-
183
- class SendLogThread : public IceUtil::Thread
184
- {
185
- public:
186
-
187
- SendLogThread(const LoggerAdminLoggerIPtr&);
188
-
189
- virtual void run();
190
-
191
- private:
192
-
193
- LoggerAdminLoggerIPtr _logger;
194
- };
142
+ // There is currently no way to have a null local logger
143
+ assert(localLogger);
195
144
 
196
- //
197
- // Helper functions
198
- //
199
-
200
- //
201
- // Filter out messages from in/out logMessages list
202
- //
203
- void
204
- filterLogMessages(LogMessageSeq& logMessages, const set<LogMessageType>& messageTypes,
205
- const set<string>& traceCategories, Int messageMax)
206
- {
207
- assert(!logMessages.empty() && messageMax != 0);
145
+ auto wrapper = dynamic_pointer_cast<LoggerAdminLoggerI>(localLogger);
146
+ if (wrapper)
147
+ {
148
+ // use the underlying local logger
149
+ return wrapper->getLocalLogger();
150
+ }
151
+ else
152
+ {
153
+ return localLogger;
154
+ }
155
+ }
208
156
 
209
157
  //
210
- // Filter only if one of the 3 filters is set; messageMax < 0 means "give me all"
211
- // that match the other filters, if any.
158
+ // Filter out messages from in/out logMessages list
212
159
  //
213
- if(!messageTypes.empty() || !traceCategories.empty() || messageMax > 0)
160
+ void filterLogMessages(
161
+ LogMessageSeq& logMessages,
162
+ const set<LogMessageType>& messageTypes,
163
+ const set<string>& traceCategories,
164
+ int32_t messageMax)
214
165
  {
215
- int count = 0;
216
- LogMessageSeq::reverse_iterator p = logMessages.rbegin();
217
- while(p != logMessages.rend())
166
+ assert(!logMessages.empty() && messageMax != 0);
167
+
168
+ //
169
+ // Filter only if one of the 3 filters is set; messageMax < 0 means "give me all"
170
+ // that match the other filters, if any.
171
+ //
172
+ if (!messageTypes.empty() || !traceCategories.empty() || messageMax > 0)
218
173
  {
219
- bool keepIt = false;
220
- if(messageTypes.empty() || messageTypes.count(p->type) != 0)
174
+ int count = 0;
175
+ auto p = logMessages.rbegin();
176
+ while (p != logMessages.rend())
221
177
  {
222
- if(p->type != ICE_ENUM(LogMessageType, TraceMessage) || traceCategories.empty() ||
223
- traceCategories.count(p->traceCategory) != 0)
178
+ bool keepIt = false;
179
+ if (messageTypes.empty() || messageTypes.count(p->type) != 0)
224
180
  {
225
- keepIt = true;
181
+ if (p->type != LogMessageType::TraceMessage || traceCategories.empty() ||
182
+ traceCategories.count(p->traceCategory) != 0)
183
+ {
184
+ keepIt = true;
185
+ }
226
186
  }
227
- }
228
187
 
229
- if(keepIt)
230
- {
231
- ++p;
232
- ++count;
233
- if(messageMax > 0 && count >= messageMax)
188
+ if (keepIt)
189
+ {
190
+ ++p;
191
+ ++count;
192
+ if (messageMax > 0 && count >= messageMax)
193
+ {
194
+ //
195
+ // p.base() points to p "+1"; note that this invalidates p.
196
+ //
197
+ logMessages.erase(logMessages.begin(), p.base());
198
+ break; // while
199
+ }
200
+ }
201
+ else
234
202
  {
203
+ ++p;
235
204
  //
236
- // p.base() points to p "+1"; note that this invalidates p.
205
+ // p.base() points to p "+1"; the erase invalidates p so we
206
+ // need to rebuild it
237
207
  //
238
- logMessages.erase(logMessages.begin(), p.base());
239
- break; // while
208
+ p = LogMessageSeq::reverse_iterator(logMessages.erase(p.base()));
240
209
  }
241
210
  }
242
- else
243
- {
244
- ++p;
245
- //
246
- // p.base() points to p "+1"; the erase invalidates p so we
247
- // need to rebuild it
248
- //
249
- p = LogMessageSeq::reverse_iterator(logMessages.erase(p.base()));
250
- }
251
211
  }
212
+ // else, don't need any filtering
252
213
  }
253
- // else, don't need any filtering
254
- }
255
214
 
256
- //
257
- // Change this proxy's communicator, while keeping its invocation timeout
258
- //
259
- RemoteLoggerPrxPtr
260
- changeCommunicator(const RemoteLoggerPrxPtr& prx, const CommunicatorPtr& communicator)
261
- {
262
- if(prx == 0)
215
+ //
216
+ // Change this proxy's communicator, while keeping its invocation timeout
217
+ //
218
+ RemoteLoggerPrx changeCommunicator(const RemoteLoggerPrx& prx, const CommunicatorPtr& communicator)
263
219
  {
264
- return 0;
220
+ RemoteLoggerPrx result{communicator, prx->ice_toString()};
221
+ return result->ice_invocationTimeout(prx->ice_getInvocationTimeout());
265
222
  }
266
223
 
267
- RemoteLoggerPrxPtr result = ICE_UNCHECKED_CAST(RemoteLoggerPrx, communicator->stringToProxy(prx->ice_toString()));
268
-
269
- return result->ice_invocationTimeout(prx->ice_getInvocationTimeout());
270
- }
271
-
272
- //
273
- // Copies a set of properties
274
- //
275
- void
276
- copyProperties(const string& prefix, const PropertiesPtr& from, const PropertiesPtr& to)
277
- {
278
- PropertyDict dict = from->getPropertiesForPrefix(prefix);
279
- for(PropertyDict::const_iterator p = dict.begin(); p != dict.end(); ++p)
224
+ //
225
+ // Copies a set of properties
226
+ //
227
+ void copyProperties(const string& prefix, const PropertiesPtr& from, const PropertiesPtr& to)
280
228
  {
281
- to->setProperty(p->first, p->second);
229
+ PropertyDict dict = from->getPropertiesForPrefix(prefix);
230
+ for (const auto& p : dict)
231
+ {
232
+ to->setProperty(p.first, p.second);
233
+ }
282
234
  }
283
- }
284
235
 
285
- //
286
- // Create communicator used to send logs
287
- //
288
- CommunicatorPtr
289
- createSendLogCommunicator(const CommunicatorPtr& communicator, const LoggerPtr& logger)
290
- {
291
- InitializationData initData;
292
- initData.logger = logger;
293
- initData.properties = createProperties();
236
+ //
237
+ // Create communicator used to send logs
238
+ //
239
+ CommunicatorPtr createSendLogCommunicator(const CommunicatorPtr& communicator, const LoggerPtr& logger)
240
+ {
241
+ InitializationData initData;
242
+ initData.logger = logger;
243
+ initData.properties = createProperties();
294
244
 
295
- PropertiesPtr mainProps = communicator->getProperties();
245
+ PropertiesPtr mainProps = communicator->getProperties();
296
246
 
297
- copyProperties("Ice.Default.Locator", mainProps, initData.properties);
298
- copyProperties("Ice.Plugin.IceSSL", mainProps, initData.properties);
299
- copyProperties("IceSSL.", mainProps, initData.properties);
247
+ copyProperties("Ice.Default.Locator", mainProps, initData.properties);
248
+ copyProperties("IceSSL.", mainProps, initData.properties);
300
249
 
301
- StringSeq extraProps = mainProps->getPropertyAsList("Ice.Admin.Logger.Properties");
250
+ StringSeq extraProps = mainProps->getIcePropertyAsList("Ice.Admin.Logger.Properties");
302
251
 
303
- if(!extraProps.empty())
304
- {
305
- for(vector<string>::iterator p = extraProps.begin(); p != extraProps.end(); ++p)
252
+ if (!extraProps.empty())
306
253
  {
307
- if(p->find("--") != 0)
254
+ for (auto& extraProp : extraProps)
308
255
  {
309
- *p = "--" + *p;
256
+ if (extraProp.find("--") != 0)
257
+ {
258
+ extraProp = "--" + extraProp;
259
+ }
310
260
  }
261
+ initData.properties->parseCommandLineOptions("", extraProps);
311
262
  }
312
- initData.properties->parseCommandLineOptions("", extraProps);
313
- }
314
-
315
- return initialize(initData);
316
- }
317
263
 
318
- //
319
- // LoggerAdminI
320
- //
321
-
322
- LoggerAdminI::LoggerAdminI(const PropertiesPtr& props) :
323
- _logCount(0),
324
- _maxLogCount(props->getPropertyAsIntWithDefault("Ice.Admin.Logger.KeepLogs", 100)),
325
- _traceCount(0),
326
- _maxTraceCount(props->getPropertyAsIntWithDefault("Ice.Admin.Logger.KeepTraces", 100)),
327
- _traceLevel(props->getPropertyAsInt("Ice.Trace.Admin.Logger")),
328
- _destroyed(false)
329
- {
330
- _oldestLog = _queue.end();
331
- _oldestTrace = _queue.end();
332
- }
333
-
334
- void
335
- #ifdef ICE_CPP11_MAPPING
336
- LoggerAdminI::attachRemoteLogger(shared_ptr<RemoteLoggerPrx> prx,
337
- LogMessageTypeSeq messageTypes,
338
- StringSeq categories,
339
- Int messageMax,
340
- const Current& current)
341
- #else
342
- LoggerAdminI::attachRemoteLogger(const RemoteLoggerPrx& prx,
343
- const LogMessageTypeSeq& messageTypes,
344
- const StringSeq& categories,
345
- Int messageMax,
346
- const Current& current)
347
- #endif
348
- {
349
- if(!prx)
350
- {
351
- return; // can't send this null RemoteLogger anything!
264
+ return initialize(std::move(initData));
352
265
  }
353
266
 
354
267
  //
355
- // In C++, LoggerAdminI does not keep a "logger" data member to avoid a hard-to-break circular
356
- // reference, so we retrieve the logger from Current
268
+ // LoggerAdminI
357
269
  //
358
- LoggerAdminLoggerIPtr logger = ICE_DYNAMIC_CAST(LoggerAdminLoggerI, current.adapter->getCommunicator()->getLogger());
359
- assert(logger);
360
270
 
361
- RemoteLoggerPrxPtr remoteLogger = prx->ice_twoway();
271
+ LoggerAdminI::LoggerAdminI(const PropertiesPtr& props)
272
+ : _maxLogCount(props->getIcePropertyAsInt("Ice.Admin.Logger.KeepLogs")),
273
+ _maxTraceCount(props->getIcePropertyAsInt("Ice.Admin.Logger.KeepTraces")),
274
+ _traceLevel(props->getIcePropertyAsInt("Ice.Trace.Admin.Logger"))
362
275
 
363
- Filters filters(messageTypes, categories);
364
- LogMessageSeq initLogMessages;
365
276
  {
366
- IceUtil::Mutex::Lock lock(_mutex);
277
+ _oldestLog = _queue.end();
278
+ _oldestTrace = _queue.end();
279
+ }
367
280
 
368
- if(!_sendLogCommunicator)
281
+ void LoggerAdminI::attachRemoteLogger(
282
+ optional<RemoteLoggerPrx> prx,
283
+ LogMessageTypeSeq messageTypes,
284
+ StringSeq categories,
285
+ int32_t messageMax,
286
+ const Current& current)
287
+ {
288
+ if (!prx)
369
289
  {
370
- if(_destroyed)
371
- {
372
- throw Ice::ObjectNotExistException(__FILE__, __LINE__);
373
- }
374
-
375
- _sendLogCommunicator =
376
- createSendLogCommunicator(current.adapter->getCommunicator(), logger->getLocalLogger());
290
+ return; // can't send this null RemoteLogger anything!
377
291
  }
378
292
 
379
- if(!_remoteLoggerMap.insert(make_pair(changeCommunicator(remoteLogger, _sendLogCommunicator), filters)).second)
380
- {
381
- if(_traceLevel > 0)
382
- {
383
- Trace trace(logger, traceCategory);
384
- trace << "rejecting `" << remoteLogger << "' with RemoteLoggerAlreadyAttachedException";
385
- }
293
+ //
294
+ // In C++, LoggerAdminI does not keep a "logger" data member to avoid a hard-to-break circular
295
+ // reference, so we retrieve the logger from Current
296
+ //
297
+ LoggerAdminLoggerIPtr logger =
298
+ dynamic_pointer_cast<LoggerAdminLoggerI>(current.adapter->getCommunicator()->getLogger());
299
+ assert(logger);
386
300
 
387
- throw RemoteLoggerAlreadyAttachedException();
388
- }
301
+ RemoteLoggerPrx remoteLogger = prx->ice_twoway();
389
302
 
390
- if(messageMax != 0)
303
+ Filters filters(messageTypes, categories);
304
+ LogMessageSeq initLogMessages;
391
305
  {
392
- initLogMessages = _queue; // copy
393
- }
394
- }
306
+ lock_guard lock(_mutex);
395
307
 
396
- if(_traceLevel > 0)
397
- {
398
- Trace trace(logger, traceCategory);
399
- trace << "attached `" << remoteLogger << "'";
400
- }
308
+ if (!_sendLogCommunicator)
309
+ {
310
+ if (_destroyed)
311
+ {
312
+ throw Ice::ObjectNotExistException{__FILE__, __LINE__};
313
+ }
401
314
 
402
- if(!initLogMessages.empty())
403
- {
404
- filterLogMessages(initLogMessages, filters.messageTypes, filters.traceCategories, messageMax);
405
- }
315
+ _sendLogCommunicator =
316
+ createSendLogCommunicator(current.adapter->getCommunicator(), logger->getLocalLogger());
317
+ }
406
318
 
407
- #ifdef ICE_CPP11_MAPPING
408
- try
409
- {
410
- auto self = shared_from_this();
411
- remoteLogger->initAsync(logger->getPrefix(), initLogMessages,
412
- [self, logger, remoteLogger]()
319
+ if (!_remoteLoggerMap.insert(make_pair(changeCommunicator(remoteLogger, _sendLogCommunicator), filters))
320
+ .second)
413
321
  {
414
- if(self->_traceLevel > 1)
322
+ if (_traceLevel > 0)
415
323
  {
416
324
  Trace trace(logger, traceCategory);
417
- trace << "init on `" << remoteLogger << "' completed successfully";
325
+ trace << "rejecting '" << remoteLogger << "' with RemoteLoggerAlreadyAttachedException";
418
326
  }
419
- },
420
- [self, logger, remoteLogger](exception_ptr e)
327
+
328
+ throw RemoteLoggerAlreadyAttachedException();
329
+ }
330
+
331
+ if (messageMax != 0)
421
332
  {
422
- try
423
- {
424
- rethrow_exception(e);
425
- }
426
- catch(const Ice::LocalException& le)
427
- {
428
- self->deadRemoteLogger(remoteLogger, logger, le, "init");
429
- }
430
- });
431
- }
432
- catch(const LocalException& ex)
433
- {
434
- deadRemoteLogger(remoteLogger, logger, ex, "init");
435
- throw;
436
- }
437
- #else
438
- CallbackPtr initCompletedCb = newCallback(this, &LoggerAdminI::initCompleted);
439
- try
440
- {
441
- remoteLogger->begin_init(logger->getPrefix(), initLogMessages, initCompletedCb, logger);
442
- }
443
- catch(const LocalException& ex)
444
- {
445
- deadRemoteLogger(remoteLogger, logger, ex, "init");
446
- throw;
447
- }
448
- #endif
449
- }
333
+ initLogMessages = _queue; // copy
334
+ }
335
+ }
450
336
 
451
- bool
452
- #ifdef ICE_CPP11_MAPPING
453
- LoggerAdminI::detachRemoteLogger(shared_ptr<RemoteLoggerPrx> remoteLogger, const Current& current)
454
- #else
455
- LoggerAdminI::detachRemoteLogger(const RemoteLoggerPrx& remoteLogger, const Current& current)
456
- #endif
457
- {
458
- if(remoteLogger == 0)
459
- {
460
- return false;
461
- }
337
+ if (_traceLevel > 0)
338
+ {
339
+ Trace trace(logger, traceCategory);
340
+ trace << "attached '" << remoteLogger << "'";
341
+ }
462
342
 
463
- //
464
- // No need to convert the proxy as we only use its identity
465
- //
466
- bool found = removeRemoteLogger(remoteLogger);
343
+ if (!initLogMessages.empty())
344
+ {
345
+ filterLogMessages(initLogMessages, filters.messageTypes, filters.traceCategories, messageMax);
346
+ }
467
347
 
468
- if(_traceLevel > 0)
469
- {
470
- Trace trace(current.adapter->getCommunicator()->getLogger(), traceCategory);
471
- if(found)
348
+ try
472
349
  {
473
- trace << "detached `" << remoteLogger << "'";
350
+ auto self = shared_from_this();
351
+ remoteLogger->initAsync(
352
+ logger->getPrefix(),
353
+ initLogMessages,
354
+ [self, logger, remoteLogger]()
355
+ {
356
+ if (self->_traceLevel > 1)
357
+ {
358
+ Trace trace(logger, traceCategory);
359
+ trace << "init on '" << remoteLogger << "' completed successfully";
360
+ }
361
+ },
362
+ [self, logger, remoteLogger](exception_ptr e)
363
+ { self->deadRemoteLogger(remoteLogger, logger, e, "init"); });
474
364
  }
475
- else
365
+ catch (const LocalException&)
476
366
  {
477
- trace << "cannot detach `" << remoteLogger << "': not found";
367
+ deadRemoteLogger(remoteLogger, logger, current_exception(), "init");
368
+ throw;
478
369
  }
479
370
  }
480
371
 
481
- return found;
482
- }
483
-
484
- LogMessageSeq
485
- #ifdef ICE_CPP11_MAPPING
486
- LoggerAdminI::getLog(LogMessageTypeSeq messageTypes, StringSeq categories,
487
- Int messageMax, string& prefix, const Current& current)
488
- #else
489
- LoggerAdminI::getLog(const LogMessageTypeSeq& messageTypes, const StringSeq& categories,
490
- Int messageMax, string& prefix, const Current& current)
491
- #endif
492
- {
493
- LogMessageSeq logMessages;
372
+ bool LoggerAdminI::detachRemoteLogger(std::optional<RemoteLoggerPrx> remoteLogger, const Current& current)
494
373
  {
495
- IceUtil::Mutex::Lock lock(_mutex);
374
+ if (!remoteLogger)
375
+ {
376
+ return false;
377
+ }
496
378
 
497
- if(messageMax != 0)
379
+ //
380
+ // No need to convert the proxy as we only use its identity
381
+ //
382
+ bool found = removeRemoteLogger(remoteLogger.value());
383
+
384
+ if (_traceLevel > 0)
498
385
  {
499
- logMessages = _queue;
386
+ Trace trace(current.adapter->getCommunicator()->getLogger(), traceCategory);
387
+ if (found)
388
+ {
389
+ trace << "detached '" << remoteLogger.value() << "'";
390
+ }
391
+ else
392
+ {
393
+ trace << "cannot detach '" << remoteLogger.value() << "': not found";
394
+ }
500
395
  }
501
- }
502
396
 
503
- LoggerPtr logger = current.adapter->getCommunicator()->getLogger();
504
- prefix = logger->getPrefix();
397
+ return found;
398
+ }
505
399
 
506
- if(!logMessages.empty())
400
+ LogMessageSeq LoggerAdminI::getLog(
401
+ LogMessageTypeSeq messageTypes,
402
+ StringSeq categories,
403
+ int32_t messageMax,
404
+ string& prefix,
405
+ const Current& current)
507
406
  {
508
- Filters filters(messageTypes, categories);
509
- filterLogMessages(logMessages, filters.messageTypes, filters.traceCategories, messageMax);
510
- }
407
+ LogMessageSeq logMessages;
408
+ {
409
+ lock_guard lock(_mutex);
511
410
 
512
- return logMessages;
513
- }
411
+ if (messageMax != 0)
412
+ {
413
+ logMessages = _queue;
414
+ }
415
+ }
514
416
 
515
- void
516
- LoggerAdminI::destroy()
517
- {
518
- CommunicatorPtr sendLogCommunicator;
519
- {
520
- IceUtil::Mutex::Lock lock(_mutex);
521
- if(!_destroyed)
417
+ LoggerPtr logger = current.adapter->getCommunicator()->getLogger();
418
+ prefix = logger->getPrefix();
419
+
420
+ if (!logMessages.empty())
522
421
  {
523
- _destroyed = true;
524
- sendLogCommunicator = _sendLogCommunicator;
525
- _sendLogCommunicator = 0;
422
+ Filters filters(messageTypes, categories);
423
+ filterLogMessages(logMessages, filters.messageTypes, filters.traceCategories, messageMax);
526
424
  }
527
- }
528
425
 
529
- //
530
- // Destroy outside lock to avoid deadlock when there are outstanding two-way log calls sent to
531
- // remote loggers
532
- //
533
- if(sendLogCommunicator)
534
- {
535
- sendLogCommunicator->destroy();
426
+ return logMessages;
536
427
  }
537
- }
538
428
 
539
- vector<RemoteLoggerPrxPtr>
540
- LoggerAdminI::log(const LogMessage& logMessage)
541
- {
542
- vector<RemoteLoggerPrxPtr> remoteLoggers;
429
+ void LoggerAdminI::destroy()
430
+ {
431
+ CommunicatorPtr sendLogCommunicator;
432
+ {
433
+ lock_guard lock(_mutex);
434
+ if (!_destroyed)
435
+ {
436
+ _destroyed = true;
437
+ sendLogCommunicator = _sendLogCommunicator;
438
+ _sendLogCommunicator = nullptr;
439
+ }
440
+ }
543
441
 
544
- IceUtil::Mutex::Lock lock(_mutex);
442
+ //
443
+ // Destroy outside lock to avoid deadlock when there are outstanding two-way log calls sent to
444
+ // remote loggers
445
+ //
446
+ if (sendLogCommunicator)
447
+ {
448
+ sendLogCommunicator->destroy();
449
+ }
450
+ }
545
451
 
546
- //
547
- // Put message in _queue
548
- //
549
- if((logMessage.type != ICE_ENUM(LogMessageType, TraceMessage) && _maxLogCount > 0) ||
550
- (logMessage.type == ICE_ENUM(LogMessageType, TraceMessage) && _maxTraceCount > 0))
452
+ vector<RemoteLoggerPrx> LoggerAdminI::log(const LogMessage& logMessage)
551
453
  {
552
- list<LogMessage>::iterator p = _queue.insert(_queue.end(), logMessage);
454
+ vector<RemoteLoggerPrx> remoteLoggers;
553
455
 
554
- if(logMessage.type != ICE_ENUM(LogMessageType, TraceMessage))
456
+ lock_guard lock(_mutex);
457
+
458
+ //
459
+ // Put message in _queue
460
+ //
461
+ if ((logMessage.type != LogMessageType::TraceMessage && _maxLogCount > 0) ||
462
+ (logMessage.type == LogMessageType::TraceMessage && _maxTraceCount > 0))
555
463
  {
556
- assert(_maxLogCount > 0);
557
- if(_logCount == _maxLogCount)
464
+ auto p = _queue.insert(_queue.end(), logMessage);
465
+
466
+ if (logMessage.type != LogMessageType::TraceMessage)
558
467
  {
559
- //
560
- // Need to remove the oldest log from the queue
561
- //
562
- assert(_oldestLog != _queue.end());
563
- _oldestLog = _queue.erase(_oldestLog);
564
- while(_oldestLog != _queue.end() && _oldestLog->type == ICE_ENUM(LogMessageType, TraceMessage))
468
+ assert(_maxLogCount > 0);
469
+ if (_logCount == _maxLogCount)
470
+ {
471
+ //
472
+ // Need to remove the oldest log from the queue
473
+ //
474
+ assert(_oldestLog != _queue.end());
475
+ _oldestLog = _queue.erase(_oldestLog);
476
+ while (_oldestLog != _queue.end() && _oldestLog->type == LogMessageType::TraceMessage)
477
+ {
478
+ _oldestLog++;
479
+ }
480
+ assert(_oldestLog != _queue.end());
481
+ }
482
+ else
565
483
  {
566
- _oldestLog++;
484
+ assert(_logCount < _maxLogCount);
485
+ _logCount++;
486
+ if (_oldestLog == _queue.end())
487
+ {
488
+ _oldestLog = p;
489
+ }
567
490
  }
568
- assert(_oldestLog != _queue.end());
569
491
  }
570
492
  else
571
493
  {
572
- assert(_logCount < _maxLogCount);
573
- _logCount++;
574
- if(_oldestLog == _queue.end())
494
+ assert(_maxTraceCount > 0);
495
+ if (_traceCount == _maxTraceCount)
575
496
  {
576
- _oldestLog = p;
497
+ //
498
+ // Need to remove the oldest trace from the queue
499
+ //
500
+ assert(_oldestTrace != _queue.end());
501
+ _oldestTrace = _queue.erase(_oldestTrace);
502
+ while (_oldestTrace != _queue.end() && _oldestTrace->type != LogMessageType::TraceMessage)
503
+ {
504
+ _oldestTrace++;
505
+ }
506
+ assert(_oldestTrace != _queue.end());
577
507
  }
578
- }
579
- }
580
- else
581
- {
582
- assert(_maxTraceCount > 0);
583
- if(_traceCount == _maxTraceCount)
584
- {
585
- //
586
- // Need to remove the oldest trace from the queue
587
- //
588
- assert(_oldestTrace != _queue.end());
589
- _oldestTrace = _queue.erase(_oldestTrace);
590
- while(_oldestTrace != _queue.end() && _oldestTrace->type != ICE_ENUM(LogMessageType, TraceMessage))
508
+ else
591
509
  {
592
- _oldestTrace++;
510
+ assert(_traceCount < _maxTraceCount);
511
+ _traceCount++;
512
+ if (_oldestTrace == _queue.end())
513
+ {
514
+ _oldestTrace = p;
515
+ }
593
516
  }
594
- assert(_oldestTrace != _queue.end());
595
517
  }
596
- else
518
+
519
+ //
520
+ // Queue updated, now find which remote loggers want this message
521
+ //
522
+ for (const auto& q : _remoteLoggerMap)
597
523
  {
598
- assert(_traceCount < _maxTraceCount);
599
- _traceCount++;
600
- if(_oldestTrace == _queue.end())
524
+ const Filters& filters = q.second;
525
+
526
+ if (filters.messageTypes.empty() || filters.messageTypes.count(logMessage.type) != 0)
601
527
  {
602
- _oldestTrace = p;
528
+ if (logMessage.type != LogMessageType::TraceMessage || filters.traceCategories.empty() ||
529
+ filters.traceCategories.count(logMessage.traceCategory) != 0)
530
+ {
531
+ remoteLoggers.push_back(q.first);
532
+ }
603
533
  }
604
534
  }
605
535
  }
536
+ return remoteLoggers;
537
+ }
606
538
 
539
+ void LoggerAdminI::deadRemoteLogger(
540
+ const RemoteLoggerPrx& remoteLogger,
541
+ const LoggerPtr& logger,
542
+ std::exception_ptr ex,
543
+ string_view operation)
544
+ {
607
545
  //
608
- // Queue updated, now find which remote loggers want this message
546
+ // No need to convert remoteLogger as we only use its identity
609
547
  //
610
- for(RemoteLoggerMap::const_iterator q = _remoteLoggerMap.begin(); q != _remoteLoggerMap.end(); ++q)
548
+ if (removeRemoteLogger(remoteLogger))
611
549
  {
612
- const Filters& filters = q->second;
613
-
614
- if(filters.messageTypes.empty() || filters.messageTypes.count(logMessage.type) != 0)
550
+ if (_traceLevel > 0)
615
551
  {
616
- if(logMessage.type != ICE_ENUM(LogMessageType, TraceMessage) || filters.traceCategories.empty() ||
617
- filters.traceCategories.count(logMessage.traceCategory) != 0)
552
+ try
553
+ {
554
+ rethrow_exception(ex);
555
+ }
556
+ catch (const std::exception& e)
618
557
  {
619
- remoteLoggers.push_back(q->first);
558
+ Trace trace(logger, traceCategory);
559
+ trace << "detached '" << remoteLogger << "' because " << operation << " raised:\n" << e;
620
560
  }
621
561
  }
622
562
  }
623
563
  }
624
- return remoteLoggers;
625
- }
626
564
 
627
- void
628
- LoggerAdminI::deadRemoteLogger(const RemoteLoggerPrxPtr& remoteLogger,
629
- const LoggerPtr& logger,
630
- const LocalException& ex,
631
- const string& operation)
632
- {
633
- //
634
- // No need to convert remoteLogger as we only use its identity
635
- //
636
- if(removeRemoteLogger(remoteLogger))
565
+ bool LoggerAdminI::removeRemoteLogger(const RemoteLoggerPrx& remoteLogger)
637
566
  {
638
- if(_traceLevel > 0)
639
- {
640
- Trace trace(logger, traceCategory);
641
- trace << "detached `" << remoteLogger << "' because " << operation << " raised:\n" << ex;
642
- }
567
+ lock_guard lock(_mutex);
568
+ return _remoteLoggerMap.erase(remoteLogger) > 0;
643
569
  }
644
- }
645
570
 
646
- bool
647
- LoggerAdminI::removeRemoteLogger(const RemoteLoggerPrxPtr& remoteLogger)
648
- {
649
- IceUtil::Mutex::Lock lock(_mutex);
650
- return _remoteLoggerMap.erase(remoteLogger) > 0;
651
- }
571
+ //
572
+ // LoggerAdminLoggerI
573
+ //
652
574
 
653
- #ifndef ICE_CPP11_MAPPING
654
- //
655
- // begin_init callback method for C++98 mapping
656
- //
657
- void
658
- LoggerAdminI::initCompleted(const AsyncResultPtr& r)
659
- {
660
- RemoteLoggerPrxPtr remoteLogger = ICE_UNCHECKED_CAST(RemoteLoggerPrx, r->getProxy());
575
+ LoggerAdminLoggerI::LoggerAdminLoggerI(const PropertiesPtr& props, const LoggerPtr& localLogger)
576
+ : _localLogger(unwrapLocalLogger(localLogger)),
577
+ _loggerAdmin(new LoggerAdminI(props))
578
+ {
579
+ }
661
580
 
662
- try
581
+ void LoggerAdminLoggerI::print(const string& message)
663
582
  {
664
- remoteLogger->end_init(r);
583
+ _localLogger->print(message);
665
584
 
666
- if(_traceLevel > 1)
585
+ if (!_detached.load())
667
586
  {
668
- LoggerPtr logger = ICE_DYNAMIC_CAST(Logger, r->getCookie());
669
- Trace trace(logger, traceCategory);
670
- trace << r->getOperation() << " on `" << remoteLogger << "' completed successfully";
587
+ LogMessage logMessage = {
588
+ LogMessageType::PrintMessage,
589
+ chrono::duration_cast<chrono::microseconds>(chrono::system_clock::now().time_since_epoch()).count(),
590
+ "",
591
+ message};
592
+ log(logMessage);
671
593
  }
672
594
  }
673
- catch(const LocalException& ex)
674
- {
675
- deadRemoteLogger(remoteLogger, ICE_DYNAMIC_CAST(Logger, r->getCookie()), ex, r->getOperation());
676
- }
677
- }
678
- #endif
679
-
680
- //
681
- // LoggerAdminLoggerI
682
- //
683
595
 
684
- LoggerAdminLoggerI::LoggerAdminLoggerI(const PropertiesPtr& props,
685
- const LoggerPtr& localLogger) :
686
- _loggerAdmin(new LoggerAdminI(props)),
687
- _destroyed(false)
688
- {
689
- //
690
- // There is currently no way to have a null local logger
691
- //
692
- assert(localLogger != 0);
693
-
694
- LoggerAdminLoggerI* wrapper = dynamic_cast<LoggerAdminLoggerI*>(localLogger.get());
695
- if(wrapper)
696
- {
697
- // use the underlying local logger
698
- _localLogger = wrapper->getLocalLogger();
699
- }
700
- else
596
+ void LoggerAdminLoggerI::trace(const string& category, const string& message)
701
597
  {
702
- _localLogger = localLogger;
703
- }
704
- }
705
-
706
- void
707
- LoggerAdminLoggerI::print(const string& message)
708
- {
709
- LogMessage logMessage = { ICE_ENUM(LogMessageType, PrintMessage), IceUtil::Time::now().toMicroSeconds(), "", message };
710
-
711
- _localLogger->print(message);
712
- log(logMessage);
713
- }
714
-
715
- void
716
- LoggerAdminLoggerI::trace(const string& category, const string& message)
717
- {
718
- LogMessage logMessage = { ICE_ENUM(LogMessageType, TraceMessage), IceUtil::Time::now().toMicroSeconds(), category, message };
719
-
720
- _localLogger->trace(category, message);
721
- log(logMessage);
722
- }
723
-
724
- void
725
- LoggerAdminLoggerI::warning(const string& message)
726
- {
727
- LogMessage logMessage = { ICE_ENUM(LogMessageType, WarningMessage), IceUtil::Time::now().toMicroSeconds(), "", message };
598
+ _localLogger->trace(category, message);
728
599
 
729
- _localLogger->warning(message);
730
- log(logMessage);
731
- }
732
-
733
- void
734
- LoggerAdminLoggerI::error(const string& message)
735
- {
736
- LogMessage logMessage = { ICE_ENUM(LogMessageType, ErrorMessage), IceUtil::Time::now().toMicroSeconds(), "", message };
737
-
738
- _localLogger->error(message);
739
- log(logMessage);
740
- }
741
-
742
- string
743
- LoggerAdminLoggerI::getPrefix()
744
- {
745
- return _localLogger->getPrefix();
746
- }
747
-
748
- LoggerPtr
749
- LoggerAdminLoggerI::cloneWithPrefix(const string& prefix)
750
- {
751
- return _localLogger->cloneWithPrefix(prefix);
752
- }
753
-
754
- ObjectPtr
755
- LoggerAdminLoggerI::getFacet() const
756
- {
757
- return _loggerAdmin;
758
- }
759
-
760
- void
761
- LoggerAdminLoggerI::log(const LogMessage& logMessage)
762
- {
763
- const vector<RemoteLoggerPrxPtr> remoteLoggers = _loggerAdmin->log(logMessage);
600
+ if (!_detached.load())
601
+ {
602
+ LogMessage logMessage = {
603
+ LogMessageType::TraceMessage,
604
+ chrono::duration_cast<chrono::microseconds>(chrono::system_clock::now().time_since_epoch()).count(),
605
+ category,
606
+ message};
607
+ log(logMessage);
608
+ }
609
+ }
764
610
 
765
- if(!remoteLoggers.empty())
611
+ void LoggerAdminLoggerI::warning(const string& message)
766
612
  {
767
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
613
+ _localLogger->warning(message);
768
614
 
769
- if(!_sendLogThread)
615
+ if (!_detached.load())
770
616
  {
771
- _sendLogThread = new SendLogThread(ICE_SHARED_FROM_THIS);
772
- _sendLogThread->start();
617
+ LogMessage logMessage = {
618
+ LogMessageType::WarningMessage,
619
+ chrono::duration_cast<chrono::microseconds>(chrono::system_clock::now().time_since_epoch()).count(),
620
+ "",
621
+ message};
622
+ log(logMessage);
773
623
  }
774
-
775
- _jobQueue.push_back(new Job(remoteLoggers, logMessage));
776
- _monitor.notifyAll();
777
624
  }
778
- }
779
625
 
780
- void
781
- LoggerAdminLoggerI::destroy()
782
- {
783
- IceUtil::ThreadControl sendLogThreadControl;
784
- bool joinThread = false;
626
+ void LoggerAdminLoggerI::error(const string& message)
785
627
  {
786
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
628
+ _localLogger->error(message);
787
629
 
788
- if(_sendLogThread)
630
+ if (!_detached.load())
789
631
  {
790
- joinThread = true;
791
- sendLogThreadControl = _sendLogThread->getThreadControl();
792
- _sendLogThread = 0;
793
- _destroyed = true;
794
- _monitor.notifyAll();
632
+ LogMessage logMessage = {
633
+ LogMessageType::ErrorMessage,
634
+ chrono::duration_cast<chrono::microseconds>(chrono::system_clock::now().time_since_epoch()).count(),
635
+ "",
636
+ message};
637
+ log(logMessage);
795
638
  }
796
639
  }
797
640
 
798
- if(joinThread)
641
+ string LoggerAdminLoggerI::getPrefix() { return _localLogger->getPrefix(); }
642
+
643
+ LoggerPtr LoggerAdminLoggerI::cloneWithPrefix(string prefix)
799
644
  {
800
- sendLogThreadControl.join();
645
+ return _localLogger->cloneWithPrefix(std::move(prefix));
801
646
  }
802
647
 
803
- // destroy sendLogCommunicator
804
- _loggerAdmin->destroy();
805
- }
648
+ ObjectPtr LoggerAdminLoggerI::getFacet() const { return _loggerAdmin; }
806
649
 
807
- void
808
- LoggerAdminLoggerI::run()
809
- {
810
- if(_loggerAdmin->getTraceLevel() > 1)
650
+ void LoggerAdminLoggerI::log(const LogMessage& logMessage)
811
651
  {
812
- Trace trace(_localLogger, traceCategory);
813
- trace << "send log thread started";
814
- }
652
+ const vector<RemoteLoggerPrx> remoteLoggers = _loggerAdmin->log(logMessage);
653
+
654
+ if (!remoteLoggers.empty())
655
+ {
656
+ lock_guard lock(_mutex);
815
657
 
816
- #ifndef ICE_CPP11_MAPPING
817
- CallbackPtr logCompletedCb = newCallback(this, &LoggerAdminLoggerI::logCompleted);
818
- #endif
658
+ if (!_sendLogThread.joinable())
659
+ {
660
+ _sendLogThread = std::thread(&LoggerAdminLoggerI::run, this);
661
+ }
662
+
663
+ _jobQueue.push_back(make_shared<Job>(remoteLoggers, logMessage));
664
+ _conditionVariable.notify_all();
665
+ }
666
+ }
819
667
 
820
- for(;;)
668
+ void LoggerAdminLoggerI::detach()
821
669
  {
822
- IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor);
823
- while(!_destroyed && _jobQueue.empty())
670
+ std::thread sendLogThread;
824
671
  {
825
- _monitor.wait();
672
+ lock_guard lock(_mutex);
673
+
674
+ if (_sendLogThread.joinable())
675
+ {
676
+ sendLogThread = std::move(_sendLogThread);
677
+ _detached.store(true);
678
+ _conditionVariable.notify_all();
679
+ }
826
680
  }
827
- if(_destroyed)
681
+
682
+ if (sendLogThread.joinable())
828
683
  {
829
- break; // for(;;)
684
+ sendLogThread.join();
830
685
  }
831
686
 
832
- assert(!_jobQueue.empty());
833
- JobPtr job = _jobQueue.front();
834
- _jobQueue.pop_front();
835
- lock.release();
687
+ // destroy sendLogCommunicator
688
+ _loggerAdmin->destroy();
689
+ }
690
+
691
+ void LoggerAdminLoggerI::run()
692
+ {
693
+ if (_loggerAdmin->getTraceLevel() > 1)
694
+ {
695
+ Trace trace(_localLogger, traceCategory);
696
+ trace << "send log thread started";
697
+ }
836
698
 
837
- for(vector<RemoteLoggerPrxPtr>::const_iterator p = job->remoteLoggers.begin(); p != job->remoteLoggers.end(); ++p)
699
+ for (;;)
838
700
  {
839
- if(_loggerAdmin->getTraceLevel() > 1)
701
+ unique_lock lock(_mutex);
702
+ _conditionVariable.wait(lock, [this] { return _detached.load() || !_jobQueue.empty(); });
703
+
704
+ if (_detached.load())
840
705
  {
841
- Trace trace(_localLogger, traceCategory);
842
- trace << "sending log message to `" << *p << "'";
706
+ break;
843
707
  }
844
708
 
845
- try
709
+ assert(!_jobQueue.empty());
710
+ JobPtr job = _jobQueue.front();
711
+ _jobQueue.pop_front();
712
+ lock.unlock();
713
+
714
+ for (const auto& remoteLogger : job->remoteLoggers)
846
715
  {
847
- #ifdef ICE_CPP11_MAPPING
848
- RemoteLoggerPrxPtr remoteLogger = *p;
849
- auto self = shared_from_this();
850
- remoteLogger->logAsync(job->logMessage,
851
- [self, remoteLogger]()
852
- {
853
- if(self->_loggerAdmin->getTraceLevel() > 1)
854
- {
855
- Trace trace(self->_localLogger, traceCategory);
856
- trace << "log on `" << remoteLogger << "' completed successfully";
857
- }
858
- },
859
- [self, remoteLogger](exception_ptr e)
860
- {
861
- try
862
- {
863
- rethrow_exception(e);
864
- }
865
- catch(const CommunicatorDestroyedException&)
716
+ if (_loggerAdmin->getTraceLevel() > 1)
717
+ {
718
+ Trace trace(_localLogger, traceCategory);
719
+ trace << "sending log message to '" << remoteLogger << "'";
720
+ }
721
+
722
+ try
723
+ {
724
+ auto self = shared_from_this();
725
+ remoteLogger->logAsync(
726
+ job->logMessage,
727
+ [self, proxy = remoteLogger]()
866
728
  {
867
- // expected if there are outstanding calls during communicator destruction
868
- }
869
- catch(const LocalException& ex)
729
+ if (self->_loggerAdmin->getTraceLevel() > 1)
730
+ {
731
+ Trace trace(self->_localLogger, traceCategory);
732
+ trace << "log on '" << proxy << "' completed successfully";
733
+ }
734
+ },
735
+ [self, proxy = remoteLogger](exception_ptr e)
870
736
  {
871
- self->_loggerAdmin->deadRemoteLogger(remoteLogger, self->_localLogger, ex, "log");
872
- }
873
- });
874
- #else
875
- //
876
- // *p is a proxy associated with the _sendLogCommunicator
877
- //
878
- (*p)->begin_log(job->logMessage, logCompletedCb);
879
- #endif
880
- }
881
- catch(const LocalException& ex)
882
- {
883
- _loggerAdmin->deadRemoteLogger(*p, _localLogger, ex, "log");
737
+ try
738
+ {
739
+ rethrow_exception(e);
740
+ }
741
+ catch (const CommunicatorDestroyedException&)
742
+ {
743
+ // expected if there are outstanding calls during communicator destruction
744
+ }
745
+ catch (const LocalException&)
746
+ {
747
+ self->_loggerAdmin->deadRemoteLogger(proxy, self->_localLogger, e, "log");
748
+ }
749
+ });
750
+ }
751
+ catch (const LocalException&)
752
+ {
753
+ _loggerAdmin->deadRemoteLogger(remoteLogger, _localLogger, current_exception(), "log");
754
+ }
884
755
  }
885
756
  }
886
- }
887
757
 
888
- if(_loggerAdmin->getTraceLevel() > 1)
889
- {
890
- Trace trace(_localLogger, traceCategory);
891
- trace << "send log thread completed";
892
- }
893
- }
894
-
895
- #ifndef ICE_CPP11_MAPPING
896
- //
897
- // begin_log callback for C++98 mapping
898
- //
899
- void
900
- LoggerAdminLoggerI::logCompleted(const AsyncResultPtr& r)
901
- {
902
- RemoteLoggerPrxPtr remoteLogger = ICE_UNCHECKED_CAST(RemoteLoggerPrx, r->getProxy());
903
-
904
- try
905
- {
906
- remoteLogger->end_log(r);
907
-
908
- if(_loggerAdmin->getTraceLevel() > 1)
758
+ if (_loggerAdmin->getTraceLevel() > 1)
909
759
  {
910
760
  Trace trace(_localLogger, traceCategory);
911
- trace << r->getOperation() << " on `" << remoteLogger << "' completed successfully";
761
+ trace << "send log thread completed";
912
762
  }
913
763
  }
914
- catch(const CommunicatorDestroyedException&)
915
- {
916
- // expected if there are outstanding calls during communicator destruction
917
- }
918
- catch(const LocalException& ex)
919
- {
920
- _loggerAdmin->deadRemoteLogger(remoteLogger, _localLogger, ex, r->getOperation());
921
- }
922
- }
923
- #endif
924
-
925
- //
926
- // SendLogThread
927
- //
928
-
929
- SendLogThread::SendLogThread(const LoggerAdminLoggerIPtr& logger) :
930
- IceUtil::Thread("Ice.SendLogThread"),
931
- _logger(logger)
932
- {
933
764
  }
934
765
 
935
- void
936
- SendLogThread::run()
937
- {
938
- _logger->run();
939
- }
940
- }
941
-
942
- //
943
- // createLoggerAdminLogger
944
- //
945
-
946
766
  namespace IceInternal
947
767
  {
768
+ LoggerAdminLogger::~LoggerAdminLogger() = default; // avoid weak vtable
948
769
 
949
- LoggerAdminLoggerPtr
950
- createLoggerAdminLogger(const PropertiesPtr& props,
951
- const LoggerPtr& localLogger)
952
- {
953
- return ICE_MAKE_SHARED(LoggerAdminLoggerI, props, localLogger);
954
- }
955
-
770
+ LoggerAdminLoggerPtr createLoggerAdminLogger(const PropertiesPtr& props, const LoggerPtr& localLogger)
771
+ {
772
+ return make_shared<LoggerAdminLoggerI>(props, localLogger);
773
+ }
956
774
  }