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.
- checksums.yaml +4 -4
- data/dist/IceRuby/Communicator.cpp +159 -376
- data/dist/IceRuby/Communicator.h +8 -9
- data/dist/IceRuby/Config.h +23 -89
- data/dist/IceRuby/Connection.cpp +111 -219
- data/dist/IceRuby/Connection.h +8 -12
- data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
- data/dist/IceRuby/DefaultSliceLoader.h +25 -0
- data/dist/IceRuby/Endpoint.cpp +63 -65
- data/dist/IceRuby/Endpoint.h +7 -11
- data/dist/IceRuby/ImplicitContext.cpp +26 -31
- data/dist/IceRuby/ImplicitContext.h +6 -10
- data/dist/IceRuby/Init.cpp +27 -40
- data/dist/IceRuby/Logger.cpp +23 -28
- data/dist/IceRuby/Logger.h +8 -12
- data/dist/IceRuby/Operation.cpp +177 -219
- data/dist/IceRuby/Operation.h +15 -18
- data/dist/IceRuby/Properties.cpp +133 -89
- data/dist/IceRuby/Properties.h +6 -10
- data/dist/IceRuby/Proxy.cpp +179 -649
- data/dist/IceRuby/Proxy.h +11 -12
- data/dist/IceRuby/RubySliceLoader.cpp +39 -0
- data/dist/IceRuby/RubySliceLoader.h +27 -0
- data/dist/IceRuby/Slice.cpp +88 -94
- data/dist/IceRuby/Slice.h +3 -7
- data/dist/IceRuby/Types.cpp +987 -1190
- data/dist/IceRuby/Types.h +390 -461
- data/dist/IceRuby/Util.cpp +214 -473
- data/dist/IceRuby/Util.h +378 -479
- data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
- data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
- data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +4 -10
- data/dist/ice/cpp/include/Ice/Buffer.h +116 -111
- data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
- data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
- data/dist/ice/cpp/include/Ice/Config.h +46 -62
- data/dist/ice/cpp/include/Ice/Connection.h +410 -0
- data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
- data/dist/ice/cpp/include/Ice/ConnectionIF.h +6 -28
- data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
- data/dist/ice/cpp/include/Ice/Current.h +60 -0
- data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
- data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
- data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
- data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
- data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
- data/dist/ice/cpp/include/Ice/Exception.h +46 -151
- data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
- data/dist/ice/cpp/include/Ice/Format.h +11 -27
- data/dist/ice/cpp/include/Ice/Ice.h +53 -48
- data/dist/ice/cpp/include/Ice/IconvStringConverter.h +165 -326
- data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
- data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
- data/dist/ice/cpp/include/Ice/Initialize.h +113 -927
- data/dist/ice/cpp/include/Ice/InputStream.h +748 -1320
- data/dist/ice/cpp/include/Ice/InstanceF.h +4 -10
- data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
- data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
- data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
- data/dist/ice/cpp/include/Ice/Logger.h +62 -0
- data/dist/ice/cpp/include/Ice/LoggerUtil.h +124 -147
- data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
- data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +41 -71
- data/dist/ice/cpp/include/Ice/Object.h +151 -490
- data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
- data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
- data/dist/ice/cpp/include/Ice/ObjectF.h +5 -19
- data/dist/ice/cpp/include/Ice/ObserverHelper.h +115 -132
- data/dist/ice/cpp/include/Ice/OutgoingAsync.h +392 -748
- data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
- data/dist/ice/cpp/include/Ice/OutputStream.h +756 -956
- data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
- data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
- data/dist/ice/cpp/include/{IceUtil → Ice}/PopDisableWarnings.h +8 -6
- data/dist/ice/cpp/include/Ice/Properties.h +307 -0
- data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
- data/dist/ice/cpp/include/Ice/Proxy.h +665 -5094
- data/dist/ice/cpp/include/Ice/ProxyF.h +2 -44
- data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
- data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
- data/dist/ice/cpp/include/Ice/ReferenceF.h +4 -19
- data/dist/ice/cpp/include/Ice/RequestHandlerF.h +8 -18
- data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +276 -0
- data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
- data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
- data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
- data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
- data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
- data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +286 -0
- data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
- data/dist/ice/cpp/include/Ice/Service.h +182 -342
- data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
- data/dist/ice/cpp/include/Ice/SlicedData.h +113 -160
- data/dist/ice/cpp/include/Ice/SlicedDataF.h +17 -27
- data/dist/ice/cpp/include/Ice/StreamHelpers.h +532 -1070
- data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
- data/dist/ice/cpp/include/Ice/StringConverter.h +152 -63
- data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
- data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
- data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
- data/dist/ice/cpp/include/Ice/UUID.h +6 -9
- data/dist/ice/cpp/include/Ice/UserException.h +46 -0
- data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +4 -79
- data/dist/ice/cpp/include/Ice/Value.h +103 -115
- data/dist/ice/cpp/include/Ice/ValueF.h +6 -11
- data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +16 -1877
- data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -1185
- data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +46 -146
- data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
- data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +49 -93
- data/dist/ice/cpp/include/generated/Ice/Identity.h +70 -226
- data/dist/ice/cpp/include/generated/Ice/Locator.h +494 -3850
- data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
- data/dist/ice/cpp/include/generated/Ice/Metrics.h +937 -4603
- data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
- data/dist/ice/cpp/include/generated/Ice/Process.h +197 -929
- data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +249 -1301
- data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
- data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +637 -2620
- data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
- data/dist/ice/cpp/include/generated/Ice/Router.h +429 -1783
- data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +18 -65
- data/dist/ice/cpp/include/generated/Ice/Version.h +73 -318
- data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
- data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
- data/dist/ice/cpp/src/Ice/Acceptor.h +28 -24
- data/dist/ice/cpp/src/Ice/AcceptorF.h +6 -14
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
- data/dist/ice/cpp/src/Ice/ArgVector.cpp +17 -18
- data/dist/ice/cpp/src/Ice/ArgVector.h +19 -25
- data/dist/ice/cpp/src/Ice/Base64.cpp +66 -66
- data/dist/ice/cpp/src/Ice/Base64.h +14 -19
- data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +70 -121
- data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +37 -47
- data/dist/ice/cpp/src/Ice/Buffer.cpp +73 -41
- data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
- data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +215 -249
- data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +38 -60
- data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
- data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
- data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
- data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +63 -184
- data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +30 -51
- data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +4 -14
- data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
- data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +578 -792
- data/dist/ice/cpp/src/Ice/ConnectionFactory.h +200 -200
- data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +6 -19
- data/dist/ice/cpp/src/Ice/ConnectionI.cpp +1674 -1782
- data/dist/ice/cpp/src/Ice/ConnectionI.h +333 -293
- data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
- data/dist/ice/cpp/src/Ice/Connector.h +25 -19
- data/dist/ice/cpp/src/Ice/ConnectorF.h +4 -11
- data/dist/ice/cpp/src/{IceUtil → Ice}/ConsoleUtil.cpp +32 -53
- data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
- data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
- data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
- data/dist/ice/cpp/src/Ice/DLLMain.cpp +25 -35
- data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
- data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +41 -119
- data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +27 -41
- data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +4 -11
- data/dist/ice/cpp/src/Ice/Demangle.cpp +26 -0
- data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
- data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +44 -112
- data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
- data/dist/ice/cpp/src/Ice/Endian.h +40 -0
- data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +35 -59
- data/dist/ice/cpp/src/Ice/EndpointFactory.h +82 -103
- data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +4 -11
- data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +54 -87
- data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +28 -33
- data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +4 -11
- data/dist/ice/cpp/src/Ice/EndpointI.cpp +53 -23
- data/dist/ice/cpp/src/Ice/EndpointI.h +132 -200
- data/dist/ice/cpp/src/Ice/EndpointIF.h +11 -39
- data/dist/ice/cpp/src/Ice/EventHandler.cpp +3 -26
- data/dist/ice/cpp/src/Ice/EventHandler.h +46 -56
- data/dist/ice/cpp/src/Ice/EventHandlerF.h +4 -14
- data/dist/ice/cpp/src/Ice/Exception.cpp +3 -816
- data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
- data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
- data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
- data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
- data/dist/ice/cpp/src/Ice/HashUtil.h +46 -32
- data/dist/ice/cpp/src/Ice/HttpParser.cpp +431 -431
- data/dist/ice/cpp/src/Ice/HttpParser.h +95 -100
- data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +207 -324
- data/dist/ice/cpp/src/Ice/IPEndpointI.h +80 -126
- data/dist/ice/cpp/src/Ice/IPEndpointIF.h +6 -17
- data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
- data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
- data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
- data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
- data/dist/ice/cpp/src/Ice/Initialize.cpp +48 -542
- data/dist/ice/cpp/src/Ice/InputStream.cpp +848 -1385
- data/dist/ice/cpp/src/Ice/Instance.cpp +816 -827
- data/dist/ice/cpp/src/Ice/Instance.h +202 -212
- data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +526 -661
- data/dist/ice/cpp/src/Ice/InstrumentationI.h +171 -192
- data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
- data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
- data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +291 -329
- data/dist/ice/cpp/src/Ice/LocatorInfo.h +144 -157
- data/dist/ice/cpp/src/Ice/LocatorInfoF.h +8 -17
- data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +561 -743
- data/dist/ice/cpp/src/Ice/LoggerAdminI.h +18 -28
- data/dist/ice/cpp/src/Ice/LoggerI.cpp +66 -91
- data/dist/ice/cpp/src/Ice/LoggerI.h +36 -41
- data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
- data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
- data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +14 -38
- data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
- data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +194 -280
- data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
- data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
- data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
- data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
- data/dist/ice/cpp/src/Ice/Network.cpp +595 -917
- data/dist/ice/cpp/src/Ice/Network.h +189 -213
- data/dist/ice/cpp/src/Ice/NetworkF.h +2 -10
- data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +99 -104
- data/dist/ice/cpp/src/Ice/NetworkProxy.h +49 -54
- data/dist/ice/cpp/src/Ice/NetworkProxyF.h +4 -11
- data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +16 -18
- data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +22 -27
- data/dist/ice/cpp/src/Ice/Object.cpp +152 -338
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +170 -113
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +41 -41
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +4 -15
- data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +580 -727
- data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +149 -145
- data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +36 -17
- data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
- data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
- data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +147 -187
- data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +56 -64
- data/dist/ice/cpp/src/{IceUtil → Ice}/Options.cpp +187 -258
- data/dist/ice/cpp/src/Ice/Options.h +119 -0
- data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +516 -732
- data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
- data/dist/ice/cpp/src/Ice/OutputStream.cpp +610 -543
- data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
- data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
- data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +118 -277
- data/dist/ice/cpp/src/Ice/PluginManagerI.h +41 -48
- data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
- data/dist/ice/cpp/src/Ice/PropertyNames.cpp +519 -1341
- data/dist/ice/cpp/src/Ice/PropertyNames.h +49 -64
- data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
- data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
- data/dist/ice/cpp/src/Ice/Protocol.cpp +129 -94
- data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
- data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +117 -62
- data/dist/ice/cpp/src/Ice/ProtocolInstance.h +63 -82
- data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +4 -11
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +10 -32
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +25 -54
- data/dist/ice/cpp/src/Ice/Proxy.cpp +294 -1357
- data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
- data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
- data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
- data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
- data/dist/ice/cpp/src/Ice/Random.h +23 -0
- data/dist/ice/cpp/src/Ice/Reference.cpp +635 -1097
- data/dist/ice/cpp/src/Ice/Reference.h +314 -298
- data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +320 -378
- data/dist/ice/cpp/src/Ice/ReferenceFactory.h +48 -66
- data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +4 -9
- data/dist/ice/cpp/src/Ice/RequestHandler.cpp +15 -24
- data/dist/ice/cpp/src/Ice/RequestHandler.h +43 -68
- data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
- data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
- data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
- data/dist/ice/cpp/src/Ice/RetryQueue.cpp +51 -57
- data/dist/ice/cpp/src/Ice/RetryQueue.h +39 -46
- data/dist/ice/cpp/src/Ice/RetryQueueF.h +4 -9
- data/dist/ice/cpp/src/Ice/RouterInfo.cpp +97 -201
- data/dist/ice/cpp/src/Ice/RouterInfo.h +61 -118
- data/dist/ice/cpp/src/Ice/RouterInfoF.h +6 -14
- data/dist/ice/cpp/src/Ice/SHA1.cpp +86 -60
- data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
- data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
- data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +521 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +646 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
- data/dist/ice/cpp/src/{IceSSL → Ice/SSL}/RFC2253.cpp +85 -88
- data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +69 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +673 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +118 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1449 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1088 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +825 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1048 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +233 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
- data/dist/ice/cpp/src/Ice/Selector.cpp +341 -606
- data/dist/ice/cpp/src/Ice/Selector.h +167 -224
- data/dist/ice/cpp/src/Ice/ServantManager.cpp +195 -128
- data/dist/ice/cpp/src/Ice/ServantManager.h +52 -55
- data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/Service.cpp +548 -641
- data/dist/ice/cpp/src/Ice/SharedContext.h +13 -26
- data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
- data/dist/ice/cpp/src/Ice/SlicedData.cpp +17 -96
- data/dist/ice/cpp/src/Ice/StreamSocket.cpp +104 -151
- data/dist/ice/cpp/src/Ice/StreamSocket.h +48 -60
- data/dist/ice/cpp/src/Ice/StringConverter.cpp +586 -0
- data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
- data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +41 -47
- data/dist/ice/cpp/src/Ice/SysLoggerI.h +24 -27
- data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +16 -17
- data/dist/ice/cpp/src/Ice/SystemdJournalI.h +19 -25
- data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
- data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +67 -88
- data/dist/ice/cpp/src/Ice/TcpAcceptor.h +34 -40
- data/dist/ice/cpp/src/Ice/TcpConnector.cpp +42 -41
- data/dist/ice/cpp/src/Ice/TcpConnector.h +26 -35
- data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +172 -146
- data/dist/ice/cpp/src/Ice/TcpEndpointI.h +76 -80
- data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +38 -26
- data/dist/ice/cpp/src/Ice/TcpTransceiver.h +40 -45
- data/dist/ice/cpp/src/Ice/ThreadPool.cpp +333 -515
- data/dist/ice/cpp/src/Ice/ThreadPool.h +202 -290
- data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
- data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
- data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
- data/dist/ice/cpp/src/Ice/Timer.cpp +73 -167
- data/dist/ice/cpp/src/Ice/Timer.h +212 -0
- data/dist/ice/cpp/src/Ice/TraceLevels.cpp +11 -29
- data/dist/ice/cpp/src/Ice/TraceLevels.h +22 -28
- data/dist/ice/cpp/src/Ice/TraceLevelsF.h +4 -11
- data/dist/ice/cpp/src/Ice/TraceUtil.cpp +136 -215
- data/dist/ice/cpp/src/Ice/TraceUtil.h +27 -16
- data/dist/ice/cpp/src/Ice/Transceiver.cpp +3 -7
- data/dist/ice/cpp/src/Ice/Transceiver.h +35 -32
- data/dist/ice/cpp/src/Ice/TransceiverF.h +10 -20
- data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
- data/dist/ice/cpp/src/Ice/UdpConnector.cpp +39 -39
- data/dist/ice/cpp/src/Ice/UdpConnector.h +27 -36
- data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +178 -213
- data/dist/ice/cpp/src/Ice/UdpEndpointI.h +82 -85
- data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +201 -221
- data/dist/ice/cpp/src/Ice/UdpTransceiver.h +68 -74
- data/dist/ice/cpp/{include/IceUtil → src/Ice}/UndefSysMacros.h +12 -12
- data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
- data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
- data/dist/ice/cpp/src/Ice/Value.cpp +107 -38
- data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +10 -15
- data/dist/ice/cpp/src/Ice/WSAcceptor.h +31 -37
- data/dist/ice/cpp/src/Ice/WSConnector.cpp +25 -40
- data/dist/ice/cpp/src/Ice/WSConnector.h +26 -33
- data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +164 -217
- data/dist/ice/cpp/src/Ice/WSEndpoint.h +72 -83
- data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +469 -458
- data/dist/ice/cpp/src/Ice/WSTransceiver.h +117 -123
- data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +20 -29
- data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +20 -31
- data/dist/ice/cpp/src/Ice/generated/Identity.cpp +24 -34
- data/dist/ice/cpp/src/Ice/generated/Locator.cpp +454 -1744
- data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
- data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +824 -1971
- data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
- data/dist/ice/cpp/src/Ice/generated/Process.cpp +190 -331
- data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +289 -449
- data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +547 -867
- data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
- data/dist/ice/cpp/src/Ice/generated/Router.cpp +406 -723
- data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +19 -29
- data/dist/ice/cpp/src/Ice/generated/Version.cpp +28 -31
- data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +76 -139
- data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +55 -96
- data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +190 -303
- data/dist/ice/cpp/src/IceDiscovery/LookupI.h +126 -185
- data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +56 -77
- data/dist/ice/cpp/src/IceDiscovery/PluginI.h +20 -25
- data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
- data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +14 -37
- data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +411 -649
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
- data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
- data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
- data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
- data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
- data/dist/ice/cpp/src/Slice/FileTracker.cpp +25 -75
- data/dist/ice/cpp/src/Slice/FileTracker.h +35 -56
- data/dist/ice/cpp/src/Slice/Grammar.cpp +2711 -3382
- data/dist/ice/cpp/src/Slice/Grammar.h +95 -75
- data/dist/ice/cpp/src/Slice/GrammarUtil.h +117 -217
- data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +486 -0
- data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
- data/dist/ice/cpp/src/Slice/Parser.cpp +3068 -5223
- data/dist/ice/cpp/src/Slice/Parser.h +1086 -1065
- data/dist/ice/cpp/src/Slice/Preprocessor.cpp +97 -599
- data/dist/ice/cpp/src/Slice/Preprocessor.h +26 -42
- data/dist/ice/cpp/src/Slice/Scanner.cpp +1562 -924
- data/dist/ice/cpp/src/Slice/SliceUtil.cpp +517 -113
- data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +254 -269
- data/dist/ice/cpp/src/Slice/Util.h +126 -35
- data/dist/ice/cpp/src/slice2rb/Main.cpp +13 -15
- data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
- data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
- data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
- data/dist/ice/slice/Glacier2/Metrics.ice +34 -75
- data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +42 -98
- data/dist/ice/slice/Glacier2/Router.ice +80 -173
- data/dist/ice/slice/Glacier2/SSLInfo.ice +23 -40
- data/dist/ice/slice/Glacier2/Session.ice +120 -261
- data/dist/ice/slice/Ice/BuiltinSequences.ice +33 -38
- data/dist/ice/slice/Ice/Context.ice +24 -0
- data/dist/ice/slice/Ice/EndpointTypes.ice +35 -33
- data/dist/ice/slice/Ice/Identity.ice +24 -63
- data/dist/ice/slice/Ice/Locator.ice +61 -226
- data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
- data/dist/ice/slice/Ice/Metrics.ice +189 -424
- data/dist/ice/slice/Ice/OperationMode.ice +38 -0
- data/dist/ice/slice/Ice/Process.ice +16 -52
- data/dist/ice/slice/Ice/PropertiesAdmin.ice +25 -75
- data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
- data/dist/ice/slice/Ice/RemoteLogger.ice +113 -213
- data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
- data/dist/ice/slice/Ice/Router.ice +42 -91
- data/dist/ice/slice/Ice/SliceChecksumDict.ice +7 -25
- data/dist/ice/slice/Ice/Version.ice +31 -39
- data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
- data/dist/ice/slice/IceGrid/Admin.ice +942 -1918
- data/dist/ice/slice/IceGrid/Descriptor.ice +476 -1051
- data/dist/ice/slice/IceGrid/Exception.ice +86 -384
- data/dist/ice/slice/IceGrid/FileParser.ice +23 -59
- data/dist/ice/slice/IceGrid/Registry.ice +117 -256
- data/dist/ice/slice/IceGrid/Session.ice +46 -110
- data/dist/ice/slice/IceGrid/UserAccountMapper.ice +22 -57
- data/dist/ice/slice/IceStorm/IceStorm.ice +173 -401
- data/dist/ice/slice/IceStorm/Metrics.ice +28 -70
- data/dist/lib/Glacier2/Metrics.rb +16 -31
- data/dist/lib/Glacier2/PermissionsVerifier.rb +18 -50
- data/dist/lib/Glacier2/Router.rb +20 -42
- data/dist/lib/Glacier2/SSLInfo.rb +14 -22
- data/dist/lib/Glacier2/Session.rb +53 -113
- data/dist/lib/Glacier2.rb +6 -6
- data/dist/lib/Ice/BuiltinSequences.rb +14 -26
- data/dist/lib/Ice/CompressBatch.rb +50 -0
- data/dist/lib/Ice/Context.rb +12 -0
- data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
- data/dist/lib/Ice/EndpointTypes.rb +14 -55
- data/dist/lib/Ice/Exception.rb +20 -0
- data/dist/lib/Ice/Identity.rb +10 -26
- data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
- data/dist/lib/Ice/InitializationData.rb +12 -0
- data/dist/lib/Ice/LocalExceptions.rb +168 -0
- data/dist/lib/Ice/Locator.rb +21 -134
- data/dist/lib/Ice/LocatorRegistry.rb +73 -0
- data/dist/lib/Ice/Metrics.rb +85 -132
- data/dist/lib/Ice/OperationMode.rb +58 -0
- data/dist/lib/Ice/Process.rb +12 -31
- data/dist/lib/Ice/PropertiesAdmin.rb +12 -36
- data/dist/lib/Ice/PropertyDict.rb +12 -0
- data/dist/lib/Ice/Proxy.rb +85 -0
- data/dist/lib/Ice/ProxyFunctions.rb +69 -0
- data/dist/lib/Ice/RemoteLogger.rb +29 -60
- data/dist/lib/Ice/ReplyStatus.rb +65 -0
- data/dist/lib/Ice/Router.rb +19 -47
- data/dist/lib/Ice/SliceChecksumDict.rb +5 -17
- data/dist/lib/Ice/SliceUtil.rb +41 -0
- data/dist/lib/Ice/Struct.rb +11 -0
- data/dist/lib/Ice/ToStringMode.rb +50 -0
- data/dist/lib/Ice/Value.rb +93 -0
- data/dist/lib/Ice/Version.rb +12 -24
- data/dist/lib/Ice.rb +29 -665
- data/dist/lib/IceBox/ServiceManager.rb +104 -0
- data/dist/lib/IceBox.rb +2 -4
- data/dist/lib/IceGrid/Admin.rb +303 -291
- data/dist/lib/IceGrid/Descriptor.rb +147 -192
- data/dist/lib/IceGrid/Exception.rb +26 -257
- data/dist/lib/IceGrid/FileParser.rb +12 -36
- data/dist/lib/IceGrid/Registry.rb +35 -76
- data/dist/lib/IceGrid/Session.rb +19 -34
- data/dist/lib/IceGrid/UserAccountMapper.rb +11 -34
- data/dist/lib/IceGrid.rb +3 -3
- data/dist/lib/IceStorm/IceStorm.rb +51 -132
- data/dist/lib/IceStorm/Metrics.rb +19 -37
- data/dist/lib/IceStorm.rb +3 -5
- data/extconf.rb +6 -8
- data/ice.gemspec +3 -3
- data/scripts/slice2rb +1 -3
- metadata +206 -386
- data/dist/IceRuby/ValueFactoryManager.cpp +0 -445
- data/dist/IceRuby/ValueFactoryManager.h +0 -95
- data/dist/ice/cpp/include/Ice/Application.h +0 -326
- data/dist/ice/cpp/include/Ice/AsyncResult.h +0 -155
- data/dist/ice/cpp/include/Ice/AsyncResultF.h +0 -23
- data/dist/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
- data/dist/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
- data/dist/ice/cpp/include/Ice/Comparable.h +0 -205
- data/dist/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
- data/dist/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
- data/dist/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
- data/dist/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
- data/dist/ice/cpp/include/Ice/Dispatcher.h +0 -67
- data/dist/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
- data/dist/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
- data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
- data/dist/ice/cpp/include/Ice/FactoryTable.h +0 -73
- data/dist/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
- data/dist/ice/cpp/include/Ice/Functional.h +0 -140
- data/dist/ice/cpp/include/Ice/GCObject.h +0 -76
- data/dist/ice/cpp/include/Ice/Handle.h +0 -182
- data/dist/ice/cpp/include/Ice/Incoming.h +0 -225
- data/dist/ice/cpp/include/Ice/IncomingAsync.h +0 -186
- data/dist/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
- data/dist/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
- data/dist/ice/cpp/include/Ice/LocalObject.h +0 -35
- data/dist/ice/cpp/include/Ice/LocalObjectF.h +0 -21
- data/dist/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
- data/dist/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
- data/dist/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
- data/dist/ice/cpp/include/Ice/Optional.h +0 -1114
- data/dist/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
- data/dist/ice/cpp/include/Ice/Protocol.h +0 -274
- data/dist/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
- data/dist/ice/cpp/include/Ice/ProxyHandle.h +0 -318
- data/dist/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
- data/dist/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
- data/dist/ice/cpp/include/Ice/SHA1.h +0 -40
- data/dist/ice/cpp/include/Ice/ServantManagerF.h +0 -21
- data/dist/ice/cpp/include/Ice/SliceChecksums.h +0 -33
- data/dist/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
- data/dist/ice/cpp/include/Ice/UniquePtr.h +0 -95
- data/dist/ice/cpp/include/Ice/UniqueRef.h +0 -97
- data/dist/ice/cpp/include/IceSSL/Config.h +0 -21
- data/dist/ice/cpp/include/IceSSL/IceSSL.h +0 -24
- data/dist/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
- data/dist/ice/cpp/include/IceSSL/Plugin.h +0 -712
- data/dist/ice/cpp/include/IceSSL/SChannel.h +0 -72
- data/dist/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
- data/dist/ice/cpp/include/IceUtil/Atomic.h +0 -179
- data/dist/ice/cpp/include/IceUtil/Cond.h +0 -317
- data/dist/ice/cpp/include/IceUtil/Config.h +0 -392
- data/dist/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
- data/dist/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
- data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -96
- data/dist/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
- data/dist/ice/cpp/include/IceUtil/Exception.h +0 -394
- data/dist/ice/cpp/include/IceUtil/FileUtil.h +0 -140
- data/dist/ice/cpp/include/IceUtil/Functional.h +0 -389
- data/dist/ice/cpp/include/IceUtil/Handle.h +0 -261
- data/dist/ice/cpp/include/IceUtil/IceUtil.h +0 -40
- data/dist/ice/cpp/include/IceUtil/InputUtil.h +0 -42
- data/dist/ice/cpp/include/IceUtil/Iterator.h +0 -31
- data/dist/ice/cpp/include/IceUtil/Lock.h +0 -128
- data/dist/ice/cpp/include/IceUtil/Monitor.h +0 -243
- data/dist/ice/cpp/include/IceUtil/Mutex.h +0 -349
- data/dist/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
- data/dist/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
- data/dist/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
- data/dist/ice/cpp/include/IceUtil/Optional.h +0 -433
- data/dist/ice/cpp/include/IceUtil/Options.h +0 -135
- data/dist/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
- data/dist/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
- data/dist/ice/cpp/include/IceUtil/Random.h +0 -55
- data/dist/ice/cpp/include/IceUtil/RecMutex.h +0 -107
- data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
- data/dist/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
- data/dist/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
- data/dist/ice/cpp/include/IceUtil/Shared.h +0 -127
- data/dist/ice/cpp/include/IceUtil/StopWatch.h +0 -49
- data/dist/ice/cpp/include/IceUtil/StringConverter.h +0 -195
- data/dist/ice/cpp/include/IceUtil/StringUtil.h +0 -97
- data/dist/ice/cpp/include/IceUtil/Thread.h +0 -160
- data/dist/ice/cpp/include/IceUtil/ThreadException.h +0 -94
- data/dist/ice/cpp/include/IceUtil/Time.h +0 -205
- data/dist/ice/cpp/include/IceUtil/Timer.h +0 -153
- data/dist/ice/cpp/include/IceUtil/UUID.h +0 -21
- data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +0 -475
- data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +0 -1430
- data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +0 -147
- data/dist/ice/cpp/include/generated/Glacier2/Router.h +0 -3260
- data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +0 -125
- data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +0 -223
- data/dist/ice/cpp/include/generated/Glacier2/Session.h +0 -5894
- data/dist/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
- data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/Connection.h +0 -1703
- data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
- data/dist/ice/cpp/include/generated/Ice/Current.h +0 -322
- data/dist/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
- data/dist/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
- data/dist/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
- data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
- data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
- data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
- data/dist/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
- data/dist/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
- data/dist/ice/cpp/include/generated/Ice/Logger.h +0 -237
- data/dist/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
- data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
- data/dist/ice/cpp/include/generated/Ice/Plugin.h +0 -318
- data/dist/ice/cpp/include/generated/Ice/PluginF.h +0 -110
- data/dist/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
- data/dist/ice/cpp/include/generated/Ice/Properties.h +0 -452
- data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
- data/dist/ice/cpp/include/generated/Ice/RouterF.h +0 -125
- data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
- data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
- data/dist/ice/cpp/include/generated/IceBox/IceBox.h +0 -3269
- data/dist/ice/cpp/include/generated/IceGrid/Admin.h +0 -33773
- data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +0 -5254
- data/dist/ice/cpp/include/generated/IceGrid/Exception.h +0 -2834
- data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +0 -824
- data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +0 -635
- data/dist/ice/cpp/include/generated/IceGrid/Registry.h +0 -5089
- data/dist/ice/cpp/include/generated/IceGrid/Session.h +0 -2240
- data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +0 -800
- data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +0 -325
- data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +0 -2891
- data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
- data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
- data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
- data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +0 -6627
- data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +0 -665
- data/dist/ice/cpp/src/Ice/ACM.cpp +0 -380
- data/dist/ice/cpp/src/Ice/ACM.h +0 -119
- data/dist/ice/cpp/src/Ice/ACMF.h +0 -30
- data/dist/ice/cpp/src/Ice/Acceptor.cpp +0 -16
- data/dist/ice/cpp/src/Ice/Application.cpp +0 -661
- data/dist/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
- data/dist/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
- data/dist/ice/cpp/src/Ice/CommunicatorI.h +0 -167
- data/dist/ice/cpp/src/Ice/Cond.cpp +0 -381
- data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
- data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
- data/dist/ice/cpp/src/Ice/Connector.cpp +0 -16
- data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
- data/dist/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
- data/dist/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
- data/dist/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
- data/dist/ice/cpp/src/Ice/GCObject.cpp +0 -442
- data/dist/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
- data/dist/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
- data/dist/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
- data/dist/ice/cpp/src/Ice/Incoming.cpp +0 -795
- data/dist/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
- data/dist/ice/cpp/src/Ice/IncomingRequest.h +0 -33
- data/dist/ice/cpp/src/Ice/LocalObject.cpp +0 -23
- data/dist/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
- data/dist/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
- data/dist/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
- data/dist/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
- data/dist/ice/cpp/src/Ice/PropertiesI.h +0 -70
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
- data/dist/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
- data/dist/ice/cpp/src/Ice/ProxyFactory.h +0 -57
- data/dist/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
- data/dist/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
- data/dist/ice/cpp/src/Ice/ReplyStatus.h +0 -24
- data/dist/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
- data/dist/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
- data/dist/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
- data/dist/ice/cpp/src/Ice/ResponseHandler.h +0 -43
- data/dist/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
- data/dist/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
- data/dist/ice/cpp/src/Ice/StringUtil.h +0 -30
- data/dist/ice/cpp/src/Ice/Thread.cpp +0 -569
- data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
- data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
- data/dist/ice/cpp/src/Ice/VirtualShared.h +0 -38
- data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +0 -79
- data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Connection.cpp +0 -155
- data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Current.cpp +0 -62
- data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +0 -147
- data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +0 -49
- data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +0 -188
- data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +0 -66
- data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +0 -3262
- data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/Logger.cpp +0 -73
- data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +0 -79
- data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +0 -87
- data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/Properties.cpp +0 -78
- data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +0 -83
- data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +0 -154
- data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +0 -49
- data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +0 -146
- data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +0 -52
- data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +0 -477
- data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +0 -156
- data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +0 -570
- data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +0 -93
- data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +0 -1889
- data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +0 -915
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +0 -730
- data/dist/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
- data/dist/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
- data/dist/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
- data/dist/ice/cpp/src/IceSSL/CertificateI.h +0 -64
- data/dist/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
- data/dist/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
- data/dist/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
- data/dist/ice/cpp/src/IceSSL/EndpointI.h +0 -100
- data/dist/ice/cpp/src/IceSSL/Instance.cpp +0 -28
- data/dist/ice/cpp/src/IceSSL/Instance.h +0 -37
- data/dist/ice/cpp/src/IceSSL/InstanceF.h +0 -33
- data/dist/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
- data/dist/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
- data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
- data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
- data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
- data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
- data/dist/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
- data/dist/ice/cpp/src/IceSSL/PluginI.h +0 -67
- data/dist/ice/cpp/src/IceSSL/RFC2253.h +0 -62
- data/dist/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
- data/dist/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
- data/dist/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
- data/dist/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
- data/dist/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
- data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
- data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
- data/dist/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
- data/dist/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
- data/dist/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
- data/dist/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
- data/dist/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
- data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
- data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
- data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
- data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
- data/dist/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
- data/dist/ice/cpp/src/IceSSL/TrustManager.h +0 -46
- data/dist/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
- data/dist/ice/cpp/src/IceSSL/Util.cpp +0 -192
- data/dist/ice/cpp/src/IceSSL/Util.h +0 -99
- data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +0 -75
- data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +0 -61
- data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +0 -75
- data/dist/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
- data/dist/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
- data/dist/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
- data/dist/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
- data/dist/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
- data/dist/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
- data/dist/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
- data/dist/ice/cpp/src/IceUtil/Random.cpp +0 -180
- data/dist/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
- data/dist/ice/cpp/src/IceUtil/Shared.cpp +0 -71
- data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
- data/dist/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
- data/dist/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
- data/dist/ice/cpp/src/IceUtil/Time.cpp +0 -307
- data/dist/ice/cpp/src/IceUtil/UUID.cpp +0 -165
- data/dist/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
- data/dist/ice/cpp/src/IceUtil/Unicode.h +0 -43
- data/dist/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
- data/dist/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
- data/dist/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
- data/dist/ice/cpp/src/Slice/Checksum.cpp +0 -447
- data/dist/ice/cpp/src/Slice/Checksum.h +0 -21
- data/dist/ice/cpp/src/Slice/JavaUtil.cpp +0 -5183
- data/dist/ice/cpp/src/Slice/JavaUtil.h +0 -407
- data/dist/ice/cpp/src/Slice/MD5.cpp +0 -52
- data/dist/ice/cpp/src/Slice/MD5.h +0 -39
- data/dist/ice/cpp/src/Slice/MD5I.cpp +0 -393
- data/dist/ice/cpp/src/Slice/MD5I.h +0 -91
- data/dist/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
- data/dist/ice/cpp/src/Slice/PHPUtil.h +0 -36
- data/dist/ice/cpp/src/Slice/Python.cpp +0 -830
- data/dist/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
- data/dist/ice/cpp/src/Slice/PythonUtil.h +0 -70
- data/dist/ice/cpp/src/Slice/Ruby.cpp +0 -350
- data/dist/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
- data/dist/ice/cpp/src/Slice/RubyUtil.h +0 -49
- data/dist/ice/slice/Glacier2/PermissionsVerifierF.ice +0 -30
- data/dist/ice/slice/Glacier2/RouterF.ice +0 -29
- data/dist/ice/slice/Ice/Communicator.ice +0 -676
- data/dist/ice/slice/Ice/CommunicatorF.ice +0 -31
- data/dist/ice/slice/Ice/Connection.ice +0 -516
- data/dist/ice/slice/Ice/ConnectionF.ice +0 -33
- data/dist/ice/slice/Ice/Current.ice +0 -170
- data/dist/ice/slice/Ice/Endpoint.ice +0 -291
- data/dist/ice/slice/Ice/EndpointF.ice +0 -43
- data/dist/ice/slice/Ice/FacetMap.ice +0 -36
- data/dist/ice/slice/Ice/ImplicitContext.ice +0 -119
- data/dist/ice/slice/Ice/ImplicitContextF.ice +0 -30
- data/dist/ice/slice/Ice/Instrumentation.ice +0 -509
- data/dist/ice/slice/Ice/InstrumentationF.ice +0 -38
- data/dist/ice/slice/Ice/LocalException.ice +0 -1040
- data/dist/ice/slice/Ice/LocatorF.ice +0 -32
- data/dist/ice/slice/Ice/Logger.ice +0 -99
- data/dist/ice/slice/Ice/LoggerF.ice +0 -31
- data/dist/ice/slice/Ice/ObjectAdapter.ice +0 -710
- data/dist/ice/slice/Ice/ObjectAdapterF.ice +0 -31
- data/dist/ice/slice/Ice/ObjectFactory.ice +0 -71
- data/dist/ice/slice/Ice/Plugin.ice +0 -131
- data/dist/ice/slice/Ice/PluginF.ice +0 -36
- data/dist/ice/slice/Ice/ProcessF.ice +0 -31
- data/dist/ice/slice/Ice/Properties.ice +0 -244
- data/dist/ice/slice/Ice/PropertiesF.ice +0 -32
- data/dist/ice/slice/Ice/RouterF.ice +0 -31
- data/dist/ice/slice/Ice/ServantLocator.ice +0 -136
- data/dist/ice/slice/Ice/ServantLocatorF.ice +0 -31
- data/dist/ice/slice/Ice/ValueFactory.ice +0 -133
- data/dist/ice/slice/IceBox/IceBox.ice +0 -216
- data/dist/ice/slice/IceGrid/PluginFacade.ice +0 -329
- data/dist/ice/slice/IcePatch2/FileInfo.ice +0 -85
- data/dist/ice/slice/IcePatch2/FileServer.ice +0 -191
- data/dist/lib/Glacier2/PermissionsVerifierF.rb +0 -30
- data/dist/lib/Glacier2/RouterF.rb +0 -25
- data/dist/lib/Ice/Communicator.rb +0 -87
- data/dist/lib/Ice/CommunicatorF.rb +0 -24
- data/dist/lib/Ice/Connection.rb +0 -413
- data/dist/lib/Ice/ConnectionF.rb +0 -32
- data/dist/lib/Ice/Current.rb +0 -141
- data/dist/lib/Ice/Endpoint.rb +0 -187
- data/dist/lib/Ice/EndpointF.rb +0 -48
- data/dist/lib/Ice/FacetMap.rb +0 -24
- data/dist/lib/Ice/ImplicitContext.rb +0 -26
- data/dist/lib/Ice/ImplicitContextF.rb +0 -24
- data/dist/lib/Ice/Instrumentation.rb +0 -169
- data/dist/lib/Ice/InstrumentationF.rb +0 -31
- data/dist/lib/Ice/LocalException.rb +0 -1031
- data/dist/lib/Ice/LocatorF.rb +0 -30
- data/dist/lib/Ice/Logger.rb +0 -24
- data/dist/lib/Ice/LoggerF.rb +0 -24
- data/dist/lib/Ice/ObjectAdapter.rb +0 -29
- data/dist/lib/Ice/ObjectAdapterF.rb +0 -24
- data/dist/lib/Ice/ObjectFactory.rb +0 -24
- data/dist/lib/Ice/Plugin.rb +0 -30
- data/dist/lib/Ice/PluginF.rb +0 -28
- data/dist/lib/Ice/ProcessF.rb +0 -25
- data/dist/lib/Ice/Properties.rb +0 -25
- data/dist/lib/Ice/PropertiesF.rb +0 -29
- data/dist/lib/Ice/RouterF.rb +0 -25
- data/dist/lib/Ice/ServantLocator.rb +0 -26
- data/dist/lib/Ice/ServantLocatorF.rb +0 -24
- data/dist/lib/Ice/ValueFactory.rb +0 -28
- data/dist/lib/IceBox/IceBox.rb +0 -164
- data/dist/lib/IceGrid/PluginFacade.rb +0 -35
- data/dist/lib/IcePatch2/FileInfo.rb +0 -115
- data/dist/lib/IcePatch2/FileServer.rb +0 -123
- data/dist/lib/IcePatch2.rb +0 -5
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
#include
|
|
6
|
-
#include
|
|
7
|
-
#include
|
|
8
|
-
#include
|
|
9
|
-
#include
|
|
10
|
-
#include
|
|
11
|
-
#include
|
|
12
|
-
|
|
13
|
-
#include <
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
29
|
+
void
|
|
30
|
+
attachRemoteLogger(optional<RemoteLoggerPrx>, LogMessageTypeSeq, StringSeq, int32_t, const Current&) override;
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
virtual void attachRemoteLogger(shared_ptr<RemoteLoggerPrx>, LogMessageTypeSeq,
|
|
36
|
-
StringSeq, Int, const Current&);
|
|
32
|
+
bool detachRemoteLogger(optional<RemoteLoggerPrx>, const Current&) override;
|
|
37
33
|
|
|
38
|
-
|
|
34
|
+
LogMessageSeq getLog(LogMessageTypeSeq, StringSeq, int32_t, string&, const Current&) override;
|
|
39
35
|
|
|
40
|
-
|
|
41
|
-
#else
|
|
42
|
-
virtual void attachRemoteLogger(const RemoteLoggerPrx&, const LogMessageTypeSeq&,
|
|
43
|
-
const StringSeq&, Int, const Current&);
|
|
36
|
+
void destroy();
|
|
44
37
|
|
|
45
|
-
|
|
38
|
+
vector<RemoteLoggerPrx> log(const LogMessage&);
|
|
46
39
|
|
|
47
|
-
|
|
48
|
-
#endif
|
|
40
|
+
void deadRemoteLogger(const RemoteLoggerPrx&, const LoggerPtr&, exception_ptr, std::string_view);
|
|
49
41
|
|
|
50
|
-
|
|
42
|
+
[[nodiscard]] int getTraceLevel() const { return _traceLevel; }
|
|
51
43
|
|
|
52
|
-
|
|
44
|
+
private:
|
|
45
|
+
bool removeRemoteLogger(const RemoteLoggerPrx&);
|
|
53
46
|
|
|
54
|
-
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
return _traceLevel;
|
|
59
|
-
}
|
|
55
|
+
list<LogMessage>::iterator _oldestTrace;
|
|
56
|
+
list<LogMessage>::iterator _oldestLog;
|
|
60
57
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
78
|
-
list<LogMessage>::iterator _oldestLog;
|
|
78
|
+
using RemoteLoggerMap = map<RemoteLoggerPrx, Filters, ObjectIdentityCompare>;
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
{
|
|
82
|
-
bool operator()(const RemoteLoggerPrxPtr& lhs, const RemoteLoggerPrxPtr& rhs) const
|
|
80
|
+
struct GetRemoteLoggerMapKey
|
|
83
81
|
{
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
assert(lhs != 0 && rhs != 0);
|
|
82
|
+
RemoteLoggerMap::key_type operator()(const RemoteLoggerMap::value_type& val) { return val.first; }
|
|
83
|
+
};
|
|
88
84
|
|
|
89
|
-
|
|
90
|
-
|
|
85
|
+
RemoteLoggerMap _remoteLoggerMap;
|
|
86
|
+
CommunicatorPtr _sendLogCommunicator;
|
|
87
|
+
bool _destroyed{false};
|
|
91
88
|
};
|
|
89
|
+
using LoggerAdminIPtr = std::shared_ptr<LoggerAdminI>;
|
|
92
90
|
|
|
93
|
-
|
|
91
|
+
class Job
|
|
94
92
|
{
|
|
95
|
-
|
|
96
|
-
|
|
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
|
|
102
|
-
const
|
|
96
|
+
const vector<RemoteLoggerPrx> remoteLoggers;
|
|
97
|
+
const LogMessage logMessage;
|
|
103
98
|
};
|
|
99
|
+
using JobPtr = std::shared_ptr<Job>;
|
|
104
100
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
struct GetRemoteLoggerMapKey
|
|
101
|
+
class LoggerAdminLoggerI final : public IceInternal::LoggerAdminLogger,
|
|
102
|
+
public std::enable_shared_from_this<LoggerAdminLoggerI>
|
|
108
103
|
{
|
|
109
|
-
|
|
110
|
-
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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
|
-
|
|
127
|
-
|
|
128
|
-
logMessage(l)
|
|
129
|
-
{
|
|
130
|
-
}
|
|
114
|
+
[[nodiscard]] ObjectPtr getFacet() const override;
|
|
115
|
+
void detach() final;
|
|
131
116
|
|
|
132
|
-
|
|
133
|
-
const LogMessage logMessage;
|
|
134
|
-
};
|
|
135
|
-
typedef IceUtil::Handle<Job> JobPtr;
|
|
117
|
+
[[nodiscard]] const LoggerPtr& getLocalLogger() const { return _localLogger; }
|
|
136
118
|
|
|
137
|
-
|
|
138
|
-
#ifdef ICE_CPP11_MAPPING
|
|
139
|
-
, public std::enable_shared_from_this<LoggerAdminLoggerI>
|
|
140
|
-
#endif
|
|
119
|
+
void run();
|
|
141
120
|
|
|
142
|
-
|
|
143
|
-
|
|
121
|
+
private:
|
|
122
|
+
void log(const LogMessage&);
|
|
144
123
|
|
|
145
|
-
|
|
124
|
+
const LoggerPtr _localLogger;
|
|
125
|
+
const LoggerAdminIPtr _loggerAdmin;
|
|
146
126
|
|
|
147
|
-
|
|
148
|
-
|
|
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
|
-
|
|
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
|
-
|
|
136
|
+
//
|
|
137
|
+
// Helper functions
|
|
138
|
+
//
|
|
157
139
|
|
|
158
|
-
const LoggerPtr&
|
|
140
|
+
LoggerPtr unwrapLocalLogger(const LoggerPtr& localLogger)
|
|
159
141
|
{
|
|
160
|
-
|
|
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
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
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
|
|
211
|
-
// that match the other filters, if any.
|
|
158
|
+
// Filter out messages from in/out logMessages list
|
|
212
159
|
//
|
|
213
|
-
|
|
160
|
+
void filterLogMessages(
|
|
161
|
+
LogMessageSeq& logMessages,
|
|
162
|
+
const set<LogMessageType>& messageTypes,
|
|
163
|
+
const set<string>& traceCategories,
|
|
164
|
+
int32_t messageMax)
|
|
214
165
|
{
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
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
|
-
|
|
220
|
-
|
|
174
|
+
int count = 0;
|
|
175
|
+
auto p = logMessages.rbegin();
|
|
176
|
+
while (p != logMessages.rend())
|
|
221
177
|
{
|
|
222
|
-
|
|
223
|
-
|
|
178
|
+
bool keepIt = false;
|
|
179
|
+
if (messageTypes.empty() || messageTypes.count(p->type) != 0)
|
|
224
180
|
{
|
|
225
|
-
|
|
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
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
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";
|
|
205
|
+
// p.base() points to p "+1"; the erase invalidates p so we
|
|
206
|
+
// need to rebuild it
|
|
237
207
|
//
|
|
238
|
-
logMessages.erase(
|
|
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
|
-
|
|
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
|
-
|
|
220
|
+
RemoteLoggerPrx result{communicator, prx->ice_toString()};
|
|
221
|
+
return result->ice_invocationTimeout(prx->ice_getInvocationTimeout());
|
|
265
222
|
}
|
|
266
223
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
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
|
-
|
|
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
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
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
|
-
|
|
245
|
+
PropertiesPtr mainProps = communicator->getProperties();
|
|
296
246
|
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
copyProperties("IceSSL.", mainProps, initData.properties);
|
|
247
|
+
copyProperties("Ice.Default.Locator", mainProps, initData.properties);
|
|
248
|
+
copyProperties("IceSSL.", mainProps, initData.properties);
|
|
300
249
|
|
|
301
|
-
|
|
250
|
+
StringSeq extraProps = mainProps->getIcePropertyAsList("Ice.Admin.Logger.Properties");
|
|
302
251
|
|
|
303
|
-
|
|
304
|
-
{
|
|
305
|
-
for(vector<string>::iterator p = extraProps.begin(); p != extraProps.end(); ++p)
|
|
252
|
+
if (!extraProps.empty())
|
|
306
253
|
{
|
|
307
|
-
|
|
254
|
+
for (auto& extraProp : extraProps)
|
|
308
255
|
{
|
|
309
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
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
|
-
|
|
277
|
+
_oldestLog = _queue.end();
|
|
278
|
+
_oldestTrace = _queue.end();
|
|
279
|
+
}
|
|
367
280
|
|
|
368
|
-
|
|
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
|
-
|
|
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
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
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
|
-
|
|
388
|
-
}
|
|
301
|
+
RemoteLoggerPrx remoteLogger = prx->ice_twoway();
|
|
389
302
|
|
|
390
|
-
|
|
303
|
+
Filters filters(messageTypes, categories);
|
|
304
|
+
LogMessageSeq initLogMessages;
|
|
391
305
|
{
|
|
392
|
-
|
|
393
|
-
}
|
|
394
|
-
}
|
|
306
|
+
lock_guard lock(_mutex);
|
|
395
307
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
308
|
+
if (!_sendLogCommunicator)
|
|
309
|
+
{
|
|
310
|
+
if (_destroyed)
|
|
311
|
+
{
|
|
312
|
+
throw Ice::ObjectNotExistException{__FILE__, __LINE__};
|
|
313
|
+
}
|
|
401
314
|
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
}
|
|
315
|
+
_sendLogCommunicator =
|
|
316
|
+
createSendLogCommunicator(current.adapter->getCommunicator(), logger->getLocalLogger());
|
|
317
|
+
}
|
|
406
318
|
|
|
407
|
-
|
|
408
|
-
|
|
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(
|
|
322
|
+
if (_traceLevel > 0)
|
|
415
323
|
{
|
|
416
324
|
Trace trace(logger, traceCategory);
|
|
417
|
-
trace << "
|
|
325
|
+
trace << "rejecting '" << remoteLogger << "' with RemoteLoggerAlreadyAttachedException";
|
|
418
326
|
}
|
|
419
|
-
|
|
420
|
-
|
|
327
|
+
|
|
328
|
+
throw RemoteLoggerAlreadyAttachedException();
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
if (messageMax != 0)
|
|
421
332
|
{
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
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
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
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
|
-
|
|
465
|
-
|
|
466
|
-
|
|
343
|
+
if (!initLogMessages.empty())
|
|
344
|
+
{
|
|
345
|
+
filterLogMessages(initLogMessages, filters.messageTypes, filters.traceCategories, messageMax);
|
|
346
|
+
}
|
|
467
347
|
|
|
468
|
-
|
|
469
|
-
{
|
|
470
|
-
Trace trace(current.adapter->getCommunicator()->getLogger(), traceCategory);
|
|
471
|
-
if(found)
|
|
348
|
+
try
|
|
472
349
|
{
|
|
473
|
-
|
|
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
|
-
|
|
365
|
+
catch (const LocalException&)
|
|
476
366
|
{
|
|
477
|
-
|
|
367
|
+
deadRemoteLogger(remoteLogger, logger, current_exception(), "init");
|
|
368
|
+
throw;
|
|
478
369
|
}
|
|
479
370
|
}
|
|
480
371
|
|
|
481
|
-
|
|
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
|
-
|
|
374
|
+
if (!remoteLogger)
|
|
375
|
+
{
|
|
376
|
+
return false;
|
|
377
|
+
}
|
|
496
378
|
|
|
497
|
-
|
|
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
|
-
|
|
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
|
-
|
|
504
|
-
|
|
397
|
+
return found;
|
|
398
|
+
}
|
|
505
399
|
|
|
506
|
-
|
|
400
|
+
LogMessageSeq LoggerAdminI::getLog(
|
|
401
|
+
LogMessageTypeSeq messageTypes,
|
|
402
|
+
StringSeq categories,
|
|
403
|
+
int32_t messageMax,
|
|
404
|
+
string& prefix,
|
|
405
|
+
const Current& current)
|
|
507
406
|
{
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
407
|
+
LogMessageSeq logMessages;
|
|
408
|
+
{
|
|
409
|
+
lock_guard lock(_mutex);
|
|
511
410
|
|
|
512
|
-
|
|
513
|
-
|
|
411
|
+
if (messageMax != 0)
|
|
412
|
+
{
|
|
413
|
+
logMessages = _queue;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
514
416
|
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
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
|
-
|
|
524
|
-
|
|
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
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
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
|
-
|
|
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
|
-
|
|
454
|
+
vector<RemoteLoggerPrx> remoteLoggers;
|
|
553
455
|
|
|
554
|
-
|
|
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
|
-
|
|
557
|
-
|
|
464
|
+
auto p = _queue.insert(_queue.end(), logMessage);
|
|
465
|
+
|
|
466
|
+
if (logMessage.type != LogMessageType::TraceMessage)
|
|
558
467
|
{
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
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
|
-
|
|
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(
|
|
573
|
-
|
|
574
|
-
if(_oldestLog == _queue.end())
|
|
494
|
+
assert(_maxTraceCount > 0);
|
|
495
|
+
if (_traceCount == _maxTraceCount)
|
|
575
496
|
{
|
|
576
|
-
|
|
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
|
-
|
|
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
|
-
|
|
518
|
+
|
|
519
|
+
//
|
|
520
|
+
// Queue updated, now find which remote loggers want this message
|
|
521
|
+
//
|
|
522
|
+
for (const auto& q : _remoteLoggerMap)
|
|
597
523
|
{
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
if(
|
|
524
|
+
const Filters& filters = q.second;
|
|
525
|
+
|
|
526
|
+
if (filters.messageTypes.empty() || filters.messageTypes.count(logMessage.type) != 0)
|
|
601
527
|
{
|
|
602
|
-
|
|
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
|
-
//
|
|
546
|
+
// No need to convert remoteLogger as we only use its identity
|
|
609
547
|
//
|
|
610
|
-
|
|
548
|
+
if (removeRemoteLogger(remoteLogger))
|
|
611
549
|
{
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
if(filters.messageTypes.empty() || filters.messageTypes.count(logMessage.type) != 0)
|
|
550
|
+
if (_traceLevel > 0)
|
|
615
551
|
{
|
|
616
|
-
|
|
617
|
-
|
|
552
|
+
try
|
|
553
|
+
{
|
|
554
|
+
rethrow_exception(ex);
|
|
555
|
+
}
|
|
556
|
+
catch (const std::exception& e)
|
|
618
557
|
{
|
|
619
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
IceUtil::Mutex::Lock lock(_mutex);
|
|
650
|
-
return _remoteLoggerMap.erase(remoteLogger) > 0;
|
|
651
|
-
}
|
|
571
|
+
//
|
|
572
|
+
// LoggerAdminLoggerI
|
|
573
|
+
//
|
|
652
574
|
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
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
|
-
|
|
581
|
+
void LoggerAdminLoggerI::print(const string& message)
|
|
663
582
|
{
|
|
664
|
-
|
|
583
|
+
_localLogger->print(message);
|
|
665
584
|
|
|
666
|
-
if(
|
|
585
|
+
if (!_detached.load())
|
|
667
586
|
{
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
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::
|
|
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
|
|
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
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
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
|
-
|
|
611
|
+
void LoggerAdminLoggerI::warning(const string& message)
|
|
766
612
|
{
|
|
767
|
-
|
|
613
|
+
_localLogger->warning(message);
|
|
768
614
|
|
|
769
|
-
if(!
|
|
615
|
+
if (!_detached.load())
|
|
770
616
|
{
|
|
771
|
-
|
|
772
|
-
|
|
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
|
-
|
|
628
|
+
_localLogger->error(message);
|
|
787
629
|
|
|
788
|
-
if(
|
|
630
|
+
if (!_detached.load())
|
|
789
631
|
{
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
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
|
-
|
|
641
|
+
string LoggerAdminLoggerI::getPrefix() { return _localLogger->getPrefix(); }
|
|
642
|
+
|
|
643
|
+
LoggerPtr LoggerAdminLoggerI::cloneWithPrefix(string prefix)
|
|
799
644
|
{
|
|
800
|
-
|
|
645
|
+
return _localLogger->cloneWithPrefix(std::move(prefix));
|
|
801
646
|
}
|
|
802
647
|
|
|
803
|
-
|
|
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
|
-
|
|
813
|
-
|
|
814
|
-
|
|
652
|
+
const vector<RemoteLoggerPrx> remoteLoggers = _loggerAdmin->log(logMessage);
|
|
653
|
+
|
|
654
|
+
if (!remoteLoggers.empty())
|
|
655
|
+
{
|
|
656
|
+
lock_guard lock(_mutex);
|
|
815
657
|
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
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
|
-
|
|
668
|
+
void LoggerAdminLoggerI::detach()
|
|
821
669
|
{
|
|
822
|
-
|
|
823
|
-
while(!_destroyed && _jobQueue.empty())
|
|
670
|
+
std::thread sendLogThread;
|
|
824
671
|
{
|
|
825
|
-
|
|
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
|
-
|
|
681
|
+
|
|
682
|
+
if (sendLogThread.joinable())
|
|
828
683
|
{
|
|
829
|
-
|
|
684
|
+
sendLogThread.join();
|
|
830
685
|
}
|
|
831
686
|
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
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
|
|
699
|
+
for (;;)
|
|
838
700
|
{
|
|
839
|
-
|
|
701
|
+
unique_lock lock(_mutex);
|
|
702
|
+
_conditionVariable.wait(lock, [this] { return _detached.load() || !_jobQueue.empty(); });
|
|
703
|
+
|
|
704
|
+
if (_detached.load())
|
|
840
705
|
{
|
|
841
|
-
|
|
842
|
-
trace << "sending log message to `" << *p << "'";
|
|
706
|
+
break;
|
|
843
707
|
}
|
|
844
708
|
|
|
845
|
-
|
|
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
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
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
|
-
|
|
868
|
-
|
|
869
|
-
|
|
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
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
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
|
-
|
|
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 <<
|
|
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
|
-
|
|
951
|
-
|
|
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
|
}
|