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,41 +1,43 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
#include
|
|
6
|
-
#include
|
|
7
|
-
#include
|
|
8
|
-
#include
|
|
9
|
-
#include
|
|
10
|
-
#include
|
|
11
|
-
#include
|
|
12
|
-
#include
|
|
13
|
-
#include
|
|
14
|
-
#include
|
|
15
|
-
#include
|
|
16
|
-
#include
|
|
17
|
-
#include
|
|
18
|
-
#include
|
|
19
|
-
#include
|
|
20
|
-
#include
|
|
21
|
-
#include
|
|
22
|
-
#include
|
|
23
|
-
#include
|
|
24
|
-
#include
|
|
25
|
-
#include
|
|
26
|
-
#include
|
|
27
|
-
#include
|
|
28
|
-
#include
|
|
29
|
-
#include
|
|
30
|
-
#include
|
|
1
|
+
// Copyright (c) ZeroC, Inc.
|
|
2
|
+
|
|
3
|
+
#include "ObjectAdapterI.h"
|
|
4
|
+
#include "CheckIdentity.h"
|
|
5
|
+
#include "ConnectionFactory.h"
|
|
6
|
+
#include "ConsoleUtil.h"
|
|
7
|
+
#include "DefaultsAndOverrides.h"
|
|
8
|
+
#include "EndpointFactoryManager.h"
|
|
9
|
+
#include "EndpointI.h"
|
|
10
|
+
#include "Ice/Communicator.h"
|
|
11
|
+
#include "Ice/LocalExceptions.h"
|
|
12
|
+
#include "Ice/Locator.h"
|
|
13
|
+
#include "Ice/LoggerUtil.h"
|
|
14
|
+
#include "Ice/Properties.h"
|
|
15
|
+
#include "Ice/Proxy.h"
|
|
16
|
+
#include "Ice/ProxyFunctions.h"
|
|
17
|
+
#include "Ice/Router.h"
|
|
18
|
+
#include "Ice/UUID.h"
|
|
19
|
+
#include "Instance.h"
|
|
20
|
+
#include "LocatorInfo.h"
|
|
21
|
+
#include "LoggerMiddleware.h"
|
|
22
|
+
#include "ObjectAdapterFactory.h"
|
|
23
|
+
#include "ObserverMiddleware.h"
|
|
24
|
+
#include "PropertyNames.h"
|
|
25
|
+
#include "PropertyUtil.h"
|
|
26
|
+
#include "ReferenceFactory.h"
|
|
27
|
+
#include "RouterInfo.h"
|
|
28
|
+
#include "ServantManager.h"
|
|
29
|
+
#include "ThreadPool.h"
|
|
30
|
+
#include "TraceLevels.h"
|
|
31
31
|
|
|
32
32
|
#ifdef _WIN32
|
|
33
|
-
#
|
|
33
|
+
# include <sys/timeb.h>
|
|
34
34
|
#else
|
|
35
|
-
#
|
|
35
|
+
# include <sys/time.h>
|
|
36
36
|
#endif
|
|
37
37
|
|
|
38
|
+
#include <algorithm>
|
|
38
39
|
#include <iterator>
|
|
40
|
+
#include <stdexcept>
|
|
39
41
|
|
|
40
42
|
using namespace std;
|
|
41
43
|
using namespace Ice;
|
|
@@ -43,40 +45,21 @@ using namespace IceInternal;
|
|
|
43
45
|
|
|
44
46
|
namespace
|
|
45
47
|
{
|
|
46
|
-
inline
|
|
47
|
-
{
|
|
48
|
-
if(ident.name.empty())
|
|
49
|
-
{
|
|
50
|
-
throw IllegalIdentityException(__FILE__, __LINE__, ident);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
48
|
+
inline EndpointIPtr toEndpointI(const EndpointPtr& endp) { return dynamic_pointer_cast<EndpointI>(endp); }
|
|
53
49
|
|
|
54
|
-
|
|
55
|
-
{
|
|
56
|
-
if(!servant)
|
|
57
|
-
{
|
|
58
|
-
throw IllegalServantException(__FILE__, __LINE__, "cannot add null servant to Object Adapter");
|
|
59
|
-
}
|
|
50
|
+
string emptyName{};
|
|
60
51
|
}
|
|
61
52
|
|
|
62
|
-
|
|
63
|
-
{
|
|
64
|
-
return ICE_DYNAMIC_CAST(EndpointI, endp);
|
|
65
|
-
}
|
|
53
|
+
Ice::ObjectAdapter::~ObjectAdapter() = default; // avoid weak vtable
|
|
66
54
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
string
|
|
70
|
-
Ice::ObjectAdapterI::getName() const ICE_NOEXCEPT
|
|
55
|
+
const string&
|
|
56
|
+
Ice::ObjectAdapterI::getName() const noexcept
|
|
71
57
|
{
|
|
72
|
-
|
|
73
|
-
// No mutex lock necessary, _name is immutable.
|
|
74
|
-
//
|
|
75
|
-
return _noConfig ? string("") : _name;
|
|
58
|
+
return _noConfig ? emptyName : _name;
|
|
76
59
|
}
|
|
77
60
|
|
|
78
61
|
CommunicatorPtr
|
|
79
|
-
Ice::ObjectAdapterI::getCommunicator() const
|
|
62
|
+
Ice::ObjectAdapterI::getCommunicator() const noexcept
|
|
80
63
|
{
|
|
81
64
|
return _communicator;
|
|
82
65
|
}
|
|
@@ -86,9 +69,10 @@ Ice::ObjectAdapterI::activate()
|
|
|
86
69
|
{
|
|
87
70
|
LocatorInfoPtr locatorInfo;
|
|
88
71
|
bool printAdapterReady = false;
|
|
72
|
+
bool hasPublishedEndpoints = false;
|
|
89
73
|
|
|
90
74
|
{
|
|
91
|
-
|
|
75
|
+
lock_guard lock(_mutex);
|
|
92
76
|
|
|
93
77
|
checkForDeactivation();
|
|
94
78
|
|
|
@@ -96,18 +80,15 @@ Ice::ObjectAdapterI::activate()
|
|
|
96
80
|
// If we've previously been initialized we just need to activate the
|
|
97
81
|
// incoming connection factories and we're done.
|
|
98
82
|
//
|
|
99
|
-
if(_state != StateUninitialized)
|
|
83
|
+
if (_state != StateUninitialized)
|
|
100
84
|
{
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
{
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
109
|
-
Ice::voidMemFun(&IncomingConnectionFactory::activate));
|
|
110
|
-
#endif
|
|
85
|
+
for_each(
|
|
86
|
+
_incomingConnectionFactories.begin(),
|
|
87
|
+
_incomingConnectionFactories.end(),
|
|
88
|
+
[](const IncomingConnectionFactoryPtr& factory) { factory->activate(); });
|
|
89
|
+
|
|
90
|
+
_state = StateActive;
|
|
91
|
+
_conditionVariable.notify_all();
|
|
111
92
|
return;
|
|
112
93
|
}
|
|
113
94
|
|
|
@@ -121,77 +102,65 @@ Ice::ObjectAdapterI::activate()
|
|
|
121
102
|
_state = StateActivating;
|
|
122
103
|
|
|
123
104
|
locatorInfo = _locatorInfo;
|
|
124
|
-
if(!_noConfig)
|
|
105
|
+
if (!_noConfig)
|
|
125
106
|
{
|
|
126
107
|
PropertiesPtr properties = _instance->initializationData().properties;
|
|
127
|
-
printAdapterReady = properties->
|
|
108
|
+
printAdapterReady = properties->getIcePropertyAsInt("Ice.PrintAdapterReady") > 0;
|
|
128
109
|
}
|
|
110
|
+
hasPublishedEndpoints = !_publishedEndpoints.empty();
|
|
129
111
|
}
|
|
130
112
|
|
|
131
|
-
|
|
132
|
-
{
|
|
133
|
-
Ice::Identity dummy;
|
|
134
|
-
dummy.name = "dummy";
|
|
135
|
-
updateLocatorRegistry(locatorInfo, createDirectProxy(dummy));
|
|
136
|
-
}
|
|
137
|
-
catch(const Ice::LocalException&)
|
|
113
|
+
if (hasPublishedEndpoints)
|
|
138
114
|
{
|
|
139
|
-
|
|
140
|
-
// If we couldn't update the locator registry, we let the
|
|
141
|
-
// exception go through and don't activate the adapter to
|
|
142
|
-
// allow to user code to retry activating the adapter
|
|
143
|
-
// later.
|
|
144
|
-
//
|
|
115
|
+
try
|
|
145
116
|
{
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
117
|
+
updateLocatorRegistry(locatorInfo, createDirectProxy(Identity{.name = "dummy", .category = ""}));
|
|
118
|
+
}
|
|
119
|
+
catch (const Ice::LocalException&)
|
|
120
|
+
{
|
|
121
|
+
//
|
|
122
|
+
// If we couldn't update the locator registry, we let the
|
|
123
|
+
// exception go through and don't activate the adapter to
|
|
124
|
+
// allow to user code to retry activating the adapter
|
|
125
|
+
// later.
|
|
126
|
+
//
|
|
127
|
+
{
|
|
128
|
+
lock_guard lock(_mutex);
|
|
129
|
+
_state = StateUninitialized;
|
|
130
|
+
_conditionVariable.notify_all();
|
|
131
|
+
}
|
|
132
|
+
throw;
|
|
149
133
|
}
|
|
150
|
-
throw;
|
|
151
134
|
}
|
|
152
135
|
|
|
153
|
-
if(printAdapterReady)
|
|
136
|
+
if (printAdapterReady)
|
|
154
137
|
{
|
|
155
138
|
consoleOut << _name << " ready" << endl;
|
|
156
139
|
}
|
|
157
140
|
|
|
158
141
|
{
|
|
159
|
-
|
|
142
|
+
lock_guard lock(_mutex);
|
|
160
143
|
assert(_state == StateActivating);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
{
|
|
166
|
-
factory->activate();
|
|
167
|
-
});
|
|
168
|
-
#else
|
|
169
|
-
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
170
|
-
Ice::voidMemFun(&IncomingConnectionFactory::activate));
|
|
171
|
-
#endif
|
|
144
|
+
for_each(
|
|
145
|
+
_incomingConnectionFactories.begin(),
|
|
146
|
+
_incomingConnectionFactories.end(),
|
|
147
|
+
[](const IncomingConnectionFactoryPtr& factory) { factory->activate(); });
|
|
172
148
|
_state = StateActive;
|
|
173
|
-
|
|
149
|
+
_conditionVariable.notify_all();
|
|
174
150
|
}
|
|
175
151
|
}
|
|
176
152
|
|
|
177
153
|
void
|
|
178
154
|
Ice::ObjectAdapterI::hold()
|
|
179
155
|
{
|
|
180
|
-
|
|
156
|
+
lock_guard lock(_mutex);
|
|
181
157
|
|
|
182
158
|
checkForDeactivation();
|
|
183
159
|
_state = StateHeld;
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
[](const IncomingConnectionFactoryPtr& factory)
|
|
188
|
-
{
|
|
189
|
-
factory->hold();
|
|
190
|
-
});
|
|
191
|
-
#else
|
|
192
|
-
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
193
|
-
Ice::voidMemFun(&IncomingConnectionFactory::hold));
|
|
194
|
-
#endif
|
|
160
|
+
for_each(
|
|
161
|
+
_incomingConnectionFactories.begin(),
|
|
162
|
+
_incomingConnectionFactories.end(),
|
|
163
|
+
[](const IncomingConnectionFactoryPtr& factory) { factory->hold(); });
|
|
195
164
|
}
|
|
196
165
|
|
|
197
166
|
void
|
|
@@ -199,155 +168,115 @@ Ice::ObjectAdapterI::waitForHold()
|
|
|
199
168
|
{
|
|
200
169
|
vector<IncomingConnectionFactoryPtr> incomingConnectionFactories;
|
|
201
170
|
{
|
|
202
|
-
|
|
171
|
+
lock_guard lock(_mutex);
|
|
203
172
|
|
|
204
173
|
checkForDeactivation();
|
|
205
174
|
|
|
206
175
|
incomingConnectionFactories = _incomingConnectionFactories;
|
|
207
176
|
}
|
|
208
177
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
{
|
|
213
|
-
factory->waitUntilHolding();
|
|
214
|
-
});
|
|
215
|
-
#else
|
|
216
|
-
for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(),
|
|
217
|
-
Ice::constVoidMemFun(&IncomingConnectionFactory::waitUntilHolding));
|
|
218
|
-
#endif
|
|
178
|
+
for_each(
|
|
179
|
+
incomingConnectionFactories.begin(),
|
|
180
|
+
incomingConnectionFactories.end(),
|
|
181
|
+
[](const IncomingConnectionFactoryPtr& factory) { factory->waitUntilHolding(); });
|
|
219
182
|
}
|
|
220
183
|
|
|
221
184
|
void
|
|
222
|
-
Ice::ObjectAdapterI::deactivate()
|
|
185
|
+
Ice::ObjectAdapterI::deactivate() noexcept
|
|
223
186
|
{
|
|
187
|
+
bool hasPublishedEndpoints = false;
|
|
224
188
|
{
|
|
225
|
-
|
|
189
|
+
unique_lock lock(_mutex);
|
|
226
190
|
|
|
227
|
-
//
|
|
228
|
-
//
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
{
|
|
233
|
-
wait();
|
|
234
|
-
}
|
|
235
|
-
if(_state >= StateDeactivated)
|
|
191
|
+
// Wait for activation or a previous deactivation to complete.
|
|
192
|
+
// This is necessary to avoid out of order locator updates.
|
|
193
|
+
_conditionVariable.wait(lock, [this] { return _state != StateActivating && _state != StateDeactivating; });
|
|
194
|
+
|
|
195
|
+
if (_state >= StateDeactivated)
|
|
236
196
|
{
|
|
237
197
|
return;
|
|
238
198
|
}
|
|
239
199
|
_state = StateDeactivating;
|
|
200
|
+
hasPublishedEndpoints = !_publishedEndpoints.empty();
|
|
240
201
|
}
|
|
241
202
|
|
|
242
203
|
//
|
|
243
204
|
// NOTE: the router/locator infos and incoming connection
|
|
244
|
-
//
|
|
205
|
+
// factory list are immutable at this point.
|
|
245
206
|
//
|
|
246
207
|
|
|
247
|
-
|
|
208
|
+
if (hasPublishedEndpoints)
|
|
248
209
|
{
|
|
249
|
-
|
|
210
|
+
try
|
|
211
|
+
{
|
|
212
|
+
updateLocatorRegistry(_locatorInfo, nullopt);
|
|
213
|
+
}
|
|
214
|
+
catch (const Ice::LocalException&)
|
|
250
215
|
{
|
|
251
216
|
//
|
|
252
|
-
//
|
|
253
|
-
//
|
|
254
|
-
_instance->routerManager()->erase(_routerInfo->getRouter());
|
|
255
|
-
|
|
256
|
-
//
|
|
257
|
-
// Clear this object adapter with the router.
|
|
217
|
+
// We can't throw exceptions in deactivate so we ignore
|
|
218
|
+
// failures to update the locator registry.
|
|
258
219
|
//
|
|
259
|
-
_routerInfo->setAdapter(0);
|
|
260
220
|
}
|
|
261
|
-
|
|
262
|
-
updateLocatorRegistry(_locatorInfo, 0);
|
|
263
221
|
}
|
|
264
|
-
catch(const Ice::LocalException&)
|
|
265
|
-
{
|
|
266
|
-
//
|
|
267
|
-
// We can't throw exceptions in deactivate so we ignore
|
|
268
|
-
// failures to update the locator registry.
|
|
269
|
-
//
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
#ifdef ICE_CPP11_COMPILER
|
|
273
|
-
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
274
|
-
[](const IncomingConnectionFactoryPtr& factory)
|
|
275
|
-
{
|
|
276
|
-
factory->destroy();
|
|
277
|
-
});
|
|
278
|
-
#else
|
|
279
|
-
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
280
|
-
Ice::voidMemFun(&IncomingConnectionFactory::destroy));
|
|
281
|
-
#endif
|
|
282
222
|
|
|
283
|
-
|
|
223
|
+
for_each(
|
|
224
|
+
_incomingConnectionFactories.begin(),
|
|
225
|
+
_incomingConnectionFactories.end(),
|
|
226
|
+
[](const IncomingConnectionFactoryPtr& factory) { factory->destroy(); });
|
|
284
227
|
|
|
285
228
|
{
|
|
286
|
-
|
|
229
|
+
lock_guard lock(_mutex);
|
|
287
230
|
assert(_state == StateDeactivating);
|
|
288
231
|
_state = StateDeactivated;
|
|
289
|
-
|
|
232
|
+
_conditionVariable.notify_all();
|
|
290
233
|
}
|
|
291
234
|
}
|
|
292
235
|
|
|
293
236
|
void
|
|
294
|
-
Ice::ObjectAdapterI::waitForDeactivate()
|
|
237
|
+
Ice::ObjectAdapterI::waitForDeactivate() noexcept
|
|
295
238
|
{
|
|
296
239
|
vector<IceInternal::IncomingConnectionFactoryPtr> incomingConnectionFactories;
|
|
297
240
|
|
|
298
241
|
{
|
|
299
|
-
|
|
242
|
+
unique_lock lock(_mutex);
|
|
300
243
|
|
|
301
244
|
//
|
|
302
245
|
// Wait for deactivation of the adapter itself, and for
|
|
303
246
|
// the return of all direct method calls using this adapter.
|
|
304
247
|
//
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
wait();
|
|
308
|
-
}
|
|
309
|
-
if(_state > StateDeactivated)
|
|
248
|
+
_conditionVariable.wait(lock, [this] { return _state >= StateDeactivated && _directCount == 0; });
|
|
249
|
+
if (_state > StateDeactivated)
|
|
310
250
|
{
|
|
311
251
|
return;
|
|
312
252
|
}
|
|
313
253
|
incomingConnectionFactories = _incomingConnectionFactories;
|
|
314
254
|
}
|
|
315
255
|
|
|
316
|
-
//
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(),
|
|
322
|
-
[](const IncomingConnectionFactoryPtr& factory)
|
|
323
|
-
{
|
|
324
|
-
factory->waitUntilFinished();
|
|
325
|
-
});
|
|
326
|
-
#else
|
|
327
|
-
for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(),
|
|
328
|
-
Ice::voidMemFun(&IncomingConnectionFactory::waitUntilFinished));
|
|
329
|
-
#endif
|
|
256
|
+
// Now we wait until all incoming connection factories are finished.
|
|
257
|
+
for_each(
|
|
258
|
+
incomingConnectionFactories.begin(),
|
|
259
|
+
incomingConnectionFactories.end(),
|
|
260
|
+
[](const IncomingConnectionFactoryPtr& factory) { factory->waitUntilFinished(); });
|
|
330
261
|
}
|
|
331
262
|
|
|
332
263
|
bool
|
|
333
|
-
Ice::ObjectAdapterI::isDeactivated() const
|
|
264
|
+
Ice::ObjectAdapterI::isDeactivated() const noexcept
|
|
334
265
|
{
|
|
335
|
-
|
|
266
|
+
lock_guard lock(_mutex);
|
|
336
267
|
|
|
337
268
|
return _state >= StateDeactivated;
|
|
338
269
|
}
|
|
339
270
|
|
|
340
271
|
void
|
|
341
|
-
Ice::ObjectAdapterI::destroy()
|
|
272
|
+
Ice::ObjectAdapterI::destroy() noexcept
|
|
342
273
|
{
|
|
343
|
-
//
|
|
344
274
|
// Deactivate and wait for completion.
|
|
345
|
-
//
|
|
346
275
|
deactivate();
|
|
347
276
|
waitForDeactivate();
|
|
348
277
|
|
|
349
278
|
{
|
|
350
|
-
|
|
279
|
+
unique_lock lock(_mutex);
|
|
351
280
|
assert(_state >= StateDeactivated);
|
|
352
281
|
|
|
353
282
|
//
|
|
@@ -355,17 +284,25 @@ Ice::ObjectAdapterI::destroy() ICE_NOEXCEPT
|
|
|
355
284
|
// adapter. Other threads wait for the destruction to be
|
|
356
285
|
// completed.
|
|
357
286
|
//
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
wait();
|
|
361
|
-
}
|
|
362
|
-
if(_state == StateDestroyed)
|
|
287
|
+
_conditionVariable.wait(lock, [this] { return _state != StateDestroying; });
|
|
288
|
+
if (_state == StateDestroyed)
|
|
363
289
|
{
|
|
364
290
|
return;
|
|
365
291
|
}
|
|
366
292
|
_state = StateDestroying;
|
|
367
293
|
}
|
|
368
294
|
|
|
295
|
+
if (_routerInfo)
|
|
296
|
+
{
|
|
297
|
+
// Remove entry from the router manager.
|
|
298
|
+
_instance->routerManager()->erase(_routerInfo->getRouter());
|
|
299
|
+
|
|
300
|
+
// Clear this object adapter with the router.
|
|
301
|
+
_routerInfo->setAdapter(nullptr);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
_instance->outgoingConnectionFactory()->removeAdapter(shared_from_this());
|
|
305
|
+
|
|
369
306
|
//
|
|
370
307
|
// Now it's also time to clean up our servants and servant
|
|
371
308
|
// locators.
|
|
@@ -375,19 +312,19 @@ Ice::ObjectAdapterI::destroy() ICE_NOEXCEPT
|
|
|
375
312
|
//
|
|
376
313
|
// Destroy the thread pool.
|
|
377
314
|
//
|
|
378
|
-
if(_threadPool)
|
|
315
|
+
if (_threadPool)
|
|
379
316
|
{
|
|
380
317
|
_threadPool->destroy();
|
|
381
318
|
_threadPool->joinWithAllThreads();
|
|
382
319
|
}
|
|
383
320
|
|
|
384
|
-
if(_objectAdapterFactory)
|
|
321
|
+
if (_objectAdapterFactory)
|
|
385
322
|
{
|
|
386
|
-
_objectAdapterFactory->removeObjectAdapter(
|
|
323
|
+
_objectAdapterFactory->removeObjectAdapter(shared_from_this());
|
|
387
324
|
}
|
|
388
325
|
|
|
389
326
|
{
|
|
390
|
-
|
|
327
|
+
lock_guard lock(_mutex);
|
|
391
328
|
|
|
392
329
|
//
|
|
393
330
|
// We're done, now we can throw away all incoming connection
|
|
@@ -398,62 +335,81 @@ Ice::ObjectAdapterI::destroy() ICE_NOEXCEPT
|
|
|
398
335
|
//
|
|
399
336
|
// Remove object references (some of them cyclic).
|
|
400
337
|
//
|
|
401
|
-
_instance =
|
|
402
|
-
_threadPool =
|
|
403
|
-
_routerInfo =
|
|
338
|
+
_instance = nullptr;
|
|
339
|
+
_threadPool = nullptr;
|
|
340
|
+
_routerInfo = nullptr;
|
|
404
341
|
_publishedEndpoints.clear();
|
|
405
|
-
_locatorInfo =
|
|
406
|
-
_reference =
|
|
407
|
-
_objectAdapterFactory =
|
|
342
|
+
_locatorInfo = nullptr;
|
|
343
|
+
_reference = nullptr;
|
|
344
|
+
_objectAdapterFactory = nullptr;
|
|
408
345
|
|
|
409
346
|
_state = StateDestroyed;
|
|
410
|
-
|
|
347
|
+
_conditionVariable.notify_all();
|
|
411
348
|
}
|
|
412
349
|
}
|
|
413
350
|
|
|
414
|
-
|
|
415
|
-
Ice::ObjectAdapterI::
|
|
351
|
+
ObjectAdapterPtr
|
|
352
|
+
Ice::ObjectAdapterI::use(function<ObjectPtr(ObjectPtr)> middlewareFactory)
|
|
416
353
|
{
|
|
417
|
-
|
|
354
|
+
// This code is not thread-safe and is not supposed to be.
|
|
355
|
+
if (_dispatchPipeline)
|
|
356
|
+
{
|
|
357
|
+
throw InitializationException{__FILE__, __LINE__, "all middleware must be installed before the first dispatch"};
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
_middlewareFactoryStack.push(std::move(middlewareFactory));
|
|
361
|
+
return shared_from_this();
|
|
418
362
|
}
|
|
419
363
|
|
|
420
|
-
|
|
421
|
-
Ice::ObjectAdapterI::
|
|
364
|
+
ObjectPrx
|
|
365
|
+
Ice::ObjectAdapterI::_add(ObjectPtr object, Identity ident)
|
|
422
366
|
{
|
|
423
|
-
|
|
367
|
+
return _addFacet(std::move(object), std::move(ident), "");
|
|
368
|
+
}
|
|
424
369
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
370
|
+
ObjectPrx
|
|
371
|
+
Ice::ObjectAdapterI::_addFacet(ObjectPtr object, Identity ident, string facet)
|
|
372
|
+
{
|
|
373
|
+
lock_guard lock(_mutex);
|
|
374
|
+
|
|
375
|
+
checkForDestruction();
|
|
376
|
+
if (!object)
|
|
377
|
+
{
|
|
378
|
+
throw std::invalid_argument{"cannot add null servant to Ice object adapter"};
|
|
379
|
+
}
|
|
380
|
+
checkIdentity(ident, __FILE__, __LINE__);
|
|
428
381
|
|
|
429
|
-
_servantManager->addServant(object, ident, facet);
|
|
382
|
+
_servantManager->addServant(std::move(object), ident, facet);
|
|
430
383
|
|
|
431
|
-
return newProxy(ident, facet);
|
|
384
|
+
return newProxy(std::move(ident), std::move(facet));
|
|
432
385
|
}
|
|
433
386
|
|
|
434
|
-
|
|
435
|
-
Ice::ObjectAdapterI::
|
|
387
|
+
ObjectPrx
|
|
388
|
+
Ice::ObjectAdapterI::_addWithUUID(ObjectPtr object)
|
|
436
389
|
{
|
|
437
|
-
return
|
|
390
|
+
return _addFacetWithUUID(std::move(object), "");
|
|
438
391
|
}
|
|
439
392
|
|
|
440
|
-
|
|
441
|
-
Ice::ObjectAdapterI::
|
|
393
|
+
ObjectPrx
|
|
394
|
+
Ice::ObjectAdapterI::_addFacetWithUUID(ObjectPtr object, string facet)
|
|
442
395
|
{
|
|
443
396
|
Identity ident;
|
|
444
397
|
ident.name = Ice::generateUUID();
|
|
445
|
-
return
|
|
398
|
+
return _addFacet(std::move(object), std::move(ident), std::move(facet));
|
|
446
399
|
}
|
|
447
400
|
|
|
448
401
|
void
|
|
449
|
-
Ice::ObjectAdapterI::addDefaultServant(
|
|
402
|
+
Ice::ObjectAdapterI::addDefaultServant(ObjectPtr servant, string category)
|
|
450
403
|
{
|
|
451
|
-
|
|
404
|
+
if (!servant)
|
|
405
|
+
{
|
|
406
|
+
throw std::invalid_argument{"cannot add null servant to Ice object adapter"};
|
|
407
|
+
}
|
|
452
408
|
|
|
453
|
-
|
|
409
|
+
lock_guard lock(_mutex);
|
|
454
410
|
|
|
455
|
-
|
|
456
|
-
_servantManager->addDefaultServant(servant, category);
|
|
411
|
+
checkForDestruction();
|
|
412
|
+
_servantManager->addDefaultServant(std::move(servant), std::move(category));
|
|
457
413
|
}
|
|
458
414
|
|
|
459
415
|
ObjectPtr
|
|
@@ -463,12 +419,12 @@ Ice::ObjectAdapterI::remove(const Identity& ident)
|
|
|
463
419
|
}
|
|
464
420
|
|
|
465
421
|
ObjectPtr
|
|
466
|
-
Ice::ObjectAdapterI::removeFacet(const Identity& ident,
|
|
422
|
+
Ice::ObjectAdapterI::removeFacet(const Identity& ident, string_view facet)
|
|
467
423
|
{
|
|
468
|
-
|
|
424
|
+
lock_guard lock(_mutex);
|
|
469
425
|
|
|
470
|
-
|
|
471
|
-
checkIdentity(ident);
|
|
426
|
+
checkForDestruction();
|
|
427
|
+
checkIdentity(ident, __FILE__, __LINE__);
|
|
472
428
|
|
|
473
429
|
return _servantManager->removeServant(ident, facet);
|
|
474
430
|
}
|
|
@@ -476,20 +432,20 @@ Ice::ObjectAdapterI::removeFacet(const Identity& ident, const string& facet)
|
|
|
476
432
|
FacetMap
|
|
477
433
|
Ice::ObjectAdapterI::removeAllFacets(const Identity& ident)
|
|
478
434
|
{
|
|
479
|
-
|
|
435
|
+
lock_guard lock(_mutex);
|
|
480
436
|
|
|
481
|
-
|
|
482
|
-
checkIdentity(ident);
|
|
437
|
+
checkForDestruction();
|
|
438
|
+
checkIdentity(ident, __FILE__, __LINE__);
|
|
483
439
|
|
|
484
440
|
return _servantManager->removeAllFacets(ident);
|
|
485
441
|
}
|
|
486
442
|
|
|
487
443
|
ObjectPtr
|
|
488
|
-
Ice::ObjectAdapterI::removeDefaultServant(
|
|
444
|
+
Ice::ObjectAdapterI::removeDefaultServant(string_view category)
|
|
489
445
|
{
|
|
490
|
-
|
|
446
|
+
lock_guard lock(_mutex);
|
|
491
447
|
|
|
492
|
-
|
|
448
|
+
checkForDestruction();
|
|
493
449
|
|
|
494
450
|
return _servantManager->removeDefaultServant(category);
|
|
495
451
|
}
|
|
@@ -501,12 +457,12 @@ Ice::ObjectAdapterI::find(const Identity& ident) const
|
|
|
501
457
|
}
|
|
502
458
|
|
|
503
459
|
ObjectPtr
|
|
504
|
-
Ice::ObjectAdapterI::findFacet(const Identity& ident,
|
|
460
|
+
Ice::ObjectAdapterI::findFacet(const Identity& ident, string_view facet) const
|
|
505
461
|
{
|
|
506
|
-
|
|
462
|
+
lock_guard lock(_mutex);
|
|
507
463
|
|
|
508
|
-
|
|
509
|
-
checkIdentity(ident);
|
|
464
|
+
checkForDestruction();
|
|
465
|
+
checkIdentity(ident, __FILE__, __LINE__);
|
|
510
466
|
|
|
511
467
|
return _servantManager->findServant(ident, facet);
|
|
512
468
|
}
|
|
@@ -514,200 +470,168 @@ Ice::ObjectAdapterI::findFacet(const Identity& ident, const string& facet) const
|
|
|
514
470
|
FacetMap
|
|
515
471
|
Ice::ObjectAdapterI::findAllFacets(const Identity& ident) const
|
|
516
472
|
{
|
|
517
|
-
|
|
473
|
+
lock_guard lock(_mutex);
|
|
518
474
|
|
|
519
|
-
|
|
520
|
-
checkIdentity(ident);
|
|
475
|
+
checkForDestruction();
|
|
476
|
+
checkIdentity(ident, __FILE__, __LINE__);
|
|
521
477
|
|
|
522
478
|
return _servantManager->findAllFacets(ident);
|
|
523
479
|
}
|
|
524
480
|
|
|
525
481
|
ObjectPtr
|
|
526
|
-
Ice::ObjectAdapterI::findByProxy(const
|
|
482
|
+
Ice::ObjectAdapterI::findByProxy(const ObjectPrx& proxy) const
|
|
527
483
|
{
|
|
528
|
-
|
|
484
|
+
lock_guard lock(_mutex);
|
|
529
485
|
|
|
530
|
-
|
|
486
|
+
checkForDestruction();
|
|
531
487
|
|
|
532
488
|
ReferencePtr ref = proxy->_getReference();
|
|
533
489
|
return findFacet(ref->getIdentity(), ref->getFacet());
|
|
534
490
|
}
|
|
535
491
|
|
|
536
492
|
ObjectPtr
|
|
537
|
-
Ice::ObjectAdapterI::findDefaultServant(
|
|
493
|
+
Ice::ObjectAdapterI::findDefaultServant(string_view category) const
|
|
538
494
|
{
|
|
539
|
-
|
|
495
|
+
lock_guard lock(_mutex);
|
|
540
496
|
|
|
541
|
-
|
|
497
|
+
checkForDestruction();
|
|
542
498
|
|
|
543
499
|
return _servantManager->findDefaultServant(category);
|
|
544
500
|
}
|
|
545
501
|
|
|
546
502
|
void
|
|
547
|
-
Ice::ObjectAdapterI::addServantLocator(
|
|
503
|
+
Ice::ObjectAdapterI::addServantLocator(ServantLocatorPtr locator, string prefix)
|
|
548
504
|
{
|
|
549
|
-
|
|
505
|
+
lock_guard lock(_mutex);
|
|
550
506
|
|
|
551
|
-
|
|
507
|
+
checkForDestruction();
|
|
552
508
|
|
|
553
|
-
_servantManager->addServantLocator(locator, prefix);
|
|
509
|
+
_servantManager->addServantLocator(std::move(locator), std::move(prefix));
|
|
554
510
|
}
|
|
555
511
|
|
|
556
512
|
ServantLocatorPtr
|
|
557
|
-
Ice::ObjectAdapterI::removeServantLocator(
|
|
513
|
+
Ice::ObjectAdapterI::removeServantLocator(string_view prefix)
|
|
558
514
|
{
|
|
559
|
-
|
|
515
|
+
lock_guard lock(_mutex);
|
|
560
516
|
|
|
561
|
-
|
|
517
|
+
checkForDestruction();
|
|
562
518
|
|
|
563
519
|
return _servantManager->removeServantLocator(prefix);
|
|
564
520
|
}
|
|
565
521
|
|
|
566
522
|
ServantLocatorPtr
|
|
567
|
-
Ice::ObjectAdapterI::findServantLocator(
|
|
523
|
+
Ice::ObjectAdapterI::findServantLocator(string_view prefix) const
|
|
568
524
|
{
|
|
569
|
-
|
|
525
|
+
lock_guard lock(_mutex);
|
|
570
526
|
|
|
571
|
-
|
|
527
|
+
checkForDestruction();
|
|
572
528
|
|
|
573
529
|
return _servantManager->findServantLocator(prefix);
|
|
574
530
|
}
|
|
575
531
|
|
|
576
|
-
|
|
577
|
-
Ice::ObjectAdapterI::
|
|
532
|
+
const ObjectPtr&
|
|
533
|
+
Ice::ObjectAdapterI::dispatchPipeline() const noexcept
|
|
534
|
+
{
|
|
535
|
+
lock_guard lock(_mutex);
|
|
536
|
+
if (!_dispatchPipeline)
|
|
537
|
+
{
|
|
538
|
+
_dispatchPipeline = _servantManager;
|
|
539
|
+
while (!_middlewareFactoryStack.empty())
|
|
540
|
+
{
|
|
541
|
+
_dispatchPipeline = _middlewareFactoryStack.top()(std::move(_dispatchPipeline));
|
|
542
|
+
_middlewareFactoryStack.pop();
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
return _dispatchPipeline;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
ObjectPrx
|
|
549
|
+
Ice::ObjectAdapterI::_createProxy(Identity ident) const
|
|
578
550
|
{
|
|
579
|
-
|
|
551
|
+
lock_guard lock(_mutex);
|
|
580
552
|
|
|
581
|
-
|
|
582
|
-
checkIdentity(ident);
|
|
553
|
+
checkForDestruction();
|
|
554
|
+
checkIdentity(ident, __FILE__, __LINE__);
|
|
583
555
|
|
|
584
|
-
return newProxy(ident, "");
|
|
556
|
+
return newProxy(std::move(ident), "");
|
|
585
557
|
}
|
|
586
558
|
|
|
587
|
-
|
|
588
|
-
Ice::ObjectAdapterI::
|
|
559
|
+
ObjectPrx
|
|
560
|
+
Ice::ObjectAdapterI::_createDirectProxy(Identity ident) const
|
|
589
561
|
{
|
|
590
|
-
|
|
562
|
+
lock_guard lock(_mutex);
|
|
591
563
|
|
|
592
|
-
|
|
593
|
-
checkIdentity(ident);
|
|
564
|
+
checkForDestruction();
|
|
565
|
+
checkIdentity(ident, __FILE__, __LINE__);
|
|
594
566
|
|
|
595
|
-
return newDirectProxy(ident, "");
|
|
567
|
+
return newDirectProxy(std::move(ident), "");
|
|
596
568
|
}
|
|
597
569
|
|
|
598
|
-
|
|
599
|
-
Ice::ObjectAdapterI::
|
|
570
|
+
ObjectPrx
|
|
571
|
+
Ice::ObjectAdapterI::_createIndirectProxy(Identity ident) const
|
|
600
572
|
{
|
|
601
|
-
|
|
573
|
+
lock_guard lock(_mutex);
|
|
602
574
|
|
|
603
|
-
|
|
604
|
-
checkIdentity(ident);
|
|
575
|
+
checkForDestruction();
|
|
576
|
+
checkIdentity(ident, __FILE__, __LINE__);
|
|
605
577
|
|
|
606
|
-
return newIndirectProxy(ident, "", _id);
|
|
578
|
+
return newIndirectProxy(std::move(ident), "", _id);
|
|
607
579
|
}
|
|
608
580
|
|
|
609
581
|
void
|
|
610
|
-
Ice::ObjectAdapterI::setLocator(
|
|
582
|
+
Ice::ObjectAdapterI::setLocator(optional<LocatorPrx> locator)
|
|
611
583
|
{
|
|
612
|
-
|
|
613
|
-
|
|
584
|
+
lock_guard lock(_mutex);
|
|
614
585
|
checkForDeactivation();
|
|
615
|
-
|
|
616
|
-
_locatorInfo = _instance->locatorManager()->get(locator);
|
|
586
|
+
_locatorInfo = locator ? _instance->locatorManager()->get(locator.value()) : nullptr;
|
|
617
587
|
}
|
|
618
588
|
|
|
619
|
-
|
|
620
|
-
Ice::ObjectAdapterI::getLocator() const
|
|
589
|
+
optional<LocatorPrx>
|
|
590
|
+
Ice::ObjectAdapterI::getLocator() const noexcept
|
|
621
591
|
{
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
if(!_locatorInfo)
|
|
625
|
-
{
|
|
626
|
-
return 0;
|
|
627
|
-
}
|
|
628
|
-
else
|
|
629
|
-
{
|
|
630
|
-
return _locatorInfo->getLocator();
|
|
631
|
-
}
|
|
592
|
+
lock_guard lock(_mutex);
|
|
593
|
+
return _locatorInfo ? optional<LocatorPrx>(_locatorInfo->getLocator()) : nullopt;
|
|
632
594
|
}
|
|
633
595
|
|
|
634
596
|
EndpointSeq
|
|
635
|
-
Ice::ObjectAdapterI::getEndpoints() const
|
|
597
|
+
Ice::ObjectAdapterI::getEndpoints() const
|
|
636
598
|
{
|
|
637
|
-
|
|
599
|
+
lock_guard lock(_mutex);
|
|
638
600
|
|
|
639
601
|
EndpointSeq endpoints;
|
|
640
|
-
transform(
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
return factory->endpoint();
|
|
646
|
-
});
|
|
647
|
-
#else
|
|
648
|
-
Ice::constMemFun(&IncomingConnectionFactory::endpoint));
|
|
649
|
-
#endif
|
|
602
|
+
transform(
|
|
603
|
+
_incomingConnectionFactories.begin(),
|
|
604
|
+
_incomingConnectionFactories.end(),
|
|
605
|
+
back_inserter(endpoints),
|
|
606
|
+
[](const IncomingConnectionFactoryPtr& factory) { return factory->endpoint(); });
|
|
650
607
|
return endpoints;
|
|
651
608
|
}
|
|
652
609
|
|
|
653
|
-
void
|
|
654
|
-
Ice::ObjectAdapterI::refreshPublishedEndpoints()
|
|
655
|
-
{
|
|
656
|
-
LocatorInfoPtr locatorInfo;
|
|
657
|
-
vector<EndpointIPtr> oldPublishedEndpoints;
|
|
658
|
-
|
|
659
|
-
{
|
|
660
|
-
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
661
|
-
checkForDeactivation();
|
|
662
|
-
|
|
663
|
-
oldPublishedEndpoints = _publishedEndpoints;
|
|
664
|
-
_publishedEndpoints = computePublishedEndpoints();
|
|
665
|
-
|
|
666
|
-
locatorInfo = _locatorInfo;
|
|
667
|
-
}
|
|
668
|
-
|
|
669
|
-
try
|
|
670
|
-
{
|
|
671
|
-
Ice::Identity dummy;
|
|
672
|
-
dummy.name = "dummy";
|
|
673
|
-
updateLocatorRegistry(locatorInfo, createDirectProxy(dummy));
|
|
674
|
-
}
|
|
675
|
-
catch(const Ice::LocalException&)
|
|
676
|
-
{
|
|
677
|
-
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
678
|
-
|
|
679
|
-
//
|
|
680
|
-
// Restore the old published endpoints.
|
|
681
|
-
//
|
|
682
|
-
_publishedEndpoints = oldPublishedEndpoints;
|
|
683
|
-
throw;
|
|
684
|
-
}
|
|
685
|
-
}
|
|
686
|
-
|
|
687
610
|
EndpointSeq
|
|
688
|
-
Ice::ObjectAdapterI::getPublishedEndpoints() const
|
|
611
|
+
Ice::ObjectAdapterI::getPublishedEndpoints() const
|
|
689
612
|
{
|
|
690
|
-
|
|
691
|
-
return
|
|
613
|
+
lock_guard lock(_mutex);
|
|
614
|
+
return {_publishedEndpoints.begin(), _publishedEndpoints.end()};
|
|
692
615
|
}
|
|
693
616
|
|
|
694
617
|
void
|
|
695
|
-
Ice::ObjectAdapterI::setPublishedEndpoints(
|
|
618
|
+
Ice::ObjectAdapterI::setPublishedEndpoints(EndpointSeq newEndpoints)
|
|
696
619
|
{
|
|
697
620
|
LocatorInfoPtr locatorInfo;
|
|
698
621
|
vector<EndpointIPtr> oldPublishedEndpoints;
|
|
622
|
+
|
|
623
|
+
if (newEndpoints.empty())
|
|
699
624
|
{
|
|
700
|
-
|
|
625
|
+
throw std::invalid_argument("the newEndpoints argument must contain at least one endpoint");
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
{
|
|
629
|
+
lock_guard lock(_mutex);
|
|
701
630
|
checkForDeactivation();
|
|
702
631
|
|
|
703
|
-
if(_routerInfo)
|
|
632
|
+
if (_routerInfo)
|
|
704
633
|
{
|
|
705
|
-
|
|
706
|
-
#ifdef ICE_CPP11_MAPPING
|
|
707
|
-
throw invalid_argument(s);
|
|
708
|
-
#else
|
|
709
|
-
throw IceUtil::IllegalArgumentException(__FILE__, __LINE__, s);
|
|
710
|
-
#endif
|
|
634
|
+
throw invalid_argument("cannot set published endpoints on an object adapter associated with a router");
|
|
711
635
|
}
|
|
712
636
|
|
|
713
637
|
oldPublishedEndpoints = _publishedEndpoints;
|
|
@@ -721,11 +645,11 @@ Ice::ObjectAdapterI::setPublishedEndpoints(const EndpointSeq& newEndpoints)
|
|
|
721
645
|
{
|
|
722
646
|
Ice::Identity dummy;
|
|
723
647
|
dummy.name = "dummy";
|
|
724
|
-
updateLocatorRegistry(locatorInfo, createDirectProxy(dummy));
|
|
648
|
+
updateLocatorRegistry(locatorInfo, createDirectProxy(std::move(dummy)));
|
|
725
649
|
}
|
|
726
|
-
catch(const Ice::LocalException&)
|
|
650
|
+
catch (const Ice::LocalException&)
|
|
727
651
|
{
|
|
728
|
-
|
|
652
|
+
lock_guard lock(_mutex);
|
|
729
653
|
|
|
730
654
|
//
|
|
731
655
|
// Restore the old published endpoints.
|
|
@@ -735,28 +659,15 @@ Ice::ObjectAdapterI::setPublishedEndpoints(const EndpointSeq& newEndpoints)
|
|
|
735
659
|
}
|
|
736
660
|
}
|
|
737
661
|
|
|
738
|
-
#ifdef ICE_SWIFT
|
|
739
|
-
dispatch_queue_t
|
|
740
|
-
Ice::ObjectAdapterI::getDispatchQueue() const
|
|
741
|
-
{
|
|
742
|
-
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
743
|
-
|
|
744
|
-
checkForDeactivation();
|
|
745
|
-
|
|
746
|
-
return getThreadPool()->getDispatchQueue();
|
|
747
|
-
}
|
|
748
|
-
#endif
|
|
749
|
-
|
|
750
662
|
bool
|
|
751
|
-
Ice::ObjectAdapterI::isLocal(const
|
|
663
|
+
Ice::ObjectAdapterI::isLocal(const ReferencePtr& ref) const
|
|
752
664
|
{
|
|
753
665
|
//
|
|
754
666
|
// NOTE: it's important that isLocal() doesn't perform any blocking operations as
|
|
755
667
|
// it can be called for AMI invocations if the proxy has no delegate set yet.
|
|
756
668
|
//
|
|
757
669
|
|
|
758
|
-
|
|
759
|
-
if(ref->isWellKnown())
|
|
670
|
+
if (ref->isWellKnown())
|
|
760
671
|
{
|
|
761
672
|
//
|
|
762
673
|
// Check the active servant map to see if the well-known
|
|
@@ -764,7 +675,7 @@ Ice::ObjectAdapterI::isLocal(const ObjectPrxPtr& proxy) const
|
|
|
764
675
|
//
|
|
765
676
|
return _servantManager->hasServant(ref->getIdentity());
|
|
766
677
|
}
|
|
767
|
-
else if(ref->isIndirect())
|
|
678
|
+
else if (ref->isIndirect())
|
|
768
679
|
{
|
|
769
680
|
//
|
|
770
681
|
// Proxy is local if the reference adapter id matches this
|
|
@@ -774,32 +685,22 @@ Ice::ObjectAdapterI::isLocal(const ObjectPrxPtr& proxy) const
|
|
|
774
685
|
}
|
|
775
686
|
else
|
|
776
687
|
{
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
780
|
-
checkForDeactivation();
|
|
688
|
+
lock_guard lock(_mutex);
|
|
689
|
+
checkForDestruction();
|
|
781
690
|
|
|
782
|
-
//
|
|
783
|
-
//
|
|
784
|
-
//
|
|
785
|
-
|
|
786
|
-
for(vector<EndpointIPtr>::const_iterator p = endpoints.begin(); p != endpoints.end(); ++p)
|
|
691
|
+
// Proxies which have at least one endpoint in common with the published endpoints are considered local.
|
|
692
|
+
// This check doesn't take datagram endpoints into account; this effectively disables colloc optimization
|
|
693
|
+
// for UDP.
|
|
694
|
+
for (const auto& endpoint : ref->getEndpoints())
|
|
787
695
|
{
|
|
788
|
-
|
|
789
|
-
q != _incomingConnectionFactories.end(); ++q)
|
|
790
|
-
{
|
|
791
|
-
if((*q)->isLocal(*p))
|
|
792
|
-
{
|
|
793
|
-
return true;
|
|
794
|
-
}
|
|
795
|
-
}
|
|
796
|
-
|
|
797
|
-
for(vector<EndpointIPtr>::const_iterator r = _publishedEndpoints.begin();
|
|
798
|
-
r != _publishedEndpoints.end(); ++r)
|
|
696
|
+
if (!endpoint->datagram())
|
|
799
697
|
{
|
|
800
|
-
|
|
698
|
+
for (const auto& publishedEndpoint : _publishedEndpoints)
|
|
801
699
|
{
|
|
802
|
-
|
|
700
|
+
if (endpoint->equivalent(publishedEndpoint))
|
|
701
|
+
{
|
|
702
|
+
return true;
|
|
703
|
+
}
|
|
803
704
|
}
|
|
804
705
|
}
|
|
805
706
|
}
|
|
@@ -813,13 +714,13 @@ Ice::ObjectAdapterI::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPt
|
|
|
813
714
|
{
|
|
814
715
|
vector<IncomingConnectionFactoryPtr> f;
|
|
815
716
|
{
|
|
816
|
-
|
|
717
|
+
lock_guard lock(_mutex);
|
|
817
718
|
f = _incomingConnectionFactories;
|
|
818
719
|
}
|
|
819
720
|
|
|
820
|
-
for(
|
|
721
|
+
for (const auto& p : f)
|
|
821
722
|
{
|
|
822
|
-
|
|
723
|
+
p->flushAsyncBatchRequests(outAsync, compress);
|
|
823
724
|
}
|
|
824
725
|
}
|
|
825
726
|
|
|
@@ -828,18 +729,13 @@ Ice::ObjectAdapterI::updateConnectionObservers()
|
|
|
828
729
|
{
|
|
829
730
|
vector<IncomingConnectionFactoryPtr> f;
|
|
830
731
|
{
|
|
831
|
-
|
|
732
|
+
lock_guard lock(_mutex);
|
|
832
733
|
f = _incomingConnectionFactories;
|
|
833
734
|
}
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
{
|
|
838
|
-
factory->updateConnectionObservers();
|
|
839
|
-
});
|
|
840
|
-
#else
|
|
841
|
-
for_each(f.begin(), f.end(), Ice::voidMemFun(&IncomingConnectionFactory::updateConnectionObservers));
|
|
842
|
-
#endif
|
|
735
|
+
for_each(
|
|
736
|
+
f.begin(),
|
|
737
|
+
f.end(),
|
|
738
|
+
[](const IncomingConnectionFactoryPtr& factory) { factory->updateConnectionObservers(); });
|
|
843
739
|
}
|
|
844
740
|
|
|
845
741
|
void
|
|
@@ -847,10 +743,10 @@ Ice::ObjectAdapterI::updateThreadObservers()
|
|
|
847
743
|
{
|
|
848
744
|
ThreadPoolPtr threadPool;
|
|
849
745
|
{
|
|
850
|
-
|
|
746
|
+
lock_guard lock(_mutex);
|
|
851
747
|
threadPool = _threadPool;
|
|
852
748
|
}
|
|
853
|
-
if(threadPool)
|
|
749
|
+
if (threadPool)
|
|
854
750
|
{
|
|
855
751
|
threadPool->updateObservers();
|
|
856
752
|
}
|
|
@@ -859,9 +755,9 @@ Ice::ObjectAdapterI::updateThreadObservers()
|
|
|
859
755
|
void
|
|
860
756
|
Ice::ObjectAdapterI::incDirectCount()
|
|
861
757
|
{
|
|
862
|
-
|
|
758
|
+
lock_guard lock(_mutex);
|
|
863
759
|
|
|
864
|
-
|
|
760
|
+
checkForDestruction();
|
|
865
761
|
|
|
866
762
|
assert(_directCount >= 0);
|
|
867
763
|
++_directCount;
|
|
@@ -870,16 +766,16 @@ Ice::ObjectAdapterI::incDirectCount()
|
|
|
870
766
|
void
|
|
871
767
|
Ice::ObjectAdapterI::decDirectCount()
|
|
872
768
|
{
|
|
873
|
-
|
|
769
|
+
lock_guard lock(_mutex);
|
|
874
770
|
|
|
875
771
|
// Not check for deactivation here!
|
|
876
772
|
|
|
877
773
|
assert(_instance); // Must not be called after destroy().
|
|
878
774
|
|
|
879
775
|
assert(_directCount > 0);
|
|
880
|
-
if(--_directCount == 0)
|
|
776
|
+
if (--_directCount == 0)
|
|
881
777
|
{
|
|
882
|
-
|
|
778
|
+
_conditionVariable.notify_all();
|
|
883
779
|
}
|
|
884
780
|
}
|
|
885
781
|
|
|
@@ -894,7 +790,7 @@ Ice::ObjectAdapterI::getThreadPool() const
|
|
|
894
790
|
|
|
895
791
|
assert(_instance); // Must not be called after destroy().
|
|
896
792
|
|
|
897
|
-
if(_threadPool)
|
|
793
|
+
if (_threadPool)
|
|
898
794
|
{
|
|
899
795
|
return _threadPool;
|
|
900
796
|
}
|
|
@@ -904,30 +800,12 @@ Ice::ObjectAdapterI::getThreadPool() const
|
|
|
904
800
|
}
|
|
905
801
|
}
|
|
906
802
|
|
|
907
|
-
ServantManagerPtr
|
|
908
|
-
Ice::ObjectAdapterI::getServantManager() const
|
|
909
|
-
{
|
|
910
|
-
//
|
|
911
|
-
// No mutex lock necessary, _servantManager is immutable.
|
|
912
|
-
//
|
|
913
|
-
return _servantManager;
|
|
914
|
-
}
|
|
915
|
-
|
|
916
|
-
IceInternal::ACMConfig
|
|
917
|
-
Ice::ObjectAdapterI::getACM() const
|
|
918
|
-
{
|
|
919
|
-
// Not check for deactivation here!
|
|
920
|
-
|
|
921
|
-
assert(_instance); // Must not be called after destroy().
|
|
922
|
-
return _acm;
|
|
923
|
-
}
|
|
924
|
-
|
|
925
803
|
void
|
|
926
804
|
Ice::ObjectAdapterI::setAdapterOnConnection(const Ice::ConnectionIPtr& connection)
|
|
927
805
|
{
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
connection->
|
|
806
|
+
lock_guard lock(_mutex);
|
|
807
|
+
checkForDestruction();
|
|
808
|
+
connection->setAdapterFromAdapter(shared_from_this());
|
|
931
809
|
}
|
|
932
810
|
|
|
933
811
|
//
|
|
@@ -935,56 +813,84 @@ Ice::ObjectAdapterI::setAdapterOnConnection(const Ice::ConnectionIPtr& connectio
|
|
|
935
813
|
// function because when it was part of the constructor C++Builder 2010 apps would
|
|
936
814
|
// crash if an exception was thrown from any calls within the constructor.
|
|
937
815
|
//
|
|
938
|
-
Ice::ObjectAdapterI::ObjectAdapterI(
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
816
|
+
Ice::ObjectAdapterI::ObjectAdapterI(
|
|
817
|
+
InstancePtr instance,
|
|
818
|
+
CommunicatorPtr communicator,
|
|
819
|
+
ObjectAdapterFactoryPtr objectAdapterFactory,
|
|
820
|
+
string name,
|
|
821
|
+
bool noConfig,
|
|
822
|
+
optional<SSL::ServerAuthenticationOptions> serverAuthenticationOptions)
|
|
823
|
+
: _instance(std::move(instance)),
|
|
824
|
+
_communicator(std::move(communicator)),
|
|
825
|
+
_objectAdapterFactory(std::move(objectAdapterFactory)),
|
|
826
|
+
_servantManager(make_shared<ServantManager>(_instance, name)),
|
|
827
|
+
_name(std::move(name)),
|
|
828
|
+
_noConfig(noConfig),
|
|
829
|
+
_serverAuthenticationOptions(std::move(serverAuthenticationOptions))
|
|
950
830
|
{
|
|
831
|
+
#if defined(ICE_USE_SCHANNEL)
|
|
832
|
+
if (_serverAuthenticationOptions && _serverAuthenticationOptions->trustedRootCertificates)
|
|
833
|
+
{
|
|
834
|
+
CertDuplicateStore(_serverAuthenticationOptions->trustedRootCertificates);
|
|
835
|
+
}
|
|
836
|
+
#elif defined(ICE_USE_SECURE_TRANSPORT)
|
|
837
|
+
if (_serverAuthenticationOptions && _serverAuthenticationOptions->trustedRootCertificates)
|
|
838
|
+
{
|
|
839
|
+
CFRetain(_serverAuthenticationOptions->trustedRootCertificates);
|
|
840
|
+
}
|
|
841
|
+
#endif
|
|
951
842
|
}
|
|
952
843
|
|
|
953
844
|
void
|
|
954
|
-
Ice::ObjectAdapterI::initialize(
|
|
845
|
+
Ice::ObjectAdapterI::initialize(optional<RouterPrx> router)
|
|
955
846
|
{
|
|
956
|
-
|
|
847
|
+
// shared_from_this() is available now and is called by `use`.
|
|
848
|
+
|
|
849
|
+
const LoggerPtr logger = _instance->initializationData().logger;
|
|
850
|
+
if (logger)
|
|
957
851
|
{
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
852
|
+
int warningLevel = _instance->initializationData().properties->getIcePropertyAsInt("Ice.Warn.Dispatch");
|
|
853
|
+
if (_instance->traceLevels()->dispatch > 0 || warningLevel > 0)
|
|
854
|
+
{
|
|
855
|
+
use(
|
|
856
|
+
[logger,
|
|
857
|
+
warningLevel,
|
|
858
|
+
traceLevel = _instance->traceLevels()->dispatch,
|
|
859
|
+
traceCat = _instance->traceLevels()->dispatchCat,
|
|
860
|
+
toStringMode = _instance->toStringMode()](ObjectPtr next)
|
|
861
|
+
{
|
|
862
|
+
return make_shared<LoggerMiddleware>(
|
|
863
|
+
std::move(next),
|
|
864
|
+
logger,
|
|
865
|
+
traceLevel,
|
|
866
|
+
traceCat,
|
|
867
|
+
warningLevel,
|
|
868
|
+
toStringMode);
|
|
869
|
+
});
|
|
870
|
+
}
|
|
961
871
|
}
|
|
962
872
|
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
873
|
+
const Instrumentation::CommunicatorObserverPtr observer = _instance->initializationData().observer;
|
|
874
|
+
if (observer)
|
|
875
|
+
{
|
|
876
|
+
use([observer](ObjectPtr next) { return make_shared<ObserverMiddleware>(std::move(next), observer); });
|
|
877
|
+
}
|
|
966
878
|
|
|
967
|
-
|
|
968
|
-
// Warn about unknown object adapter properties.
|
|
969
|
-
//
|
|
970
|
-
if(unknownProps.size() != 0 && properties->getPropertyAsIntWithDefault("Ice.Warn.UnknownProperties", 1) > 0)
|
|
879
|
+
if (_noConfig)
|
|
971
880
|
{
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
for(unsigned int i = 0; i < unknownProps.size(); ++i)
|
|
975
|
-
{
|
|
976
|
-
out << "\n " << unknownProps[i];
|
|
977
|
-
}
|
|
881
|
+
_reference = _instance->referenceFactory()->create("dummy -t", "");
|
|
882
|
+
return;
|
|
978
883
|
}
|
|
979
884
|
|
|
885
|
+
PropertiesPtr properties = _instance->initializationData().properties;
|
|
886
|
+
|
|
980
887
|
try
|
|
981
888
|
{
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
if(router == 0 && noProps)
|
|
889
|
+
validatePropertiesWithPrefix(_name, properties, &PropertyNames::ObjectAdapterProps);
|
|
890
|
+
|
|
891
|
+
if (!router && properties->getPropertiesForPrefix(_name + ".").size() == 0)
|
|
986
892
|
{
|
|
987
|
-
throw InitializationException(__FILE__, __LINE__, "object adapter
|
|
893
|
+
throw InitializationException(__FILE__, __LINE__, "object adapter '" + _name + "' requires configuration");
|
|
988
894
|
}
|
|
989
895
|
|
|
990
896
|
const_cast<string&>(_id) = properties->getProperty(_name + ".AdapterId");
|
|
@@ -999,66 +905,82 @@ Ice::ObjectAdapterI::initialize(const RouterPrxPtr& router)
|
|
|
999
905
|
{
|
|
1000
906
|
_reference = _instance->referenceFactory()->create("dummy " + proxyOptions, "");
|
|
1001
907
|
}
|
|
1002
|
-
catch(const
|
|
908
|
+
catch (const ParseException&)
|
|
1003
909
|
{
|
|
1004
|
-
throw InitializationException(
|
|
1005
|
-
|
|
910
|
+
throw InitializationException(
|
|
911
|
+
__FILE__,
|
|
912
|
+
__LINE__,
|
|
913
|
+
"invalid proxy options '" + proxyOptions + "' for object adapter '" + _name + "'");
|
|
1006
914
|
}
|
|
1007
915
|
|
|
1008
|
-
const_cast<ACMConfig&>(_acm) =
|
|
1009
|
-
ACMConfig(properties, _communicator->getLogger(), _name + ".ACM", _instance->serverACM());
|
|
1010
|
-
|
|
1011
916
|
{
|
|
1012
917
|
const int defaultMessageSizeMax = static_cast<int>(_instance->messageSizeMax() / 1024);
|
|
1013
|
-
|
|
1014
|
-
|
|
918
|
+
int32_t messageSizeMax =
|
|
919
|
+
properties->getPropertyAsIntWithDefault(_name + ".MessageSizeMax", defaultMessageSizeMax);
|
|
920
|
+
// The maximum size of an Ice protocol message in bytes. This is limited to 0x7fffffff, which corresponds to
|
|
921
|
+
// the maximum value of a 32-bit signed integer (int32_t).
|
|
922
|
+
const int32_t messageSizeMaxUpperLimit = numeric_limits<int32_t>::max();
|
|
923
|
+
if (messageSizeMax > messageSizeMaxUpperLimit / 1024)
|
|
1015
924
|
{
|
|
1016
|
-
|
|
925
|
+
ostringstream os;
|
|
926
|
+
os << _name << ".MessageSizeMax '" << messageSizeMax
|
|
927
|
+
<< "' is too large, it must be less than or equal to '" << (messageSizeMaxUpperLimit / 1024)
|
|
928
|
+
<< "' KiB";
|
|
929
|
+
throw InitializationException{__FILE__, __LINE__, os.str()};
|
|
930
|
+
}
|
|
931
|
+
else if (messageSizeMax < 1)
|
|
932
|
+
{
|
|
933
|
+
const_cast<int32_t&>(_messageSizeMax) = 0x7fffffff;
|
|
1017
934
|
}
|
|
1018
935
|
else
|
|
1019
936
|
{
|
|
1020
|
-
const_cast<
|
|
937
|
+
const_cast<int32_t&>(_messageSizeMax) = messageSizeMax * 1024;
|
|
1021
938
|
}
|
|
1022
939
|
}
|
|
1023
940
|
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
// Create the per-adapter thread pool, if necessary. This is done before the creation of the incoming
|
|
1030
|
-
// connection factory as the thread pool is needed during creation for the call to incFdsInUse.
|
|
1031
|
-
//
|
|
1032
|
-
if(threadPoolSize > 0 || threadPoolSizeMax > 0 || hasPriority)
|
|
941
|
+
// If the user configured any of the ObjectAdapter.ThreadPool properties, create a per-adapter thread pool.
|
|
942
|
+
// Otherwise the OA will use the default server thread pool.
|
|
943
|
+
// This is done before the creation of the incoming connection factory as the thread pool is needed during
|
|
944
|
+
// creation for the call to incFdsInUse.
|
|
945
|
+
if (properties->getPropertiesForPrefix(_name + ".ThreadPool.").size() > 0)
|
|
1033
946
|
{
|
|
1034
|
-
_threadPool =
|
|
947
|
+
_threadPool = ThreadPool::create(_instance, _name + ".ThreadPool", 0);
|
|
1035
948
|
}
|
|
1036
949
|
|
|
1037
|
-
if(!router)
|
|
950
|
+
if (!router)
|
|
1038
951
|
{
|
|
1039
|
-
|
|
1040
|
-
_instance->proxyFactory()->propertyToProxy(_name + ".Router"));
|
|
952
|
+
router = _communicator->propertyToProxy<RouterPrx>(_name + ".Router");
|
|
1041
953
|
}
|
|
1042
|
-
if(router)
|
|
954
|
+
if (router)
|
|
1043
955
|
{
|
|
1044
|
-
_routerInfo = _instance->routerManager()->get(router);
|
|
956
|
+
_routerInfo = _instance->routerManager()->get(router.value());
|
|
1045
957
|
assert(_routerInfo);
|
|
1046
958
|
|
|
959
|
+
if (!properties->getProperty(_name + ".Endpoints").empty())
|
|
960
|
+
{
|
|
961
|
+
throw InitializationException{
|
|
962
|
+
__FILE__,
|
|
963
|
+
__LINE__,
|
|
964
|
+
"an object adapter with a router cannot accept incoming connections"};
|
|
965
|
+
}
|
|
966
|
+
|
|
1047
967
|
//
|
|
1048
968
|
// Make sure this router is not already registered with another adapter.
|
|
1049
969
|
//
|
|
1050
|
-
if(_routerInfo->getAdapter())
|
|
970
|
+
if (_routerInfo->getAdapter())
|
|
1051
971
|
{
|
|
1052
|
-
throw AlreadyRegisteredException(
|
|
1053
|
-
|
|
1054
|
-
|
|
972
|
+
throw AlreadyRegisteredException(
|
|
973
|
+
__FILE__,
|
|
974
|
+
__LINE__,
|
|
975
|
+
"object adapter with router",
|
|
976
|
+
_communicator->identityToString(router->ice_getIdentity()));
|
|
1055
977
|
}
|
|
1056
978
|
|
|
1057
979
|
//
|
|
1058
980
|
// Associate this object adapter with the router. This way, new outgoing connections
|
|
1059
981
|
// to the router's client proxy will use this object adapter for callbacks.
|
|
1060
982
|
//
|
|
1061
|
-
_routerInfo->setAdapter(
|
|
983
|
+
_routerInfo->setAdapter(shared_from_this());
|
|
1062
984
|
|
|
1063
985
|
//
|
|
1064
986
|
// Also modify all existing outgoing connections to the router's client proxy to use
|
|
@@ -1074,28 +996,22 @@ Ice::ObjectAdapterI::initialize(const RouterPrxPtr& router)
|
|
|
1074
996
|
// fill in the real port number.
|
|
1075
997
|
//
|
|
1076
998
|
vector<EndpointIPtr> endpoints = parseEndpoints(properties->getProperty(_name + ".Endpoints"), true);
|
|
1077
|
-
for(
|
|
999
|
+
for (const auto& endpoint : endpoints)
|
|
1078
1000
|
{
|
|
1079
|
-
|
|
1080
|
-
vector<EndpointIPtr> expanded = (*p)->expandHost(publishedEndpoint);
|
|
1081
|
-
for(vector<EndpointIPtr>::iterator q = expanded.begin(); q != expanded.end(); ++q)
|
|
1001
|
+
for (const auto& expanded : endpoint->expandHost())
|
|
1082
1002
|
{
|
|
1083
|
-
|
|
1084
|
-
_instance,
|
|
1085
|
-
*q,
|
|
1086
|
-
publishedEndpoint,
|
|
1087
|
-
ICE_SHARED_FROM_THIS);
|
|
1003
|
+
auto factory = make_shared<IncomingConnectionFactory>(_instance, expanded, shared_from_this());
|
|
1088
1004
|
factory->initialize();
|
|
1089
1005
|
_incomingConnectionFactories.push_back(factory);
|
|
1090
1006
|
}
|
|
1091
1007
|
}
|
|
1092
|
-
if(endpoints.empty())
|
|
1008
|
+
if (endpoints.empty())
|
|
1093
1009
|
{
|
|
1094
1010
|
TraceLevelsPtr tl = _instance->traceLevels();
|
|
1095
|
-
if(tl->network >= 2)
|
|
1011
|
+
if (tl->network >= 2)
|
|
1096
1012
|
{
|
|
1097
1013
|
Trace out(_instance->initializationData().logger, tl->networkCat);
|
|
1098
|
-
out << "created adapter
|
|
1014
|
+
out << "created adapter '" << _name << "' without endpoints";
|
|
1099
1015
|
}
|
|
1100
1016
|
}
|
|
1101
1017
|
}
|
|
@@ -1105,16 +1021,16 @@ Ice::ObjectAdapterI::initialize(const RouterPrxPtr& router)
|
|
|
1105
1021
|
//
|
|
1106
1022
|
_publishedEndpoints = computePublishedEndpoints();
|
|
1107
1023
|
|
|
1108
|
-
if(!properties->getProperty(_name + ".Locator").empty())
|
|
1024
|
+
if (!properties->getProperty(_name + ".Locator").empty())
|
|
1109
1025
|
{
|
|
1110
|
-
setLocator(
|
|
1026
|
+
setLocator(_communicator->propertyToProxy<LocatorPrx>(_name + ".Locator"));
|
|
1111
1027
|
}
|
|
1112
1028
|
else
|
|
1113
1029
|
{
|
|
1114
1030
|
setLocator(_instance->referenceFactory()->getDefaultLocator());
|
|
1115
1031
|
}
|
|
1116
1032
|
}
|
|
1117
|
-
catch(...)
|
|
1033
|
+
catch (...)
|
|
1118
1034
|
{
|
|
1119
1035
|
destroy();
|
|
1120
1036
|
throw;
|
|
@@ -1123,101 +1039,115 @@ Ice::ObjectAdapterI::initialize(const RouterPrxPtr& router)
|
|
|
1123
1039
|
|
|
1124
1040
|
Ice::ObjectAdapterI::~ObjectAdapterI()
|
|
1125
1041
|
{
|
|
1126
|
-
|
|
1042
|
+
#if defined(ICE_USE_SCHANNEL)
|
|
1043
|
+
if (_serverAuthenticationOptions && _serverAuthenticationOptions->trustedRootCertificates)
|
|
1044
|
+
{
|
|
1045
|
+
CertCloseStore(_serverAuthenticationOptions->trustedRootCertificates, 0);
|
|
1046
|
+
}
|
|
1047
|
+
#elif defined(ICE_USE_SECURE_TRANSPORT)
|
|
1048
|
+
if (_serverAuthenticationOptions && _serverAuthenticationOptions->trustedRootCertificates)
|
|
1049
|
+
{
|
|
1050
|
+
CFRelease(_serverAuthenticationOptions->trustedRootCertificates);
|
|
1051
|
+
}
|
|
1052
|
+
#endif
|
|
1053
|
+
if (_state < StateDeactivated)
|
|
1127
1054
|
{
|
|
1128
1055
|
Warning out(_instance->initializationData().logger);
|
|
1129
|
-
out << "object adapter
|
|
1056
|
+
out << "object adapter '" << getName() << "' has not been deactivated";
|
|
1130
1057
|
}
|
|
1131
|
-
else if(_state != StateDestroyed)
|
|
1058
|
+
else if (_state != StateDestroyed)
|
|
1132
1059
|
{
|
|
1133
1060
|
Warning out(_instance->initializationData().logger);
|
|
1134
|
-
out << "object adapter
|
|
1061
|
+
out << "object adapter '" << getName() << "' has not been destroyed";
|
|
1135
1062
|
}
|
|
1136
1063
|
else
|
|
1137
1064
|
{
|
|
1138
|
-
//assert(!_servantManager); // We don't clear this reference, it needs to be immutable.
|
|
1065
|
+
// assert(!_servantManager); // We don't clear this reference, it needs to be immutable.
|
|
1139
1066
|
assert(!_threadPool);
|
|
1140
1067
|
assert(_incomingConnectionFactories.empty());
|
|
1141
1068
|
assert(_directCount == 0);
|
|
1142
1069
|
}
|
|
1143
1070
|
}
|
|
1144
1071
|
|
|
1145
|
-
|
|
1146
|
-
Ice::ObjectAdapterI::newProxy(
|
|
1072
|
+
ObjectPrx
|
|
1073
|
+
Ice::ObjectAdapterI::newProxy(Identity ident, string facet) const
|
|
1147
1074
|
{
|
|
1148
|
-
if(_id.empty())
|
|
1075
|
+
if (_id.empty())
|
|
1149
1076
|
{
|
|
1150
|
-
return newDirectProxy(ident, facet);
|
|
1077
|
+
return newDirectProxy(std::move(ident), std::move(facet));
|
|
1151
1078
|
}
|
|
1152
|
-
else if(_replicaGroupId.empty())
|
|
1079
|
+
else if (_replicaGroupId.empty())
|
|
1153
1080
|
{
|
|
1154
|
-
return newIndirectProxy(ident, facet, _id);
|
|
1081
|
+
return newIndirectProxy(std::move(ident), std::move(facet), _id);
|
|
1155
1082
|
}
|
|
1156
1083
|
else
|
|
1157
1084
|
{
|
|
1158
|
-
return newIndirectProxy(ident, facet, _replicaGroupId);
|
|
1085
|
+
return newIndirectProxy(std::move(ident), std::move(facet), _replicaGroupId);
|
|
1159
1086
|
}
|
|
1160
1087
|
}
|
|
1161
1088
|
|
|
1162
|
-
|
|
1163
|
-
Ice::ObjectAdapterI::newDirectProxy(
|
|
1089
|
+
ObjectPrx
|
|
1090
|
+
Ice::ObjectAdapterI::newDirectProxy(Identity ident, string facet) const
|
|
1164
1091
|
{
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
//
|
|
1168
|
-
ReferencePtr ref = _instance->referenceFactory()->create(ident, facet, _reference, _publishedEndpoints);
|
|
1169
|
-
return _instance->proxyFactory()->referenceToProxy(ref);
|
|
1092
|
+
return ObjectPrx::_fromReference(
|
|
1093
|
+
_instance->referenceFactory()->create(std::move(ident), std::move(facet), _reference, _publishedEndpoints));
|
|
1170
1094
|
}
|
|
1171
1095
|
|
|
1172
|
-
|
|
1173
|
-
Ice::ObjectAdapterI::newIndirectProxy(
|
|
1096
|
+
ObjectPrx
|
|
1097
|
+
Ice::ObjectAdapterI::newIndirectProxy(Identity ident, string facet, string id) const
|
|
1174
1098
|
{
|
|
1175
1099
|
//
|
|
1176
1100
|
// Create an indirect reference with the given adapter id.
|
|
1177
1101
|
//
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
//
|
|
1181
|
-
// Return a proxy for the reference.
|
|
1182
|
-
//
|
|
1183
|
-
return _instance->proxyFactory()->referenceToProxy(ref);
|
|
1102
|
+
return ObjectPrx::_fromReference(
|
|
1103
|
+
_instance->referenceFactory()->create(std::move(ident), std::move(facet), _reference, std::move(id)));
|
|
1184
1104
|
}
|
|
1185
1105
|
|
|
1186
1106
|
void
|
|
1187
1107
|
Ice::ObjectAdapterI::checkForDeactivation() const
|
|
1188
1108
|
{
|
|
1189
|
-
|
|
1109
|
+
checkForDestruction();
|
|
1110
|
+
if (_state >= StateDeactivating)
|
|
1190
1111
|
{
|
|
1191
|
-
throw ObjectAdapterDeactivatedException
|
|
1112
|
+
throw ObjectAdapterDeactivatedException{__FILE__, __LINE__, getName()};
|
|
1113
|
+
}
|
|
1114
|
+
}
|
|
1115
|
+
|
|
1116
|
+
void
|
|
1117
|
+
Ice::ObjectAdapterI::checkForDestruction() const
|
|
1118
|
+
{
|
|
1119
|
+
if (_state >= StateDestroying)
|
|
1120
|
+
{
|
|
1121
|
+
throw ObjectAdapterDestroyedException{__FILE__, __LINE__, getName()};
|
|
1192
1122
|
}
|
|
1193
1123
|
}
|
|
1194
1124
|
|
|
1195
1125
|
vector<EndpointIPtr>
|
|
1196
|
-
Ice::ObjectAdapterI::parseEndpoints(
|
|
1126
|
+
Ice::ObjectAdapterI::parseEndpoints(string_view endpts, bool oaEndpoints) const
|
|
1197
1127
|
{
|
|
1198
1128
|
string::size_type beg;
|
|
1199
1129
|
string::size_type end = 0;
|
|
1200
1130
|
|
|
1201
1131
|
vector<EndpointIPtr> endpoints;
|
|
1202
|
-
while(end < endpts.length())
|
|
1132
|
+
while (end < endpts.length())
|
|
1203
1133
|
{
|
|
1204
1134
|
const string delim = " \t\n\r";
|
|
1205
1135
|
|
|
1206
1136
|
beg = endpts.find_first_not_of(delim, end);
|
|
1207
|
-
if(beg == string::npos)
|
|
1137
|
+
if (beg == string::npos)
|
|
1208
1138
|
{
|
|
1209
|
-
if(!endpoints.empty())
|
|
1139
|
+
if (!endpoints.empty())
|
|
1210
1140
|
{
|
|
1211
|
-
throw
|
|
1141
|
+
throw ParseException(__FILE__, __LINE__, "invalid empty object adapter endpoint");
|
|
1212
1142
|
}
|
|
1213
1143
|
break;
|
|
1214
1144
|
}
|
|
1215
1145
|
|
|
1216
1146
|
end = beg;
|
|
1217
|
-
while(true)
|
|
1147
|
+
while (true)
|
|
1218
1148
|
{
|
|
1219
1149
|
end = endpts.find(':', end);
|
|
1220
|
-
if(end == string::npos)
|
|
1150
|
+
if (end == string::npos)
|
|
1221
1151
|
{
|
|
1222
1152
|
end = endpts.length();
|
|
1223
1153
|
break;
|
|
@@ -1226,21 +1156,21 @@ Ice::ObjectAdapterI::parseEndpoints(const string& endpts, bool oaEndpoints) cons
|
|
|
1226
1156
|
{
|
|
1227
1157
|
bool quoted = false;
|
|
1228
1158
|
string::size_type quote = beg;
|
|
1229
|
-
while(true)
|
|
1159
|
+
while (true)
|
|
1230
1160
|
{
|
|
1231
1161
|
quote = endpts.find('\"', quote);
|
|
1232
|
-
if(quote == string::npos || end < quote)
|
|
1162
|
+
if (quote == string::npos || end < quote)
|
|
1233
1163
|
{
|
|
1234
1164
|
break;
|
|
1235
1165
|
}
|
|
1236
1166
|
else
|
|
1237
1167
|
{
|
|
1238
1168
|
quote = endpts.find('\"', ++quote);
|
|
1239
|
-
if(quote == string::npos)
|
|
1169
|
+
if (quote == string::npos)
|
|
1240
1170
|
{
|
|
1241
1171
|
break;
|
|
1242
1172
|
}
|
|
1243
|
-
else if(end < quote)
|
|
1173
|
+
else if (end < quote)
|
|
1244
1174
|
{
|
|
1245
1175
|
quoted = true;
|
|
1246
1176
|
break;
|
|
@@ -1248,7 +1178,7 @@ Ice::ObjectAdapterI::parseEndpoints(const string& endpts, bool oaEndpoints) cons
|
|
|
1248
1178
|
++quote;
|
|
1249
1179
|
}
|
|
1250
1180
|
}
|
|
1251
|
-
if(!quoted)
|
|
1181
|
+
if (!quoted)
|
|
1252
1182
|
{
|
|
1253
1183
|
break;
|
|
1254
1184
|
}
|
|
@@ -1256,16 +1186,16 @@ Ice::ObjectAdapterI::parseEndpoints(const string& endpts, bool oaEndpoints) cons
|
|
|
1256
1186
|
}
|
|
1257
1187
|
}
|
|
1258
1188
|
|
|
1259
|
-
if(end == beg)
|
|
1189
|
+
if (end == beg)
|
|
1260
1190
|
{
|
|
1261
|
-
throw
|
|
1191
|
+
throw ParseException(__FILE__, __LINE__, "invalid empty object adapter endpoint");
|
|
1262
1192
|
}
|
|
1263
1193
|
|
|
1264
|
-
|
|
1194
|
+
string_view s = endpts.substr(beg, end - beg);
|
|
1265
1195
|
EndpointIPtr endp = _instance->endpointFactoryManager()->create(s, oaEndpoints);
|
|
1266
|
-
if(endp ==
|
|
1196
|
+
if (endp == nullptr)
|
|
1267
1197
|
{
|
|
1268
|
-
throw
|
|
1198
|
+
throw ParseException(__FILE__, __LINE__, "invalid object adapter endpoint '" + string{s} + "'");
|
|
1269
1199
|
}
|
|
1270
1200
|
endpoints.push_back(endp);
|
|
1271
1201
|
|
|
@@ -1279,61 +1209,74 @@ std::vector<EndpointIPtr>
|
|
|
1279
1209
|
ObjectAdapterI::computePublishedEndpoints()
|
|
1280
1210
|
{
|
|
1281
1211
|
vector<EndpointIPtr> endpoints;
|
|
1282
|
-
if(_routerInfo)
|
|
1212
|
+
if (_routerInfo)
|
|
1283
1213
|
{
|
|
1284
|
-
//
|
|
1285
1214
|
// Get the router's server proxy endpoints and use them as the published endpoints.
|
|
1286
|
-
|
|
1287
|
-
vector<EndpointIPtr> endps = _routerInfo->getServerEndpoints();
|
|
1288
|
-
for(vector<EndpointIPtr>::const_iterator p = endps.begin(); p != endps.end(); ++p)
|
|
1289
|
-
{
|
|
1290
|
-
if(::find(endpoints.begin(), endpoints.end(), *p) == endpoints.end())
|
|
1291
|
-
{
|
|
1292
|
-
endpoints.push_back(*p);
|
|
1293
|
-
}
|
|
1294
|
-
}
|
|
1215
|
+
endpoints = _routerInfo->getServerEndpoints();
|
|
1295
1216
|
}
|
|
1296
1217
|
else
|
|
1297
1218
|
{
|
|
1298
|
-
//
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
//
|
|
1302
|
-
string endpts = _communicator->getProperties()->getProperty(_name + ".PublishedEndpoints");
|
|
1303
|
-
endpoints = parseEndpoints(endpts, false);
|
|
1304
|
-
if(endpoints.empty())
|
|
1219
|
+
// Parse published endpoints. If set, these are used in proxies instead of the connection factory endpoints.
|
|
1220
|
+
endpoints = parseEndpoints(_communicator->getProperties()->getProperty(_name + ".PublishedEndpoints"), false);
|
|
1221
|
+
if (endpoints.empty())
|
|
1305
1222
|
{
|
|
1306
|
-
//
|
|
1307
|
-
//
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1223
|
+
// If the PublishedEndpoints property isn't set, we compute the published endpoints from the factory
|
|
1224
|
+
// endpoints.
|
|
1225
|
+
for (const auto& factory : _incomingConnectionFactories)
|
|
1226
|
+
{
|
|
1227
|
+
endpoints.push_back(factory->endpoint());
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1230
|
+
// Remove all loopback/multicast endpoints
|
|
1231
|
+
vector<EndpointIPtr> endpointsNoLoopback;
|
|
1232
|
+
copy_if(
|
|
1233
|
+
endpoints.begin(),
|
|
1234
|
+
endpoints.end(),
|
|
1235
|
+
back_inserter(endpointsNoLoopback),
|
|
1236
|
+
[](const EndpointIPtr& endpoint) { return !endpoint->isLoopbackOrMulticast(); });
|
|
1237
|
+
|
|
1238
|
+
// Retrieve published host
|
|
1239
|
+
string publishedHost = _communicator->getProperties()->getProperty(_name + ".PublishedHost");
|
|
1240
|
+
|
|
1241
|
+
if (!endpointsNoLoopback.empty())
|
|
1312
1242
|
{
|
|
1313
|
-
|
|
1314
|
-
|
|
1243
|
+
endpoints = std::move(endpointsNoLoopback);
|
|
1244
|
+
|
|
1245
|
+
// For non-loopback/multicast endpoints, we use the fully qualified name of the local host as default
|
|
1246
|
+
// for publishedHost.
|
|
1247
|
+
if (publishedHost.empty())
|
|
1315
1248
|
{
|
|
1316
|
-
//
|
|
1317
|
-
// Check for duplicate endpoints, this might occur if an endpoint with a DNS name
|
|
1318
|
-
// expands to multiple addresses. In this case, multiple incoming connection
|
|
1319
|
-
// factories can point to the same published endpoint.
|
|
1320
|
-
//
|
|
1321
|
-
if(::find(endpoints.begin(), endpoints.end(), *p) == endpoints.end())
|
|
1322
|
-
{
|
|
1323
|
-
endpoints.push_back(*p);
|
|
1324
|
-
}
|
|
1249
|
+
publishedHost = getHostName(); // fully qualified name of local host
|
|
1325
1250
|
}
|
|
1326
1251
|
}
|
|
1252
|
+
// else keep endpoints as-is; they are all loopback or multicast
|
|
1253
|
+
|
|
1254
|
+
vector<EndpointIPtr> newEndpoints;
|
|
1255
|
+
|
|
1256
|
+
// Replace the host in all endpoints by publishedHost (when applicable), clear local options and remove
|
|
1257
|
+
// duplicates.
|
|
1258
|
+
for (const auto& endpoint : endpoints)
|
|
1259
|
+
{
|
|
1260
|
+
EndpointIPtr newEndpoint = endpoint->toPublishedEndpoint(publishedHost);
|
|
1261
|
+
if (none_of(
|
|
1262
|
+
newEndpoints.begin(),
|
|
1263
|
+
newEndpoints.end(),
|
|
1264
|
+
[&newEndpoint](const EndpointIPtr& p) { return *newEndpoint == *p; }))
|
|
1265
|
+
{
|
|
1266
|
+
newEndpoints.push_back(newEndpoint);
|
|
1267
|
+
}
|
|
1268
|
+
}
|
|
1269
|
+
endpoints = std::move(newEndpoints);
|
|
1327
1270
|
}
|
|
1328
1271
|
}
|
|
1329
1272
|
|
|
1330
|
-
if(_instance->traceLevels()->network >= 1 && !endpoints.empty())
|
|
1273
|
+
if (_instance->traceLevels()->network >= 1 && !endpoints.empty())
|
|
1331
1274
|
{
|
|
1332
1275
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
|
|
1333
|
-
out << "published endpoints for object adapter
|
|
1334
|
-
for(
|
|
1276
|
+
out << "published endpoints for object adapter '" << getName() << "':\n";
|
|
1277
|
+
for (size_t i = 0; i < endpoints.size(); ++i)
|
|
1335
1278
|
{
|
|
1336
|
-
if(i > 0)
|
|
1279
|
+
if (i > 0)
|
|
1337
1280
|
{
|
|
1338
1281
|
out << ":";
|
|
1339
1282
|
}
|
|
@@ -1345,22 +1288,22 @@ ObjectAdapterI::computePublishedEndpoints()
|
|
|
1345
1288
|
}
|
|
1346
1289
|
|
|
1347
1290
|
void
|
|
1348
|
-
ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locatorInfo, const
|
|
1291
|
+
ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locatorInfo, const optional<ObjectPrx>& proxy)
|
|
1349
1292
|
{
|
|
1350
|
-
if(_id.empty() || !locatorInfo)
|
|
1293
|
+
if (_id.empty() || !locatorInfo)
|
|
1351
1294
|
{
|
|
1352
1295
|
return; // Nothing to update.
|
|
1353
1296
|
}
|
|
1354
1297
|
|
|
1355
|
-
|
|
1356
|
-
if(!locatorRegistry)
|
|
1298
|
+
optional<LocatorRegistryPrx> locatorRegistry = locatorInfo->getLocatorRegistry();
|
|
1299
|
+
if (!locatorRegistry)
|
|
1357
1300
|
{
|
|
1358
1301
|
return;
|
|
1359
1302
|
}
|
|
1360
1303
|
|
|
1361
1304
|
try
|
|
1362
1305
|
{
|
|
1363
|
-
if(_replicaGroupId.empty())
|
|
1306
|
+
if (_replicaGroupId.empty())
|
|
1364
1307
|
{
|
|
1365
1308
|
locatorRegistry->setAdapterDirectProxy(_id, proxy);
|
|
1366
1309
|
}
|
|
@@ -1369,162 +1312,72 @@ ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locator
|
|
|
1369
1312
|
locatorRegistry->setReplicatedAdapterDirectProxy(_id, _replicaGroupId, proxy);
|
|
1370
1313
|
}
|
|
1371
1314
|
}
|
|
1372
|
-
catch(const AdapterNotFoundException&)
|
|
1315
|
+
catch (const AdapterNotFoundException&)
|
|
1373
1316
|
{
|
|
1374
|
-
if(_instance->traceLevels()->location >= 1)
|
|
1317
|
+
if (_instance->traceLevels()->location >= 1)
|
|
1375
1318
|
{
|
|
1376
1319
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
|
|
1377
|
-
out << "couldn't update object adapter
|
|
1320
|
+
out << "couldn't update object adapter '" + _id + "' endpoints with the locator registry:\n";
|
|
1378
1321
|
out << "the object adapter is not known to the locator registry";
|
|
1379
1322
|
}
|
|
1380
1323
|
|
|
1381
1324
|
throw NotRegisteredException(__FILE__, __LINE__, "object adapter", _id);
|
|
1382
1325
|
}
|
|
1383
|
-
catch(const InvalidReplicaGroupIdException&)
|
|
1326
|
+
catch (const InvalidReplicaGroupIdException&)
|
|
1384
1327
|
{
|
|
1385
|
-
if(_instance->traceLevels()->location >= 1)
|
|
1328
|
+
if (_instance->traceLevels()->location >= 1)
|
|
1386
1329
|
{
|
|
1387
1330
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
|
|
1388
|
-
out << "couldn't update object adapter
|
|
1389
|
-
out << "the replica group
|
|
1331
|
+
out << "couldn't update object adapter '" + _id + "' endpoints with the locator registry:\n";
|
|
1332
|
+
out << "the replica group '" << _replicaGroupId << "' is not known to the locator registry";
|
|
1390
1333
|
}
|
|
1391
1334
|
|
|
1392
1335
|
throw NotRegisteredException(__FILE__, __LINE__, "replica group", _replicaGroupId);
|
|
1393
1336
|
}
|
|
1394
|
-
catch(const AdapterAlreadyActiveException&)
|
|
1337
|
+
catch (const AdapterAlreadyActiveException&)
|
|
1395
1338
|
{
|
|
1396
|
-
if(_instance->traceLevels()->location >= 1)
|
|
1339
|
+
if (_instance->traceLevels()->location >= 1)
|
|
1397
1340
|
{
|
|
1398
1341
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
|
|
1399
|
-
out << "couldn't update object adapter
|
|
1342
|
+
out << "couldn't update object adapter '" + _id + "' endpoints with the locator registry:\n";
|
|
1400
1343
|
out << "the object adapter endpoints are already set";
|
|
1401
1344
|
}
|
|
1402
1345
|
|
|
1403
1346
|
throw ObjectAdapterIdInUseException(__FILE__, __LINE__, _id);
|
|
1404
1347
|
}
|
|
1405
|
-
catch(const ObjectAdapterDeactivatedException&)
|
|
1348
|
+
catch (const ObjectAdapterDeactivatedException&)
|
|
1406
1349
|
{
|
|
1407
1350
|
// Expected if collocated call and OA is deactivated, ignore.
|
|
1408
1351
|
}
|
|
1409
|
-
catch(const CommunicatorDestroyedException&)
|
|
1352
|
+
catch (const CommunicatorDestroyedException&)
|
|
1410
1353
|
{
|
|
1411
1354
|
// Ignore.
|
|
1412
1355
|
}
|
|
1413
|
-
catch(const LocalException& ex)
|
|
1356
|
+
catch (const LocalException& ex)
|
|
1414
1357
|
{
|
|
1415
|
-
if(_instance->traceLevels()->location >= 1)
|
|
1358
|
+
if (_instance->traceLevels()->location >= 1)
|
|
1416
1359
|
{
|
|
1417
1360
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
|
|
1418
|
-
out << "couldn't update object adapter
|
|
1361
|
+
out << "couldn't update object adapter '" + _id + "' endpoints with the locator registry:\n" << ex;
|
|
1419
1362
|
}
|
|
1420
1363
|
throw; // TODO: Shall we raise a special exception instead of a non obvious local exception?
|
|
1421
1364
|
}
|
|
1422
1365
|
|
|
1423
|
-
if(_instance->traceLevels()->location >= 1)
|
|
1366
|
+
if (_instance->traceLevels()->location >= 1)
|
|
1424
1367
|
{
|
|
1425
1368
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
|
|
1426
|
-
out << "updated object adapter
|
|
1369
|
+
out << "updated object adapter '" + _id + "' endpoints with the locator registry\n";
|
|
1427
1370
|
out << "endpoints = ";
|
|
1428
|
-
if(proxy)
|
|
1371
|
+
if (proxy)
|
|
1429
1372
|
{
|
|
1430
1373
|
EndpointSeq endpts = proxy ? proxy->ice_getEndpoints() : EndpointSeq();
|
|
1431
1374
|
ostringstream o;
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
});
|
|
1438
|
-
#else
|
|
1439
|
-
transform(endpts.begin(), endpts.end(), ostream_iterator<string>(o, endpts.size() > 1 ? ":" : ""),
|
|
1440
|
-
Ice::constMemFun(&Endpoint::toString));
|
|
1441
|
-
#endif
|
|
1375
|
+
transform(
|
|
1376
|
+
endpts.begin(),
|
|
1377
|
+
endpts.end(),
|
|
1378
|
+
ostream_iterator<string>(o, endpts.size() > 1 ? ":" : ""),
|
|
1379
|
+
[](const EndpointPtr& endpoint) { return endpoint->toString(); });
|
|
1442
1380
|
out << o.str();
|
|
1443
1381
|
}
|
|
1444
1382
|
}
|
|
1445
1383
|
}
|
|
1446
|
-
|
|
1447
|
-
bool
|
|
1448
|
-
Ice::ObjectAdapterI::filterProperties(StringSeq& unknownProps)
|
|
1449
|
-
{
|
|
1450
|
-
static const string suffixes[] =
|
|
1451
|
-
{
|
|
1452
|
-
"ACM",
|
|
1453
|
-
"ACM.Close",
|
|
1454
|
-
"ACM.Heartbeat",
|
|
1455
|
-
"ACM.Timeout",
|
|
1456
|
-
"AdapterId",
|
|
1457
|
-
"Endpoints",
|
|
1458
|
-
"Locator",
|
|
1459
|
-
"Locator.EncodingVersion",
|
|
1460
|
-
"Locator.EndpointSelection",
|
|
1461
|
-
"Locator.ConnectionCached",
|
|
1462
|
-
"Locator.PreferSecure",
|
|
1463
|
-
"Locator.CollocationOptimized",
|
|
1464
|
-
"Locator.Router",
|
|
1465
|
-
"MessageSizeMax",
|
|
1466
|
-
"PublishedEndpoints",
|
|
1467
|
-
"ReplicaGroupId",
|
|
1468
|
-
"Router",
|
|
1469
|
-
"Router.EncodingVersion",
|
|
1470
|
-
"Router.EndpointSelection",
|
|
1471
|
-
"Router.ConnectionCached",
|
|
1472
|
-
"Router.PreferSecure",
|
|
1473
|
-
"Router.CollocationOptimized",
|
|
1474
|
-
"Router.Locator",
|
|
1475
|
-
"Router.Locator.EndpointSelection",
|
|
1476
|
-
"Router.Locator.ConnectionCached",
|
|
1477
|
-
"Router.Locator.PreferSecure",
|
|
1478
|
-
"Router.Locator.CollocationOptimized",
|
|
1479
|
-
"Router.Locator.LocatorCacheTimeout",
|
|
1480
|
-
"Router.Locator.InvocationTimeout",
|
|
1481
|
-
"Router.LocatorCacheTimeout",
|
|
1482
|
-
"Router.InvocationTimeout",
|
|
1483
|
-
"ProxyOptions",
|
|
1484
|
-
"ThreadPool.Size",
|
|
1485
|
-
"ThreadPool.SizeMax",
|
|
1486
|
-
"ThreadPool.SizeWarn",
|
|
1487
|
-
"ThreadPool.StackSize",
|
|
1488
|
-
"ThreadPool.Serialize",
|
|
1489
|
-
"ThreadPool.ThreadPriority"
|
|
1490
|
-
};
|
|
1491
|
-
|
|
1492
|
-
//
|
|
1493
|
-
// Do not create unknown properties list if Ice prefix, ie Ice, Glacier2, etc
|
|
1494
|
-
//
|
|
1495
|
-
bool addUnknown = true;
|
|
1496
|
-
string prefix = _name + ".";
|
|
1497
|
-
for(const char** i = IceInternal::PropertyNames::clPropNames; *i != 0; ++i)
|
|
1498
|
-
{
|
|
1499
|
-
string icePrefix = string(*i) + ".";
|
|
1500
|
-
if(prefix.find(icePrefix) == 0)
|
|
1501
|
-
{
|
|
1502
|
-
addUnknown = false;
|
|
1503
|
-
break;
|
|
1504
|
-
}
|
|
1505
|
-
}
|
|
1506
|
-
|
|
1507
|
-
bool noProps = true;
|
|
1508
|
-
PropertyDict props = _instance->initializationData().properties->getPropertiesForPrefix(prefix);
|
|
1509
|
-
for(PropertyDict::const_iterator p = props.begin(); p != props.end(); ++p)
|
|
1510
|
-
{
|
|
1511
|
-
bool valid = false;
|
|
1512
|
-
for(unsigned int i = 0; i < sizeof(suffixes)/sizeof(*suffixes); ++i)
|
|
1513
|
-
{
|
|
1514
|
-
string prop = prefix + suffixes[i];
|
|
1515
|
-
if(p->first == prop)
|
|
1516
|
-
{
|
|
1517
|
-
noProps = false;
|
|
1518
|
-
valid = true;
|
|
1519
|
-
break;
|
|
1520
|
-
}
|
|
1521
|
-
}
|
|
1522
|
-
|
|
1523
|
-
if(!valid && addUnknown)
|
|
1524
|
-
{
|
|
1525
|
-
unknownProps.push_back(p->first);
|
|
1526
|
-
}
|
|
1527
|
-
}
|
|
1528
|
-
|
|
1529
|
-
return noProps;
|
|
1530
|
-
}
|