zeroc-ice 3.6.5 → 3.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/BZIP2_LICENSE +42 -0
- data/ICE_LICENSE +17 -17
- data/LICENSE +12 -12
- data/bin/slice2rb +1 -1
- data/ext/Communicator.cpp +150 -53
- data/ext/Communicator.h +1 -1
- data/ext/Config.h +2 -12
- data/ext/Connection.cpp +89 -68
- data/ext/Connection.h +1 -1
- data/ext/Endpoint.cpp +16 -45
- data/ext/Endpoint.h +1 -1
- data/ext/ImplicitContext.cpp +1 -5
- data/ext/ImplicitContext.h +1 -1
- data/ext/Init.cpp +4 -1
- data/ext/Logger.cpp +1 -1
- data/ext/Logger.h +1 -1
- data/ext/Operation.cpp +33 -44
- data/ext/Operation.h +1 -1
- data/ext/Properties.cpp +1 -1
- data/ext/Properties.h +1 -1
- data/ext/Proxy.cpp +22 -57
- data/ext/Proxy.h +1 -1
- data/ext/Slice.cpp +5 -5
- data/ext/Slice.h +1 -1
- data/ext/Types.cpp +244 -171
- data/ext/Types.h +118 -66
- data/ext/Util.cpp +13 -9
- data/ext/Util.h +10 -10
- data/ext/ValueFactoryManager.cpp +445 -0
- data/ext/ValueFactoryManager.h +100 -0
- data/ext/extconf.rb +47 -45
- data/ext/ice/bzip2/blocksort.c +1094 -0
- data/ext/ice/bzip2/bzlib.c +1572 -0
- data/ext/ice/bzip2/bzlib.h +282 -0
- data/ext/ice/bzip2/bzlib_private.h +509 -0
- data/ext/ice/bzip2/compress.c +672 -0
- data/ext/ice/bzip2/crctable.c +104 -0
- data/ext/ice/bzip2/decompress.c +646 -0
- data/ext/ice/bzip2/huffman.c +205 -0
- data/ext/ice/bzip2/randtable.c +84 -0
- data/ext/ice/cpp/include/Ice/Application.h +77 -60
- data/ext/ice/cpp/include/Ice/AsyncResult.h +34 -318
- data/ext/ice/cpp/include/Ice/AsyncResultF.h +4 -2
- data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +5 -10
- data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +1 -1
- data/ext/ice/cpp/include/Ice/Buffer.h +10 -10
- data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +14 -12
- data/ext/ice/cpp/include/Ice/Comparable.h +130 -0
- data/ext/ice/cpp/include/Ice/Config.h +7 -36
- data/ext/ice/cpp/include/Ice/ConnectionAsync.h +107 -11
- data/ext/ice/cpp/include/Ice/ConnectionIF.h +5 -1
- data/ext/ice/cpp/include/Ice/ConsoleUtil.h +28 -0
- data/ext/ice/cpp/include/Ice/{DefaultObjectFactory.h → DefaultValueFactory.h} +28 -14
- data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +4 -6
- data/ext/ice/cpp/include/Ice/Dispatcher.h +14 -13
- data/ext/ice/cpp/include/Ice/DynamicLibrary.h +7 -5
- data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
- data/ext/ice/cpp/include/Ice/Exception.h +66 -56
- data/ext/ice/cpp/include/Ice/ExceptionHelpers.h +69 -0
- data/ext/ice/cpp/include/Ice/FactoryTable.h +11 -12
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +27 -25
- data/ext/ice/cpp/include/Ice/Format.h +6 -1
- data/ext/ice/cpp/include/Ice/Functional.h +33 -33
- data/ext/ice/cpp/include/Ice/GCObject.h +9 -5
- data/ext/ice/cpp/include/Ice/Handle.h +6 -11
- data/ext/ice/cpp/include/Ice/Ice.h +9 -5
- data/ext/ice/cpp/include/{IceUtil → Ice}/IconvStringConverter.h +108 -62
- data/ext/ice/cpp/include/Ice/Incoming.h +109 -33
- data/ext/ice/cpp/include/Ice/IncomingAsync.h +63 -23
- data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +7 -1
- data/ext/ice/cpp/include/Ice/Initialize.h +178 -38
- data/ext/ice/cpp/include/Ice/InputStream.h +994 -0
- data/ext/ice/cpp/include/Ice/InstanceF.h +1 -2
- data/ext/ice/cpp/include/Ice/InterfaceByValue.h +46 -0
- data/ext/ice/cpp/include/Ice/LocalObject.h +9 -9
- data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
- data/ext/ice/cpp/include/Ice/LoggerUtil.h +20 -14
- data/ext/ice/cpp/include/Ice/MetricsAdminI.h +114 -65
- data/ext/ice/cpp/include/Ice/MetricsFunctional.h +23 -5
- data/ext/ice/cpp/include/Ice/MetricsObserverI.h +99 -26
- data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +17 -4
- data/ext/ice/cpp/include/Ice/Object.h +105 -56
- data/ext/ice/cpp/include/Ice/ObjectF.h +8 -3
- data/ext/ice/cpp/include/Ice/ObserverHelper.h +18 -8
- data/ext/ice/cpp/include/Ice/Optional.h +1084 -0
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +655 -84
- data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +12 -6
- data/ext/ice/cpp/include/Ice/OutputStream.h +753 -0
- data/ext/ice/cpp/include/Ice/Protocol.h +19 -12
- data/ext/ice/cpp/include/Ice/Proxy.h +1329 -717
- data/ext/ice/cpp/include/Ice/ProxyF.h +11 -33
- data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
- data/ext/ice/cpp/include/Ice/ProxyHandle.h +34 -50
- data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
- data/ext/ice/cpp/include/Ice/RegisterPlugins.h +22 -3
- data/ext/ice/cpp/include/Ice/RequestHandlerF.h +10 -4
- data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +6 -1
- data/ext/ice/cpp/include/{IceUtil → Ice}/SHA1.h +16 -16
- data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
- data/ext/ice/cpp/include/Ice/Service.h +13 -18
- data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -1
- data/ext/ice/cpp/include/Ice/SlicedData.h +46 -20
- data/ext/ice/cpp/include/Ice/SlicedDataF.h +14 -6
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +159 -49
- data/ext/ice/cpp/include/Ice/StringConverter.h +52 -0
- data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
- data/{slice/Ice/ObjectFactoryF.ice → ext/ice/cpp/include/Ice/UUID.h} +9 -7
- data/ext/ice/cpp/include/{IceUtil → Ice}/UniquePtr.h +21 -22
- data/ext/ice/cpp/include/Ice/UniqueRef.h +98 -0
- data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +40 -8
- data/ext/ice/cpp/include/Ice/Value.h +104 -0
- data/{slice/Freeze/ConnectionF.ice → ext/ice/cpp/include/Ice/ValueF.h} +11 -7
- data/ext/ice/cpp/include/IceSSL/Config.h +8 -23
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +17 -6
- data/ext/ice/cpp/include/IceSSL/OpenSSL.h +130 -0
- data/ext/ice/cpp/include/IceSSL/Plugin.h +172 -259
- data/ext/ice/cpp/include/IceSSL/SChannel.h +66 -0
- data/ext/ice/cpp/include/IceSSL/SecureTransport.h +66 -0
- data/ext/ice/cpp/include/IceSSL/UWP.h +58 -0
- data/ext/ice/cpp/include/IceUtil/Atomic.h +8 -10
- data/ext/ice/cpp/include/IceUtil/Cond.h +17 -18
- data/ext/ice/cpp/include/IceUtil/Config.h +138 -39
- data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +97 -0
- data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +5 -5
- data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +23 -17
- data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +1 -3
- data/ext/ice/cpp/include/IceUtil/Exception.h +157 -67
- data/ext/ice/cpp/include/IceUtil/FileUtil.h +148 -0
- data/ext/ice/cpp/include/IceUtil/Functional.h +1 -2
- data/ext/ice/cpp/include/IceUtil/Handle.h +11 -11
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +4 -10
- data/ext/ice/cpp/include/IceUtil/InputUtil.h +3 -3
- data/ext/ice/cpp/include/IceUtil/Iterator.h +2 -2
- data/ext/ice/cpp/include/IceUtil/Lock.h +8 -10
- data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -2
- data/ext/ice/cpp/include/IceUtil/Mutex.h +17 -11
- data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +2 -2
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +4 -4
- data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +4 -4
- data/ext/ice/cpp/include/IceUtil/Optional.h +32 -18
- data/ext/ice/cpp/include/IceUtil/Options.h +17 -18
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +55 -29
- data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +6 -6
- data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +11 -10
- data/ext/ice/cpp/include/IceUtil/Random.h +3 -3
- data/ext/ice/cpp/include/IceUtil/RecMutex.h +7 -8
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +58 -0
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +1 -9
- data/ext/ice/cpp/include/IceUtil/ScopedArray.h +8 -2
- data/ext/ice/cpp/include/IceUtil/Shared.h +5 -7
- data/ext/ice/cpp/{src → include}/IceUtil/StopWatch.h +2 -2
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +77 -72
- data/ext/ice/cpp/include/IceUtil/StringUtil.h +32 -21
- data/ext/ice/cpp/include/IceUtil/Thread.h +10 -12
- data/ext/ice/cpp/include/IceUtil/ThreadException.h +33 -42
- data/ext/ice/cpp/include/IceUtil/Time.h +3 -3
- data/ext/ice/cpp/include/IceUtil/Timer.h +14 -13
- data/ext/ice/cpp/include/IceUtil/UUID.h +2 -2
- data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
- data/ext/ice/cpp/include/{Ice → generated/Ice}/BuiltinSequences.h +41 -8
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +364 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/CommunicatorF.h +40 -8
- data/ext/ice/cpp/include/generated/Ice/Connection.h +872 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ConnectionF.h +46 -8
- data/ext/ice/cpp/include/{Ice → generated/Ice}/Current.h +71 -8
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +582 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/EndpointF.h +62 -8
- data/ext/ice/cpp/include/{Ice → generated/Ice}/EndpointTypes.h +31 -16
- data/ext/ice/cpp/include/{Ice → generated/Ice}/FacetMap.h +23 -8
- data/ext/ice/cpp/include/generated/Ice/Identity.h +221 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ImplicitContext.h +72 -13
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ImplicitContextF.h +40 -8
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +602 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/InstrumentationF.h +54 -8
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +2802 -0
- data/ext/ice/cpp/include/generated/Ice/Locator.h +2036 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/LocatorF.h +53 -12
- data/ext/ice/cpp/include/{Ice → generated/Ice}/Logger.h +71 -13
- data/ext/ice/cpp/include/{Ice → generated/Ice}/LoggerF.h +40 -8
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +2649 -0
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +302 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ObjectAdapterF.h +40 -8
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +142 -0
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +197 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/PluginF.h +43 -8
- data/ext/ice/cpp/include/generated/Ice/Process.h +536 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ProcessF.h +45 -10
- data/ext/ice/cpp/include/{Ice → generated/Ice}/Properties.h +88 -21
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +749 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/PropertiesF.h +48 -10
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +1449 -0
- data/ext/ice/cpp/include/generated/Ice/Router.h +1032 -0
- data/ext/ice/cpp/include/{Ice → generated/Ice}/RouterF.h +45 -10
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ServantLocator.h +65 -13
- data/ext/ice/cpp/include/{Ice → generated/Ice}/ServantLocatorF.h +40 -8
- data/ext/ice/cpp/include/{Ice → generated/Ice}/SliceChecksumDict.h +23 -8
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +169 -0
- data/ext/ice/cpp/include/generated/Ice/Version.h +334 -0
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +172 -0
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +98 -0
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +156 -0
- data/ext/ice/cpp/src/Ice/ACM.cpp +18 -14
- data/ext/ice/cpp/src/Ice/ACM.h +9 -2
- data/ext/ice/cpp/{include → src}/Ice/ACMF.h +10 -5
- data/ext/ice/cpp/src/Ice/Acceptor.cpp +6 -1
- data/ext/ice/cpp/src/Ice/Acceptor.h +4 -3
- data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
- data/ext/ice/cpp/src/{IceUtil → Ice}/ArgVector.cpp +9 -9
- data/ext/ice/cpp/src/{IceUtil → Ice}/ArgVector.h +7 -7
- data/ext/ice/cpp/src/Ice/AsyncResult.cpp +15 -538
- data/ext/ice/cpp/src/Ice/Base64.cpp +11 -11
- data/ext/ice/cpp/src/Ice/Base64.h +1 -1
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +40 -12
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +15 -10
- data/ext/ice/cpp/src/Ice/Buffer.cpp +74 -12
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +20 -6
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +85 -190
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +17 -18
- data/ext/ice/cpp/src/Ice/Communicator.cpp +39 -8
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +271 -104
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +84 -28
- data/ext/ice/cpp/src/{IceUtil → Ice}/Cond.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +58 -125
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +11 -22
- data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +6 -2
- data/ext/ice/cpp/src/Ice/Connection.cpp +88 -8
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +158 -80
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +41 -23
- data/ext/ice/cpp/{include → src}/Ice/ConnectionFactoryF.h +8 -3
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +707 -653
- data/ext/ice/cpp/src/Ice/ConnectionI.h +97 -69
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +2 -15
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +4 -3
- data/ext/ice/cpp/src/Ice/Connector.cpp +6 -1
- data/ext/ice/cpp/src/Ice/Connector.h +4 -3
- data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
- data/ext/ice/cpp/src/{IceUtil → Ice}/CountDownLatch.cpp +4 -4
- data/ext/ice/cpp/src/Ice/Current.cpp +29 -6
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +6 -5
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +1 -1
- data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +1 -1
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +5 -25
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +29 -19
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +85 -6
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +152 -1
- data/ext/ice/cpp/src/Ice/EndpointFactory.h +72 -6
- data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +35 -19
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +10 -4
- data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
- data/ext/ice/cpp/src/Ice/EndpointI.cpp +17 -1
- data/ext/ice/cpp/src/Ice/EndpointI.h +35 -9
- data/ext/ice/cpp/src/Ice/EndpointIF.h +18 -5
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +18 -6
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +6 -4
- data/ext/ice/cpp/src/Ice/EventHandler.h +13 -8
- data/ext/ice/cpp/src/Ice/EventHandlerF.h +5 -2
- data/ext/ice/cpp/src/Ice/Exception.cpp +95 -86
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +20 -6
- data/ext/ice/cpp/src/Ice/FactoryTable.cpp +37 -28
- data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +2 -4
- data/ext/ice/cpp/src/Ice/GCObject.cpp +28 -25
- data/ext/ice/cpp/src/Ice/HashUtil.h +2 -3
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +1 -2
- data/ext/ice/cpp/src/Ice/HttpParser.h +1 -1
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +92 -53
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +19 -10
- data/ext/ice/cpp/src/Ice/IPEndpointIF.h +6 -2
- data/ext/ice/cpp/src/Ice/IconvStringConverter.cpp +56 -0
- data/ext/ice/cpp/src/Ice/Identity.cpp +24 -10
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +37 -6
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +14 -14
- data/ext/ice/cpp/src/Ice/ImplicitContextI.h +7 -5
- data/ext/ice/cpp/src/Ice/Incoming.cpp +276 -245
- data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +104 -209
- data/ext/ice/cpp/src/Ice/IncomingRequest.h +5 -4
- data/ext/ice/cpp/src/Ice/Initialize.cpp +299 -172
- data/ext/ice/cpp/src/Ice/InputStream.cpp +2773 -0
- data/ext/ice/cpp/src/Ice/Instance.cpp +191 -231
- data/ext/ice/cpp/src/Ice/Instance.h +30 -18
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +106 -7
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +117 -99
- data/ext/ice/cpp/src/Ice/InstrumentationI.h +30 -31
- data/ext/ice/cpp/src/Ice/LocalException.cpp +1190 -416
- data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -2
- data/ext/ice/cpp/src/Ice/Locator.cpp +1167 -1215
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +29 -6
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +129 -163
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +29 -29
- data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
- data/ext/ice/cpp/src/Ice/Logger.cpp +35 -5
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +178 -73
- data/ext/ice/cpp/src/Ice/LoggerAdminI.h +4 -4
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +14 -44
- data/ext/ice/cpp/src/Ice/LoggerI.h +7 -13
- data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +10 -12
- data/ext/ice/cpp/src/Ice/Metrics.cpp +1059 -1069
- data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +49 -19
- data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -2
- data/ext/ice/cpp/src/Ice/Network.cpp +534 -170
- data/ext/ice/cpp/src/Ice/Network.h +100 -23
- data/ext/ice/cpp/src/Ice/NetworkF.h +2 -2
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +21 -14
- data/ext/ice/cpp/src/Ice/NetworkProxy.h +5 -2
- data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
- data/ext/ice/cpp/src/Ice/Object.cpp +217 -221
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +41 -6
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +35 -14
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +13 -7
- data/ext/ice/cpp/{include → src}/Ice/ObjectAdapterFactoryF.h +5 -1
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +184 -58
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +32 -26
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +37 -6
- data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +9 -32
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +40 -18
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +14 -5
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +803 -365
- data/ext/ice/cpp/src/Ice/OutputStream.cpp +1399 -0
- data/ext/ice/cpp/src/Ice/Plugin.cpp +45 -6
- data/ext/ice/cpp/src/Ice/PluginF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +13 -13
- data/ext/ice/cpp/src/Ice/PluginManagerI.h +5 -6
- data/ext/ice/cpp/src/Ice/Process.cpp +256 -114
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +29 -6
- data/ext/ice/cpp/src/Ice/Properties.cpp +38 -8
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +340 -328
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +81 -17
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +29 -5
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +29 -6
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +25 -26
- data/ext/ice/cpp/src/Ice/PropertiesI.h +8 -11
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +107 -50
- data/ext/ice/cpp/src/Ice/PropertyNames.h +4 -2
- data/ext/ice/cpp/src/Ice/Protocol.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +37 -2
- data/ext/ice/cpp/src/Ice/ProtocolInstance.h +9 -20
- data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +6 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +3 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
- data/ext/ice/cpp/src/Ice/Proxy.cpp +690 -964
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +23 -32
- data/ext/ice/cpp/src/Ice/ProxyFactory.h +16 -11
- data/ext/ice/cpp/src/Ice/Reference.cpp +75 -69
- data/ext/ice/cpp/src/Ice/Reference.h +27 -22
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +18 -21
- data/ext/ice/cpp/src/Ice/ReferenceFactory.h +12 -12
- data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +18 -4
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.h +1 -1
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +672 -552
- data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
- data/ext/ice/cpp/src/Ice/RequestHandler.cpp +5 -3
- data/ext/ice/cpp/src/Ice/RequestHandler.h +10 -13
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +10 -6
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +2 -2
- data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +3 -6
- data/ext/ice/cpp/src/Ice/ResponseHandler.h +16 -7
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +6 -12
- data/ext/ice/cpp/src/Ice/RetryQueue.h +7 -6
- data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
- data/ext/ice/cpp/src/Ice/Router.cpp +523 -474
- data/ext/ice/cpp/src/Ice/RouterF.cpp +29 -6
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +91 -70
- data/ext/ice/cpp/src/Ice/RouterInfo.h +43 -32
- data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
- data/ext/ice/cpp/src/{IceUtil → Ice}/SHA1.cpp +21 -21
- data/ext/ice/cpp/src/Ice/Selector.cpp +989 -923
- data/ext/ice/cpp/src/Ice/Selector.h +100 -147
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +37 -6
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +27 -5
- data/ext/ice/cpp/src/Ice/ServantManager.cpp +9 -9
- data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
- data/ext/ice/cpp/src/Ice/SharedContext.h +2 -2
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +20 -6
- data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +2 -2
- data/ext/ice/cpp/src/Ice/SlicedData.cpp +72 -20
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +173 -18
- data/ext/ice/cpp/src/Ice/StreamSocket.h +13 -4
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +48 -17
- data/ext/ice/cpp/src/Ice/StringUtil.h +35 -0
- data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +8 -4
- data/ext/ice/cpp/src/Ice/SysLoggerI.h +2 -3
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +158 -32
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +12 -5
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -7
- data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -2
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +40 -32
- data/ext/ice/cpp/src/Ice/TcpEndpointI.h +11 -8
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +12 -27
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +7 -10
- data/ext/ice/cpp/src/{IceUtil → Ice}/Thread.cpp +24 -41
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +175 -267
- data/ext/ice/cpp/src/Ice/ThreadPool.h +38 -43
- data/ext/ice/cpp/src/{IceUtil → Ice}/Timer.cpp +28 -21
- data/ext/ice/cpp/src/Ice/TraceLevels.cpp +2 -2
- data/ext/ice/cpp/src/Ice/TraceLevels.h +1 -1
- data/ext/ice/cpp/src/Ice/TraceLevelsF.h +2 -2
- data/ext/ice/cpp/src/Ice/TraceUtil.cpp +53 -31
- data/ext/ice/cpp/src/Ice/TraceUtil.h +13 -6
- data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -2
- data/ext/ice/cpp/src/Ice/Transceiver.h +8 -7
- data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +2 -8
- data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -2
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +92 -31
- data/ext/ice/cpp/src/Ice/UdpEndpointI.h +12 -4
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +150 -179
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +15 -17
- data/ext/ice/cpp/src/Ice/Value.cpp +81 -0
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +84 -0
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +70 -0
- data/ext/ice/cpp/src/Ice/ValueFactoryManagerI.h +42 -0
- data/ext/ice/cpp/src/Ice/Version.cpp +24 -14
- data/ext/ice/cpp/src/Ice/VirtualShared.h +43 -0
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +3 -9
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +3 -7
- data/ext/ice/cpp/src/Ice/WSConnector.cpp +5 -11
- data/ext/ice/cpp/src/Ice/WSConnector.h +3 -6
- data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +185 -80
- data/ext/ice/cpp/src/Ice/WSEndpoint.h +21 -31
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +41 -37
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +7 -21
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +526 -264
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +341 -455
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +86 -26
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +59 -23
- data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +315 -61
- data/ext/ice/cpp/src/IceDiscovery/LookupI.h +83 -36
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +57 -59
- data/ext/ice/cpp/src/IceDiscovery/PluginI.h +3 -3
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +396 -159
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +251 -355
- data/ext/ice/cpp/src/IceLocatorDiscovery/Plugin.h +52 -0
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +526 -131
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +19 -165
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +8 -17
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +284 -0
- data/ext/ice/cpp/src/IceSSL/CertificateI.h +69 -0
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +39 -11
- data/ext/ice/cpp/src/{Ice/ObjectFactoryF.cpp → IceSSL/ConnectionInfoF.cpp} +31 -9
- data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +14 -56
- data/ext/ice/cpp/src/IceSSL/ConnectorI.h +6 -13
- data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +205 -197
- data/ext/ice/cpp/src/IceSSL/EndpointI.h +41 -33
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +39 -10
- data/ext/ice/cpp/src/IceSSL/Instance.cpp +1 -6
- data/ext/ice/cpp/src/IceSSL/Instance.h +7 -7
- data/ext/ice/cpp/src/IceSSL/InstanceF.h +11 -7
- data/ext/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +588 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +117 -152
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +64 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngineF.h +32 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +132 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +400 -89
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +36 -21
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +291 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLUtil.h +63 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +71 -41
- data/ext/ice/cpp/src/IceSSL/PluginI.h +13 -18
- data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +9 -54
- data/ext/ice/cpp/src/IceSSL/RFC2253.h +7 -7
- data/ext/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +585 -0
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +491 -75
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +126 -0
- data/ext/ice/cpp/src/IceSSL/SChannelEngineF.h +32 -0
- data/ext/ice/cpp/src/IceSSL/SChannelPluginI.cpp +78 -0
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +126 -169
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +19 -22
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +79 -74
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +24 -187
- data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +4 -19
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +862 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +56 -214
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.h +60 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngineF.h +31 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +80 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +137 -144
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +25 -28
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +857 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.h +46 -0
- data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +9 -13
- data/ext/ice/cpp/src/IceSSL/TrustManager.h +4 -4
- data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +3 -3
- data/ext/ice/cpp/src/IceSSL/UWPCertificateI.cpp +271 -0
- data/ext/ice/cpp/src/IceSSL/UWPEngine.cpp +343 -0
- data/ext/ice/cpp/src/IceSSL/UWPEngine.h +46 -0
- data/ext/ice/cpp/{include/Ice/ObjectFactoryManagerF.h → src/IceSSL/UWPEngineF.h} +13 -8
- data/ext/ice/cpp/src/IceSSL/UWPPluginI.cpp +94 -0
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.cpp +388 -0
- data/ext/ice/cpp/src/IceSSL/UWPTransceiverI.h +76 -0
- data/ext/ice/cpp/src/IceSSL/Util.cpp +66 -1256
- data/ext/ice/cpp/src/IceSSL/Util.h +48 -137
- data/ext/ice/cpp/src/IceUtil/ConsoleUtil.cpp +162 -0
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +22 -22
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +34 -26
- data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +20 -31
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +25 -116
- data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Options.cpp +23 -46
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +7 -6
- data/ext/ice/cpp/src/IceUtil/Random.cpp +13 -13
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +3 -9
- data/ext/ice/cpp/src/IceUtil/Shared.cpp +8 -3
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +501 -264
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +540 -235
- data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +37 -74
- data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +10 -10
- data/ext/ice/cpp/src/IceUtil/Unicode.cpp +98 -97
- data/ext/ice/cpp/src/IceUtil/Unicode.h +21 -35
- data/ext/ice/cpp/src/IceUtil/UtilException.cpp +838 -0
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +815 -163
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +76 -0
- data/ext/ice/cpp/src/Slice/Checksum.cpp +2 -2
- data/ext/ice/cpp/{include → src}/Slice/Checksum.h +2 -2
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +25 -78
- data/ext/ice/cpp/{include → src}/Slice/FileTracker.h +9 -9
- data/ext/ice/cpp/src/Slice/Grammar.cpp +1994 -1943
- data/ext/ice/cpp/src/Slice/Grammar.h +44 -24
- data/ext/ice/cpp/src/Slice/GrammarUtil.h +14 -14
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +2658 -1927
- data/ext/ice/cpp/{include → src}/Slice/JavaUtil.h +178 -59
- data/ext/ice/cpp/src/Slice/MD5.cpp +1 -1
- data/ext/ice/cpp/src/Slice/MD5.h +1 -1
- data/ext/ice/cpp/src/Slice/MD5I.cpp +0 -1
- data/ext/ice/cpp/src/Slice/MD5I.h +1 -1
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +12 -15
- data/ext/ice/cpp/{include → src}/Slice/PHPUtil.h +6 -15
- data/ext/ice/cpp/src/Slice/Parser.cpp +802 -307
- data/ext/ice/cpp/{include → src}/Slice/Parser.h +76 -84
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +43 -21
- data/ext/ice/cpp/{include → src}/Slice/Preprocessor.h +7 -12
- data/ext/ice/cpp/src/Slice/Python.cpp +207 -86
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +683 -679
- data/ext/ice/cpp/{include → src}/Slice/PythonUtil.h +19 -8
- data/ext/ice/cpp/src/Slice/Ruby.cpp +38 -34
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +177 -445
- data/ext/ice/cpp/{include → src}/Slice/RubyUtil.h +6 -6
- data/ext/ice/cpp/src/Slice/Scanner.cpp +218 -306
- data/ext/ice/cpp/src/Slice/{Util.cpp → SliceUtil.cpp} +37 -64
- data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +374 -0
- data/ext/ice/cpp/src/Slice/Util.h +54 -0
- data/ext/ice/mcpp/Makefile +5 -2
- data/ice.gemspec +2 -7
- data/lib/Glacier2.rb +1 -1
- data/lib/Glacier2/Metrics.rb +7 -46
- data/lib/Glacier2/PermissionsVerifier.rb +24 -95
- data/lib/Glacier2/PermissionsVerifierF.rb +3 -3
- data/lib/Glacier2/Router.rb +32 -74
- data/lib/Glacier2/RouterF.rb +3 -3
- data/lib/Glacier2/SSLInfo.rb +4 -7
- data/lib/Glacier2/Session.rb +88 -307
- data/lib/Ice.rb +83 -52
- data/lib/Ice/BuiltinSequences.rb +4 -4
- data/lib/Ice/Communicator.rb +56 -58
- data/lib/Ice/CommunicatorF.rb +3 -3
- data/lib/Ice/Connection.rb +153 -162
- data/lib/Ice/ConnectionF.rb +3 -3
- data/lib/Ice/Current.rb +4 -11
- data/lib/Ice/Endpoint.rb +57 -133
- data/lib/Ice/EndpointF.rb +3 -3
- data/lib/Ice/EndpointTypes.rb +3 -7
- data/lib/Ice/FacetMap.rb +4 -4
- data/lib/Ice/Identity.rb +5 -8
- data/lib/Ice/ImplicitContext.rb +5 -34
- data/lib/Ice/ImplicitContextF.rb +3 -3
- data/lib/Ice/Instrumentation.rb +23 -275
- data/lib/Ice/InstrumentationF.rb +3 -3
- data/lib/Ice/LocalException.rb +95 -141
- data/lib/Ice/Locator.rb +51 -165
- data/lib/Ice/LocatorF.rb +3 -3
- data/lib/Ice/Logger.rb +5 -34
- data/lib/Ice/LoggerF.rb +3 -3
- data/lib/Ice/Metrics.rb +61 -416
- data/lib/Ice/ObjectAdapter.rb +34 -0
- data/lib/Ice/ObjectAdapterF.rb +3 -3
- data/lib/Ice/ObjectFactory.rb +5 -30
- data/lib/Ice/Plugin.rb +7 -60
- data/lib/Ice/PluginF.rb +3 -3
- data/lib/Ice/Process.rb +16 -52
- data/lib/Ice/ProcessF.rb +3 -3
- data/lib/Ice/Properties.rb +5 -41
- data/lib/Ice/PropertiesAdmin.rb +19 -56
- data/lib/Ice/PropertiesF.rb +3 -3
- data/lib/Ice/RemoteLogger.rb +34 -115
- data/lib/Ice/Router.rb +29 -101
- data/lib/Ice/RouterF.rb +3 -3
- data/lib/Ice/ServantLocator.rb +31 -0
- data/lib/Ice/{ObjectFactoryF.rb → ServantLocatorF.rb} +6 -6
- data/lib/Ice/SliceChecksumDict.rb +3 -3
- data/lib/Ice/ValueFactory.rb +33 -0
- data/lib/Ice/Version.rb +5 -11
- data/lib/IceBox.rb +1 -1
- data/lib/IceBox/IceBox.rb +44 -148
- data/lib/IceGrid.rb +1 -4
- data/lib/IceGrid/Admin.rb +551 -427
- data/lib/IceGrid/Descriptor.rb +62 -529
- data/lib/IceGrid/Exception.rb +24 -45
- data/lib/IceGrid/FileParser.rb +14 -50
- data/lib/IceGrid/PluginFacade.rb +40 -0
- data/lib/IceGrid/Registry.rb +151 -58
- data/lib/IceGrid/Session.rb +25 -64
- data/lib/IceGrid/UserAccountMapper.rb +14 -50
- data/lib/IcePatch2.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +5 -11
- data/lib/IcePatch2/FileServer.rb +33 -76
- data/lib/IceStorm.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +79 -206
- data/lib/IceStorm/Metrics.rb +11 -89
- data/slice/Glacier2/Metrics.ice +8 -4
- data/slice/Glacier2/PermissionsVerifier.ice +10 -7
- data/slice/Glacier2/PermissionsVerifierF.ice +7 -4
- data/slice/Glacier2/Router.ice +10 -8
- data/slice/Glacier2/RouterF.ice +7 -4
- data/slice/Glacier2/SSLInfo.ice +8 -5
- data/slice/Glacier2/Session.ice +15 -13
- data/slice/Ice/BuiltinSequences.ice +7 -4
- data/slice/Ice/Communicator.ice +141 -66
- data/slice/Ice/CommunicatorF.ice +7 -4
- data/slice/Ice/Connection.ice +183 -86
- data/slice/Ice/ConnectionF.ice +7 -4
- data/slice/Ice/Current.ice +13 -9
- data/slice/Ice/Endpoint.ice +63 -14
- data/slice/Ice/EndpointF.ice +7 -4
- data/slice/Ice/EndpointTypes.ice +8 -6
- data/slice/Ice/FacetMap.ice +7 -4
- data/slice/Ice/Identity.ice +13 -5
- data/slice/Ice/ImplicitContext.ice +20 -18
- data/slice/Ice/ImplicitContextF.ice +7 -4
- data/slice/Ice/Instrumentation.ice +20 -19
- data/slice/Ice/InstrumentationF.ice +8 -5
- data/slice/Ice/LocalException.ice +87 -87
- data/slice/Ice/Locator.ice +19 -18
- data/slice/Ice/LocatorF.ice +7 -4
- data/slice/Ice/Logger.ice +9 -7
- data/slice/Ice/LoggerF.ice +7 -4
- data/slice/Ice/Metrics.ice +18 -14
- data/slice/Ice/ObjectAdapter.ice +30 -13
- data/slice/Ice/ObjectAdapterF.ice +7 -4
- data/slice/Ice/ObjectFactory.ice +15 -12
- data/slice/Ice/Plugin.ice +9 -6
- data/slice/Ice/PluginF.ice +8 -5
- data/slice/Ice/Process.ice +9 -6
- data/slice/Ice/ProcessF.ice +7 -4
- data/slice/Ice/Properties.ice +15 -12
- data/slice/Ice/PropertiesAdmin.ice +9 -5
- data/slice/Ice/PropertiesF.ice +7 -4
- data/slice/Ice/RemoteLogger.ice +33 -24
- data/slice/Ice/Router.ice +16 -7
- data/slice/Ice/RouterF.ice +7 -4
- data/slice/Ice/ServantLocator.ice +13 -10
- data/slice/Ice/ServantLocatorF.ice +7 -4
- data/slice/Ice/SliceChecksumDict.ice +7 -4
- data/slice/Ice/ValueFactory.ice +127 -0
- data/slice/Ice/Version.ice +9 -5
- data/slice/IceBT/ConnectionInfo.ice +53 -0
- data/slice/IceBT/EndpointInfo.ice +51 -0
- data/slice/IceBT/Types.ice +39 -0
- data/slice/IceBox/IceBox.ice +20 -21
- data/slice/IceDiscovery/IceDiscovery.ice +9 -5
- data/slice/IceGrid/Admin.ice +390 -30
- data/slice/IceGrid/Descriptor.ice +37 -29
- data/slice/IceGrid/Exception.ice +33 -27
- data/slice/IceGrid/FileParser.ice +9 -6
- data/slice/IceGrid/PluginFacade.ice +11 -9
- data/slice/IceGrid/Registry.ice +139 -16
- data/slice/IceGrid/Session.ice +10 -8
- data/slice/IceGrid/UserAccountMapper.ice +9 -6
- data/slice/IceIAP/ConnectionInfo.ice +70 -0
- data/slice/IceIAP/EndpointInfo.ice +64 -0
- data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +9 -7
- data/slice/IcePatch2/FileInfo.ice +9 -8
- data/slice/IcePatch2/FileServer.ice +17 -13
- data/slice/IceSSL/ConnectionInfo.ice +14 -17
- data/slice/IceSSL/ConnectionInfoF.ice +24 -0
- data/slice/IceSSL/EndpointInfo.ice +9 -30
- data/slice/IceStorm/IceStorm.ice +22 -18
- data/slice/IceStorm/Metrics.ice +9 -5
- metadata +154 -120
- data/ext/ObjectFactory.cpp +0 -140
- data/ext/ObjectFactory.h +0 -50
- data/ext/ice/cpp/include/Ice/BasicStream.h +0 -1335
- data/ext/ice/cpp/include/Ice/Communicator.h +0 -200
- data/ext/ice/cpp/include/Ice/Connection.h +0 -497
- data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +0 -62
- data/ext/ice/cpp/include/Ice/Endpoint.h +0 -341
- data/ext/ice/cpp/include/Ice/Identity.h +0 -168
- data/ext/ice/cpp/include/Ice/Instrumentation.h +0 -365
- data/ext/ice/cpp/include/Ice/LocalException.h +0 -1030
- data/ext/ice/cpp/include/Ice/Locator.h +0 -2193
- data/ext/ice/cpp/include/Ice/Metrics.h +0 -2974
- data/ext/ice/cpp/include/Ice/ObjectAdapter.h +0 -168
- data/ext/ice/cpp/include/Ice/ObjectFactory.h +0 -92
- data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +0 -66
- data/ext/ice/cpp/include/Ice/Outgoing.h +0 -225
- data/ext/ice/cpp/include/Ice/Plugin.h +0 -125
- data/ext/ice/cpp/include/Ice/Process.h +0 -574
- data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +0 -830
- data/ext/ice/cpp/include/Ice/RemoteLogger.h +0 -1500
- data/ext/ice/cpp/include/Ice/Router.h +0 -1159
- data/ext/ice/cpp/include/Ice/Stream.h +0 -447
- data/ext/ice/cpp/include/Ice/StreamF.h +0 -30
- data/ext/ice/cpp/include/Ice/Version.h +0 -262
- data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +0 -158
- data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +0 -142
- data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +0 -119
- data/ext/ice/cpp/include/IceUtil/Cache.h +0 -362
- data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +0 -65
- data/ext/ice/cpp/include/Slice/CsUtil.h +0 -92
- data/ext/ice/cpp/include/Slice/DotNetNames.h +0 -34
- data/ext/ice/cpp/include/Slice/ObjCUtil.h +0 -127
- data/ext/ice/cpp/include/Slice/Util.h +0 -56
- data/ext/ice/cpp/src/Ice/BasicStream.cpp +0 -3428
- data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +0 -62
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +0 -139
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +0 -43
- data/ext/ice/cpp/src/Ice/Outgoing.cpp +0 -694
- data/ext/ice/cpp/src/Ice/Stream.cpp +0 -53
- data/ext/ice/cpp/src/Ice/StreamI.cpp +0 -832
- data/ext/ice/cpp/src/Ice/StreamI.h +0 -198
- data/ext/ice/cpp/src/IceSSL/Certificate.cpp +0 -1336
- data/ext/ice/cpp/src/IceUtil/Exception.cpp +0 -792
- data/ext/ice/cpp/src/IceUtil/FileUtil.h +0 -185
- data/ext/ice/cpp/src/Slice/CsUtil.cpp +0 -2660
- data/ext/ice/cpp/src/Slice/DotNetNames.cpp +0 -146
- data/ext/ice/cpp/src/Slice/ObjCUtil.cpp +0 -1310
- data/lib/IceGrid/Locator.rb +0 -106
- data/lib/IceGrid/Observer.rb +0 -572
- data/lib/IceGrid/Query.rb +0 -169
- data/slice/Freeze/BackgroundSaveEvictor.ice +0 -111
- data/slice/Freeze/CatalogData.ice +0 -49
- data/slice/Freeze/Connection.ice +0 -121
- data/slice/Freeze/DB.ice +0 -37
- data/slice/Freeze/Evictor.ice +0 -346
- data/slice/Freeze/EvictorF.ice +0 -22
- data/slice/Freeze/EvictorStorage.ice +0 -72
- data/slice/Freeze/Exception.ice +0 -100
- data/slice/Freeze/Transaction.ice +0 -58
- data/slice/Freeze/TransactionalEvictor.ice +0 -50
- data/slice/IceGrid/Locator.ice +0 -57
- data/slice/IceGrid/Observer.ice +0 -395
- data/slice/IceGrid/Query.ice +0 -131
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
// This copy of Ice is licensed to you under the terms described in the
|
|
6
6
|
// ICE_LICENSE file included in this distribution.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
#include <Ice/ProxyFactory.h>
|
|
19
19
|
#include <Ice/ThreadPool.h>
|
|
20
20
|
#include <Ice/ConnectionFactory.h>
|
|
21
|
-
#include <Ice/
|
|
21
|
+
#include <Ice/ValueFactoryManagerI.h>
|
|
22
22
|
#include <Ice/LocalException.h>
|
|
23
23
|
#include <Ice/ObjectAdapterFactory.h>
|
|
24
24
|
#include <Ice/Exception.h>
|
|
@@ -42,9 +42,13 @@
|
|
|
42
42
|
#include <Ice/LoggerAdminI.h>
|
|
43
43
|
#include <Ice/RegisterPluginsInit.h>
|
|
44
44
|
#include <Ice/ObserverHelper.h>
|
|
45
|
+
#include <Ice/Functional.h>
|
|
46
|
+
#include <Ice/ConsoleUtil.h>
|
|
45
47
|
|
|
48
|
+
#include <IceUtil/DisableWarnings.h>
|
|
49
|
+
#include <IceUtil/FileUtil.h>
|
|
46
50
|
#include <IceUtil/StringUtil.h>
|
|
47
|
-
#include <
|
|
51
|
+
#include <Ice/UUID.h>
|
|
48
52
|
#include <IceUtil/Mutex.h>
|
|
49
53
|
#include <IceUtil/MutexPtrLock.h>
|
|
50
54
|
#include <IceUtil/Atomic.h>
|
|
@@ -61,7 +65,7 @@
|
|
|
61
65
|
# include <sys/types.h>
|
|
62
66
|
#endif
|
|
63
67
|
|
|
64
|
-
#if defined(
|
|
68
|
+
#if defined(__linux) || defined(__sun) || defined(_AIX) || defined(__GLIBC__)
|
|
65
69
|
# include <grp.h> // for initgroups
|
|
66
70
|
#endif
|
|
67
71
|
|
|
@@ -72,8 +76,8 @@ using namespace IceInternal;
|
|
|
72
76
|
namespace IceUtilInternal
|
|
73
77
|
{
|
|
74
78
|
|
|
75
|
-
extern bool
|
|
76
|
-
extern bool
|
|
79
|
+
extern bool nullHandleAbort;
|
|
80
|
+
extern bool printStackTraces;
|
|
77
81
|
|
|
78
82
|
};
|
|
79
83
|
|
|
@@ -138,16 +142,16 @@ public:
|
|
|
138
142
|
|
|
139
143
|
if(notDestroyedCount > 0)
|
|
140
144
|
{
|
|
141
|
-
|
|
145
|
+
consoleErr << "!! " << IceUtil::Time::now().toDateTime() << " error: ";
|
|
142
146
|
if(notDestroyedCount == 1)
|
|
143
147
|
{
|
|
144
|
-
|
|
148
|
+
consoleErr << "communicator ";
|
|
145
149
|
}
|
|
146
150
|
else
|
|
147
151
|
{
|
|
148
|
-
|
|
152
|
+
consoleErr << notDestroyedCount << " communicators ";
|
|
149
153
|
}
|
|
150
|
-
|
|
154
|
+
consoleErr << "not destroyed during global destruction.";
|
|
151
155
|
}
|
|
152
156
|
|
|
153
157
|
delete instanceList;
|
|
@@ -226,7 +230,7 @@ Timer::updateObserver(const Ice::Instrumentation::CommunicatorObserverPtr& obsv)
|
|
|
226
230
|
assert(obsv);
|
|
227
231
|
_observer.attach(obsv->getThreadObserver("Communicator",
|
|
228
232
|
"Ice.Timer",
|
|
229
|
-
|
|
233
|
+
Instrumentation::ICE_ENUM(ThreadState, ThreadStateIdle),
|
|
230
234
|
_observer.get()));
|
|
231
235
|
_hasObserver.exchange(_observer.get() ? 1 : 0);
|
|
232
236
|
}
|
|
@@ -243,8 +247,8 @@ Timer::runTimerTask(const IceUtil::TimerTaskPtr& task)
|
|
|
243
247
|
}
|
|
244
248
|
if(threadObserver)
|
|
245
249
|
{
|
|
246
|
-
threadObserver->stateChanged(
|
|
247
|
-
|
|
250
|
+
threadObserver->stateChanged(Instrumentation::ICE_ENUM(ThreadState, ThreadStateIdle),
|
|
251
|
+
Instrumentation::ICE_ENUM(ThreadState, ThreadStateInUseForOther));
|
|
248
252
|
}
|
|
249
253
|
try
|
|
250
254
|
{
|
|
@@ -254,14 +258,14 @@ Timer::runTimerTask(const IceUtil::TimerTaskPtr& task)
|
|
|
254
258
|
{
|
|
255
259
|
if(threadObserver)
|
|
256
260
|
{
|
|
257
|
-
threadObserver->stateChanged(
|
|
258
|
-
|
|
261
|
+
threadObserver->stateChanged(Instrumentation::ICE_ENUM(ThreadState, ThreadStateInUseForOther),
|
|
262
|
+
Instrumentation::ICE_ENUM(ThreadState, ThreadStateIdle));
|
|
259
263
|
}
|
|
260
264
|
}
|
|
261
265
|
if(threadObserver)
|
|
262
266
|
{
|
|
263
|
-
threadObserver->stateChanged(
|
|
264
|
-
|
|
267
|
+
threadObserver->stateChanged(Instrumentation::ICE_ENUM(ThreadState, ThreadStateInUseForOther),
|
|
268
|
+
Instrumentation::ICE_ENUM(ThreadState, ThreadStateIdle));
|
|
265
269
|
}
|
|
266
270
|
}
|
|
267
271
|
else
|
|
@@ -395,20 +399,6 @@ IceInternal::Instance::outgoingConnectionFactory() const
|
|
|
395
399
|
return _outgoingConnectionFactory;
|
|
396
400
|
}
|
|
397
401
|
|
|
398
|
-
ObjectFactoryManagerPtr
|
|
399
|
-
IceInternal::Instance::servantFactoryManager() const
|
|
400
|
-
{
|
|
401
|
-
Lock sync(*this);
|
|
402
|
-
|
|
403
|
-
if(_state == StateDestroyed)
|
|
404
|
-
{
|
|
405
|
-
throw CommunicatorDestroyedException(__FILE__, __LINE__);
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
assert(_servantFactoryManager);
|
|
409
|
-
return _servantFactoryManager;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
402
|
ObjectAdapterFactoryPtr
|
|
413
403
|
IceInternal::Instance::objectAdapterFactory() const
|
|
414
404
|
{
|
|
@@ -575,122 +565,7 @@ IceInternal::Instance::serverACM() const
|
|
|
575
565
|
return _serverACM;
|
|
576
566
|
}
|
|
577
567
|
|
|
578
|
-
|
|
579
|
-
IceInternal::Instance::stringToIdentity(const string& s) const
|
|
580
|
-
{
|
|
581
|
-
//
|
|
582
|
-
// This method only accepts printable ascii. Since printable ascii is a subset
|
|
583
|
-
// of all narrow string encodings, it is not necessary to convert the string
|
|
584
|
-
// from the native string encoding. Any characters other than printable-ASCII
|
|
585
|
-
// will cause an IllegalArgumentException. Note that it can contain Unicode
|
|
586
|
-
// encoded in the escaped form which is the reason why we call fromUTF8 after
|
|
587
|
-
// unespcaping the printable ASCII string.
|
|
588
|
-
//
|
|
589
|
-
|
|
590
|
-
Identity ident;
|
|
591
|
-
|
|
592
|
-
//
|
|
593
|
-
// Find unescaped separator; note that the string may contain an escaped
|
|
594
|
-
// backslash before the separator.
|
|
595
|
-
//
|
|
596
|
-
string::size_type slash = string::npos, pos = 0;
|
|
597
|
-
while((pos = s.find('/', pos)) != string::npos)
|
|
598
|
-
{
|
|
599
|
-
int escapes = 0;
|
|
600
|
-
while(static_cast<int>(pos)- escapes > 0 && s[pos - escapes - 1] == '\\')
|
|
601
|
-
{
|
|
602
|
-
escapes++;
|
|
603
|
-
}
|
|
604
|
-
|
|
605
|
-
//
|
|
606
|
-
// We ignore escaped escapes
|
|
607
|
-
//
|
|
608
|
-
if(escapes % 2 == 0)
|
|
609
|
-
{
|
|
610
|
-
if(slash == string::npos)
|
|
611
|
-
{
|
|
612
|
-
slash = pos;
|
|
613
|
-
}
|
|
614
|
-
else
|
|
615
|
-
{
|
|
616
|
-
//
|
|
617
|
-
// Extra unescaped slash found.
|
|
618
|
-
//
|
|
619
|
-
IdentityParseException ex(__FILE__, __LINE__);
|
|
620
|
-
ex.str = "unescaped backslash in identity `" + s + "'";
|
|
621
|
-
throw ex;
|
|
622
|
-
}
|
|
623
|
-
}
|
|
624
|
-
pos++;
|
|
625
|
-
}
|
|
626
|
-
|
|
627
|
-
if(slash == string::npos)
|
|
628
|
-
{
|
|
629
|
-
try
|
|
630
|
-
{
|
|
631
|
-
ident.name = IceUtilInternal::unescapeString(s, 0, s.size());
|
|
632
|
-
}
|
|
633
|
-
catch(const IceUtil::IllegalArgumentException& e)
|
|
634
|
-
{
|
|
635
|
-
IdentityParseException ex(__FILE__, __LINE__);
|
|
636
|
-
ex.str = "invalid identity name `" + s + "': " + e.reason();
|
|
637
|
-
throw ex;
|
|
638
|
-
}
|
|
639
|
-
}
|
|
640
|
-
else
|
|
641
|
-
{
|
|
642
|
-
try
|
|
643
|
-
{
|
|
644
|
-
ident.category = IceUtilInternal::unescapeString(s, 0, slash);
|
|
645
|
-
}
|
|
646
|
-
catch(const IceUtil::IllegalArgumentException& e)
|
|
647
|
-
{
|
|
648
|
-
IdentityParseException ex(__FILE__, __LINE__);
|
|
649
|
-
ex.str = "invalid category in identity `" + s + "': " + e.reason();
|
|
650
|
-
throw ex;
|
|
651
|
-
}
|
|
652
|
-
if(slash + 1 < s.size())
|
|
653
|
-
{
|
|
654
|
-
try
|
|
655
|
-
{
|
|
656
|
-
ident.name = IceUtilInternal::unescapeString(s, slash + 1, s.size());
|
|
657
|
-
}
|
|
658
|
-
catch(const IceUtil::IllegalArgumentException& e)
|
|
659
|
-
{
|
|
660
|
-
IdentityParseException ex(__FILE__, __LINE__);
|
|
661
|
-
ex.str = "invalid name in identity `" + s + "': " + e.reason();
|
|
662
|
-
throw ex;
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
ident.name = UTF8ToNative(ident.name, _stringConverter);
|
|
668
|
-
ident.category = UTF8ToNative(ident.category, _stringConverter);
|
|
669
|
-
|
|
670
|
-
return ident;
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
string
|
|
674
|
-
IceInternal::Instance::identityToString(const Identity& ident) const
|
|
675
|
-
{
|
|
676
|
-
//
|
|
677
|
-
// This method returns the stringified identity. The returned string only
|
|
678
|
-
// contains printable ascii. It can contain UTF8 in the escaped form.
|
|
679
|
-
//
|
|
680
|
-
string name = nativeToUTF8(ident.name, _stringConverter);
|
|
681
|
-
string category = nativeToUTF8(ident.category, _stringConverter);
|
|
682
|
-
|
|
683
|
-
if(category.empty())
|
|
684
|
-
{
|
|
685
|
-
return IceUtilInternal::escapeString(name, "/");
|
|
686
|
-
}
|
|
687
|
-
else
|
|
688
|
-
{
|
|
689
|
-
return IceUtilInternal::escapeString(category, "/") + '/' + IceUtilInternal::escapeString(name, "/");
|
|
690
|
-
}
|
|
691
|
-
}
|
|
692
|
-
|
|
693
|
-
Ice::ObjectPrx
|
|
568
|
+
Ice::ObjectPrxPtr
|
|
694
569
|
IceInternal::Instance::createAdmin(const ObjectAdapterPtr& adminAdapter, const Identity& adminIdentity)
|
|
695
570
|
{
|
|
696
571
|
ObjectAdapterPtr adapter = adminAdapter;
|
|
@@ -758,7 +633,7 @@ IceInternal::Instance::createAdmin(const ObjectAdapterPtr& adminAdapter, const I
|
|
|
758
633
|
return adapter->createProxy(adminIdentity);
|
|
759
634
|
}
|
|
760
635
|
|
|
761
|
-
Ice::
|
|
636
|
+
Ice::ObjectPrxPtr
|
|
762
637
|
IceInternal::Instance::getAdmin()
|
|
763
638
|
{
|
|
764
639
|
Lock sync(*this);
|
|
@@ -789,7 +664,7 @@ IceInternal::Instance::getAdmin()
|
|
|
789
664
|
adminIdentity.category = _initData.properties->getProperty("Ice.Admin.InstanceName");
|
|
790
665
|
if(adminIdentity.category.empty())
|
|
791
666
|
{
|
|
792
|
-
adminIdentity.category =
|
|
667
|
+
adminIdentity.category = Ice::generateUUID();
|
|
793
668
|
}
|
|
794
669
|
|
|
795
670
|
_adminIdentity = adminIdentity;
|
|
@@ -849,12 +724,12 @@ IceInternal::Instance::addAllAdminFacets()
|
|
|
849
724
|
void
|
|
850
725
|
IceInternal::Instance::setServerProcessProxy(const ObjectAdapterPtr& adminAdapter, const Identity& adminIdentity)
|
|
851
726
|
{
|
|
852
|
-
|
|
853
|
-
|
|
727
|
+
ObjectPrxPtr admin = adminAdapter->createProxy(adminIdentity);
|
|
728
|
+
LocatorPrxPtr locator = adminAdapter->getLocator();
|
|
854
729
|
const string serverId = _initData.properties->getProperty("Ice.Admin.ServerId");
|
|
855
730
|
if(locator && serverId != "")
|
|
856
731
|
{
|
|
857
|
-
|
|
732
|
+
ProcessPrxPtr process = ICE_UNCHECKED_CAST(ProcessPrx, admin->ice_facet("Process"));
|
|
858
733
|
try
|
|
859
734
|
{
|
|
860
735
|
//
|
|
@@ -1008,7 +883,7 @@ IceInternal::Instance::findAllAdminFacets()
|
|
|
1008
883
|
}
|
|
1009
884
|
|
|
1010
885
|
void
|
|
1011
|
-
IceInternal::Instance::setDefaultLocator(const Ice::
|
|
886
|
+
IceInternal::Instance::setDefaultLocator(const Ice::LocatorPrxPtr& defaultLocator)
|
|
1012
887
|
{
|
|
1013
888
|
Lock sync(*this);
|
|
1014
889
|
|
|
@@ -1021,7 +896,7 @@ IceInternal::Instance::setDefaultLocator(const Ice::LocatorPrx& defaultLocator)
|
|
|
1021
896
|
}
|
|
1022
897
|
|
|
1023
898
|
void
|
|
1024
|
-
IceInternal::Instance::setDefaultRouter(const Ice::
|
|
899
|
+
IceInternal::Instance::setDefaultRouter(const Ice::RouterPrxPtr& defaultRouter)
|
|
1025
900
|
{
|
|
1026
901
|
Lock sync(*this);
|
|
1027
902
|
|
|
@@ -1042,6 +917,14 @@ IceInternal::Instance::setLogger(const Ice::LoggerPtr& logger)
|
|
|
1042
917
|
_initData.logger = logger;
|
|
1043
918
|
}
|
|
1044
919
|
|
|
920
|
+
#ifdef ICE_CPP11_MAPPING
|
|
921
|
+
void
|
|
922
|
+
IceInternal::Instance::setThreadHook(function<void()> threadStart, function<void()> threadStop)
|
|
923
|
+
{
|
|
924
|
+
_initData.threadStart = move(threadStart);
|
|
925
|
+
_initData.threadStop = move(threadStop);
|
|
926
|
+
}
|
|
927
|
+
#else
|
|
1045
928
|
void
|
|
1046
929
|
IceInternal::Instance::setThreadHook(const Ice::ThreadNotificationPtr& threadHook)
|
|
1047
930
|
{
|
|
@@ -1050,6 +933,7 @@ IceInternal::Instance::setThreadHook(const Ice::ThreadNotificationPtr& threadHoo
|
|
|
1050
933
|
//
|
|
1051
934
|
_initData.threadHook = threadHook;
|
|
1052
935
|
}
|
|
936
|
+
#endif
|
|
1053
937
|
|
|
1054
938
|
namespace
|
|
1055
939
|
{
|
|
@@ -1065,9 +949,10 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
|
1065
949
|
_batchAutoFlushSize(0),
|
|
1066
950
|
_classGraphDepthMax(0),
|
|
1067
951
|
_collectObjects(false),
|
|
952
|
+
_toStringMode(ICE_ENUM(ToStringMode, Unicode)),
|
|
1068
953
|
_implicitContext(0),
|
|
1069
|
-
_stringConverter(
|
|
1070
|
-
_wstringConverter(
|
|
954
|
+
_stringConverter(Ice::getProcessStringConverter()),
|
|
955
|
+
_wstringConverter(Ice::getProcessWstringConverter()),
|
|
1071
956
|
_adminEnabled(false)
|
|
1072
957
|
{
|
|
1073
958
|
try
|
|
@@ -1121,12 +1006,15 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
|
1121
1006
|
|
|
1122
1007
|
#ifdef NDEBUG
|
|
1123
1008
|
if(_initData.properties->getPropertyAsIntWithDefault("Ice.PrintStackTraces", 0) > 0)
|
|
1124
|
-
#else
|
|
1125
|
-
if(_initData.properties->getPropertyAsIntWithDefault("Ice.PrintStackTraces", 1) > 0)
|
|
1126
|
-
#endif
|
|
1127
1009
|
{
|
|
1128
1010
|
IceUtilInternal::printStackTraces = true;
|
|
1129
1011
|
}
|
|
1012
|
+
#else
|
|
1013
|
+
if(_initData.properties->getPropertyAsIntWithDefault("Ice.PrintStackTraces", 1) == 0)
|
|
1014
|
+
{
|
|
1015
|
+
IceUtilInternal::printStackTraces = false;
|
|
1016
|
+
}
|
|
1017
|
+
#endif
|
|
1130
1018
|
|
|
1131
1019
|
#ifndef _WIN32
|
|
1132
1020
|
string newUser = _initData.properties->getProperty("Ice.ChangeUser");
|
|
@@ -1135,9 +1023,8 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
|
1135
1023
|
struct passwd pwbuf;
|
|
1136
1024
|
vector<char> buffer(4096); // 4KB initial buffer
|
|
1137
1025
|
struct passwd *pw;
|
|
1138
|
-
int err;
|
|
1139
|
-
while(
|
|
1140
|
-
buffer.size() < 1024 * 1024) // Limit buffer to 1M
|
|
1026
|
+
int err = getpwnam_r(newUser.c_str(), &pwbuf, &buffer[0], buffer.size(), &pw);
|
|
1027
|
+
while(err == ERANGE && buffer.size() < 1024 * 1024) // Limit buffer to 1MB
|
|
1141
1028
|
{
|
|
1142
1029
|
buffer.resize(buffer.size() * 2);
|
|
1143
1030
|
}
|
|
@@ -1181,7 +1068,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
|
1181
1068
|
|
|
1182
1069
|
if(instanceCount() == 1)
|
|
1183
1070
|
{
|
|
1184
|
-
#if defined(_WIN32) && !defined(
|
|
1071
|
+
#if defined(_WIN32) && !defined(ICE_OS_UWP)
|
|
1185
1072
|
WORD version = MAKEWORD(1, 1);
|
|
1186
1073
|
WSADATA data;
|
|
1187
1074
|
if(WSAStartup(version, &data) != 0)
|
|
@@ -1226,25 +1113,23 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
|
1226
1113
|
throw InitializationException(__FILE__, __LINE__, "Both syslog and file logger cannot be enabled.");
|
|
1227
1114
|
}
|
|
1228
1115
|
|
|
1229
|
-
_initData.logger =
|
|
1230
|
-
|
|
1231
|
-
|
|
1116
|
+
_initData.logger = ICE_MAKE_SHARED(SysLoggerI,
|
|
1117
|
+
_initData.properties->getProperty("Ice.ProgramName"),
|
|
1118
|
+
_initData.properties->getPropertyWithDefault("Ice.SyslogFacility", "LOG_USER"));
|
|
1232
1119
|
}
|
|
1233
1120
|
else
|
|
1234
1121
|
#endif
|
|
1235
1122
|
if(!logfile.empty())
|
|
1236
1123
|
{
|
|
1237
|
-
_initData.logger =
|
|
1238
|
-
|
|
1239
|
-
_initData.properties->getPropertyAsIntWithDefault("Ice.LogFile.SizeMax", 0));
|
|
1124
|
+
_initData.logger = ICE_MAKE_SHARED(LoggerI, _initData.properties->getProperty("Ice.ProgramName"), logfile, true,
|
|
1125
|
+
_initData.properties->getPropertyAsIntWithDefault("Ice.LogFile.SizeMax", 0));
|
|
1240
1126
|
}
|
|
1241
1127
|
else
|
|
1242
1128
|
{
|
|
1243
1129
|
_initData.logger = getProcessLogger();
|
|
1244
|
-
if(
|
|
1130
|
+
if(ICE_DYNAMIC_CAST(LoggerI, _initData.logger))
|
|
1245
1131
|
{
|
|
1246
|
-
_initData.logger =
|
|
1247
|
-
logStdErrConvert, _stringConverter);
|
|
1132
|
+
_initData.logger = ICE_MAKE_SHARED(LoggerI, _initData.properties->getProperty("Ice.ProgramName"), "", logStdErrConvert);
|
|
1248
1133
|
}
|
|
1249
1134
|
}
|
|
1250
1135
|
}
|
|
@@ -1308,7 +1193,7 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
|
1308
1193
|
}
|
|
1309
1194
|
|
|
1310
1195
|
{
|
|
1311
|
-
static const int defaultValue =
|
|
1196
|
+
static const int defaultValue = 100;
|
|
1312
1197
|
Int num = _initData.properties->getPropertyAsIntWithDefault("Ice.ClassGraphDepthMax", defaultValue);
|
|
1313
1198
|
if(num < 1 || static_cast<size_t>(num) > static_cast<size_t>(0x7fffffff))
|
|
1314
1199
|
{
|
|
@@ -1322,10 +1207,24 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
|
1322
1207
|
|
|
1323
1208
|
const_cast<bool&>(_collectObjects) = _initData.properties->getPropertyAsInt("Ice.CollectObjects") > 0;
|
|
1324
1209
|
|
|
1210
|
+
string toStringModeStr = _initData.properties->getPropertyWithDefault("Ice.ToStringMode", "Unicode");
|
|
1211
|
+
if(toStringModeStr == "ASCII")
|
|
1212
|
+
{
|
|
1213
|
+
const_cast<ToStringMode&>(_toStringMode) = ICE_ENUM(ToStringMode, ASCII);
|
|
1214
|
+
}
|
|
1215
|
+
else if(toStringModeStr == "Compat")
|
|
1216
|
+
{
|
|
1217
|
+
const_cast<ToStringMode&>(_toStringMode) = ICE_ENUM(ToStringMode, Compat);
|
|
1218
|
+
}
|
|
1219
|
+
else if(toStringModeStr != "Unicode")
|
|
1220
|
+
{
|
|
1221
|
+
throw InitializationException(__FILE__, __LINE__, "The value for Ice.ToStringMode must be Unicode, ASCII or Compat");
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1325
1224
|
//
|
|
1326
1225
|
// Client ACM enabled by default. Server ACM disabled by default.
|
|
1327
1226
|
//
|
|
1328
|
-
#ifndef
|
|
1227
|
+
#ifndef ICE_OS_UWP
|
|
1329
1228
|
const_cast<ImplicitContextIPtr&>(_implicitContext) =
|
|
1330
1229
|
ImplicitContextI::create(_initData.properties->getProperty("Ice.ImplicitContext"));
|
|
1331
1230
|
#endif
|
|
@@ -1366,23 +1265,20 @@ IceInternal::Instance::Instance(const CommunicatorPtr& communicator, const Initi
|
|
|
1366
1265
|
|
|
1367
1266
|
_dynamicLibraryList = new DynamicLibraryList;
|
|
1368
1267
|
|
|
1369
|
-
_pluginManager =
|
|
1268
|
+
_pluginManager = ICE_MAKE_SHARED(PluginManagerI, communicator, _dynamicLibraryList);
|
|
1370
1269
|
|
|
1371
|
-
|
|
1270
|
+
if(!_initData.valueFactoryManager)
|
|
1271
|
+
{
|
|
1272
|
+
_initData.valueFactoryManager = ICE_MAKE_SHARED(ValueFactoryManagerI);
|
|
1273
|
+
}
|
|
1372
1274
|
|
|
1373
|
-
|
|
1275
|
+
_objectFactoryMapHint = _objectFactoryMap.end();
|
|
1374
1276
|
|
|
1375
|
-
|
|
1277
|
+
_outgoingConnectionFactory = new OutgoingConnectionFactory(communicator, this);
|
|
1376
1278
|
|
|
1377
|
-
|
|
1279
|
+
_objectAdapterFactory = ICE_MAKE_SHARED(ObjectAdapterFactory, this, communicator);
|
|
1378
1280
|
|
|
1379
|
-
|
|
1380
|
-
// When _wstringConverter isn't set, use the default Unicode wstring converter
|
|
1381
|
-
//
|
|
1382
|
-
if(!_wstringConverter)
|
|
1383
|
-
{
|
|
1384
|
-
_wstringConverter = new IceUtil::UnicodeWstringConverter;
|
|
1385
|
-
}
|
|
1281
|
+
_retryQueue = new RetryQueue(this);
|
|
1386
1282
|
|
|
1387
1283
|
__setNoDelete(false);
|
|
1388
1284
|
}
|
|
@@ -1405,7 +1301,6 @@ IceInternal::Instance::~Instance()
|
|
|
1405
1301
|
assert(!_proxyFactory);
|
|
1406
1302
|
assert(!_outgoingConnectionFactory);
|
|
1407
1303
|
|
|
1408
|
-
assert(!_servantFactoryManager);
|
|
1409
1304
|
assert(!_objectAdapterFactory);
|
|
1410
1305
|
assert(!_clientThreadPool);
|
|
1411
1306
|
assert(!_serverThreadPool);
|
|
@@ -1425,7 +1320,7 @@ IceInternal::Instance::~Instance()
|
|
|
1425
1320
|
}
|
|
1426
1321
|
if(instanceCount() == 0)
|
|
1427
1322
|
{
|
|
1428
|
-
#if defined(_WIN32) && !defined(
|
|
1323
|
+
#if defined(_WIN32) && !defined(ICE_OS_UWP)
|
|
1429
1324
|
WSACleanup();
|
|
1430
1325
|
#endif
|
|
1431
1326
|
|
|
@@ -1442,7 +1337,7 @@ IceInternal::Instance::~Instance()
|
|
|
1442
1337
|
}
|
|
1443
1338
|
|
|
1444
1339
|
void
|
|
1445
|
-
IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::CommunicatorPtr& communicator)
|
|
1340
|
+
IceInternal::Instance::finishSetup(int& argc, const char* argv[], const Ice::CommunicatorPtr& communicator)
|
|
1446
1341
|
{
|
|
1447
1342
|
//
|
|
1448
1343
|
// Load plug-ins.
|
|
@@ -1453,35 +1348,16 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1453
1348
|
pluginManagerImpl->loadPlugins(argc, argv);
|
|
1454
1349
|
|
|
1455
1350
|
//
|
|
1456
|
-
//
|
|
1351
|
+
// Initialize the endpoint factories once all the plugins are loaded. This gives
|
|
1352
|
+
// the opportunity for the endpoint factories to find underyling factories.
|
|
1457
1353
|
//
|
|
1458
|
-
|
|
1459
|
-
if(tcpFactory)
|
|
1460
|
-
{
|
|
1461
|
-
ProtocolInstancePtr instance = new ProtocolInstance(communicator, WSEndpointType, "ws", false);
|
|
1462
|
-
_endpointFactoryManager->add(new WSEndpointFactory(instance, tcpFactory->clone(instance)));
|
|
1463
|
-
}
|
|
1464
|
-
EndpointFactoryPtr sslFactory = _endpointFactoryManager->get(SSLEndpointType);
|
|
1465
|
-
if(sslFactory)
|
|
1466
|
-
{
|
|
1467
|
-
ProtocolInstancePtr instance = new ProtocolInstance(communicator, WSSEndpointType, "wss", true);
|
|
1468
|
-
_endpointFactoryManager->add(new WSEndpointFactory(instance, sslFactory->clone(instance)));
|
|
1469
|
-
}
|
|
1354
|
+
_endpointFactoryManager->initialize();
|
|
1470
1355
|
|
|
1471
1356
|
//
|
|
1472
1357
|
// Reset _stringConverter and _wstringConverter, in case a plugin changed them
|
|
1473
1358
|
//
|
|
1474
|
-
_stringConverter =
|
|
1475
|
-
|
|
1476
|
-
IceUtil::WstringConverterPtr newWstringConverter = IceUtil::getProcessWstringConverter();
|
|
1477
|
-
if(newWstringConverter)
|
|
1478
|
-
{
|
|
1479
|
-
_wstringConverter = newWstringConverter;
|
|
1480
|
-
}
|
|
1481
|
-
else
|
|
1482
|
-
{
|
|
1483
|
-
_wstringConverter = new IceUtil::UnicodeWstringConverter;
|
|
1484
|
-
}
|
|
1359
|
+
_stringConverter = Ice::getProcessStringConverter();
|
|
1360
|
+
_wstringConverter = Ice::getProcessWstringConverter();
|
|
1485
1361
|
|
|
1486
1362
|
//
|
|
1487
1363
|
// Create Admin facets, if enabled.
|
|
@@ -1513,7 +1389,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1513
1389
|
const string processFacetName = "Process";
|
|
1514
1390
|
if(_adminFacetFilter.empty() || _adminFacetFilter.find(processFacetName) != _adminFacetFilter.end())
|
|
1515
1391
|
{
|
|
1516
|
-
_adminFacets.insert(make_pair(processFacetName,
|
|
1392
|
+
_adminFacets.insert(make_pair(processFacetName, ICE_MAKE_SHARED(ProcessI, communicator)));
|
|
1517
1393
|
}
|
|
1518
1394
|
|
|
1519
1395
|
//
|
|
@@ -1534,7 +1410,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1534
1410
|
PropertiesAdminIPtr propsAdmin;
|
|
1535
1411
|
if(_adminFacetFilter.empty() || _adminFacetFilter.find(propertiesFacetName) != _adminFacetFilter.end())
|
|
1536
1412
|
{
|
|
1537
|
-
propsAdmin =
|
|
1413
|
+
propsAdmin = ICE_MAKE_SHARED(PropertiesAdminI, this);
|
|
1538
1414
|
_adminFacets.insert(make_pair(propertiesFacetName, propsAdmin));
|
|
1539
1415
|
}
|
|
1540
1416
|
|
|
@@ -1544,7 +1420,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1544
1420
|
const string metricsFacetName = "Metrics";
|
|
1545
1421
|
if(_adminFacetFilter.empty() || _adminFacetFilter.find(metricsFacetName) != _adminFacetFilter.end())
|
|
1546
1422
|
{
|
|
1547
|
-
CommunicatorObserverIPtr observer =
|
|
1423
|
+
CommunicatorObserverIPtr observer = ICE_MAKE_SHARED(CommunicatorObserverI, _initData);
|
|
1548
1424
|
_initData.observer = observer;
|
|
1549
1425
|
_adminFacets.insert(make_pair(metricsFacetName, observer->getFacet()));
|
|
1550
1426
|
|
|
@@ -1553,7 +1429,13 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1553
1429
|
//
|
|
1554
1430
|
if(propsAdmin)
|
|
1555
1431
|
{
|
|
1432
|
+
#ifdef ICE_CPP11_MAPPING
|
|
1433
|
+
auto metricsAdmin = observer->getFacet();
|
|
1434
|
+
propsAdmin->addUpdateCallback(
|
|
1435
|
+
[metricsAdmin](const PropertyDict& changes) { metricsAdmin->updated(changes); });
|
|
1436
|
+
#else
|
|
1556
1437
|
propsAdmin->addUpdateCallback(observer->getFacet());
|
|
1438
|
+
#endif
|
|
1557
1439
|
}
|
|
1558
1440
|
}
|
|
1559
1441
|
}
|
|
@@ -1563,7 +1445,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1563
1445
|
//
|
|
1564
1446
|
if(_initData.observer)
|
|
1565
1447
|
{
|
|
1566
|
-
_initData.observer->setObserverUpdater(
|
|
1448
|
+
_initData.observer->setObserverUpdater(ICE_MAKE_SHARED(ObserverUpdaterI, this));
|
|
1567
1449
|
}
|
|
1568
1450
|
|
|
1569
1451
|
//
|
|
@@ -1608,7 +1490,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1608
1490
|
//
|
|
1609
1491
|
if(!_referenceFactory->getDefaultRouter())
|
|
1610
1492
|
{
|
|
1611
|
-
|
|
1493
|
+
RouterPrxPtr router = ICE_UNCHECKED_CAST(RouterPrx, _proxyFactory->propertyToProxy("Ice.Default.Router"));
|
|
1612
1494
|
if(router)
|
|
1613
1495
|
{
|
|
1614
1496
|
_referenceFactory = _referenceFactory->setDefaultRouter(router);
|
|
@@ -1617,7 +1499,7 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1617
1499
|
|
|
1618
1500
|
if(!_referenceFactory->getDefaultLocator())
|
|
1619
1501
|
{
|
|
1620
|
-
|
|
1502
|
+
LocatorPrxPtr locator = ICE_UNCHECKED_CAST(LocatorPrx, _proxyFactory->propertyToProxy("Ice.Default.Locator"));
|
|
1621
1503
|
if(locator)
|
|
1622
1504
|
{
|
|
1623
1505
|
_referenceFactory = _referenceFactory->setDefaultLocator(locator);
|
|
@@ -1645,9 +1527,9 @@ IceInternal::Instance::finishSetup(int& argc, char* argv[], const Ice::Communica
|
|
|
1645
1527
|
if(printProcessId)
|
|
1646
1528
|
{
|
|
1647
1529
|
#ifdef _MSC_VER
|
|
1648
|
-
|
|
1530
|
+
consoleOut << GetCurrentProcessId() << endl;
|
|
1649
1531
|
#else
|
|
1650
|
-
|
|
1532
|
+
consoleOut << getpid() << endl;
|
|
1651
1533
|
#endif
|
|
1652
1534
|
}
|
|
1653
1535
|
|
|
@@ -1734,7 +1616,7 @@ IceInternal::Instance::destroy()
|
|
|
1734
1616
|
|
|
1735
1617
|
if(_initData.observer)
|
|
1736
1618
|
{
|
|
1737
|
-
CommunicatorObserverIPtr observer =
|
|
1619
|
+
CommunicatorObserverIPtr observer = ICE_DYNAMIC_CAST(CommunicatorObserverI, _initData.observer);
|
|
1738
1620
|
if(observer)
|
|
1739
1621
|
{
|
|
1740
1622
|
observer->destroy(); // Break cyclic reference counts. Don't clear _observer, it's immutable.
|
|
@@ -1742,7 +1624,7 @@ IceInternal::Instance::destroy()
|
|
|
1742
1624
|
_initData.observer->setObserverUpdater(0); // Break cyclic reference count.
|
|
1743
1625
|
}
|
|
1744
1626
|
|
|
1745
|
-
LoggerAdminLoggerPtr logger =
|
|
1627
|
+
LoggerAdminLoggerPtr logger = ICE_DYNAMIC_CAST(LoggerAdminLogger, _initData.logger);
|
|
1746
1628
|
if(logger)
|
|
1747
1629
|
{
|
|
1748
1630
|
//
|
|
@@ -1784,17 +1666,16 @@ IceInternal::Instance::destroy()
|
|
|
1784
1666
|
{
|
|
1785
1667
|
_serverThreadPool->joinWithAllThreads();
|
|
1786
1668
|
}
|
|
1787
|
-
#ifndef
|
|
1669
|
+
#ifndef ICE_OS_UWP
|
|
1788
1670
|
if(_endpointHostResolver)
|
|
1789
1671
|
{
|
|
1790
1672
|
_endpointHostResolver->getThreadControl().join();
|
|
1791
1673
|
}
|
|
1792
1674
|
#endif
|
|
1793
1675
|
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
}
|
|
1676
|
+
for_each(_objectFactoryMap.begin(), _objectFactoryMap.end(),
|
|
1677
|
+
Ice::secondVoidMemFun<const string, ObjectFactory>(&ObjectFactory::destroy));
|
|
1678
|
+
_objectFactoryMap.clear();
|
|
1798
1679
|
|
|
1799
1680
|
if(_routerManager)
|
|
1800
1681
|
{
|
|
@@ -1845,7 +1726,6 @@ IceInternal::Instance::destroy()
|
|
|
1845
1726
|
_endpointHostResolver = 0;
|
|
1846
1727
|
_timer = 0;
|
|
1847
1728
|
|
|
1848
|
-
_servantFactoryManager = 0;
|
|
1849
1729
|
_referenceFactory = 0;
|
|
1850
1730
|
_requestHandlerFactory = 0;
|
|
1851
1731
|
_proxyFactory = 0;
|
|
@@ -1957,6 +1837,82 @@ IceInternal::Instance::setRcvBufSizeWarn(Short type, int size)
|
|
|
1957
1837
|
_setBufSizeWarn[type] = info;
|
|
1958
1838
|
}
|
|
1959
1839
|
|
|
1840
|
+
void
|
|
1841
|
+
IceInternal::Instance::addObjectFactory(const Ice::ObjectFactoryPtr& factory, const string& id)
|
|
1842
|
+
{
|
|
1843
|
+
Lock sync(*this);
|
|
1844
|
+
|
|
1845
|
+
//
|
|
1846
|
+
// Create a ValueFactory wrapper around the given ObjectFactory and register the wrapper
|
|
1847
|
+
// with the value factory manager. This may raise AlreadyRegisteredException.
|
|
1848
|
+
//
|
|
1849
|
+
#ifdef ICE_CPP11_MAPPING
|
|
1850
|
+
_initData.valueFactoryManager->add([factory](const string& id)
|
|
1851
|
+
{
|
|
1852
|
+
return factory->create(id);
|
|
1853
|
+
},
|
|
1854
|
+
id);
|
|
1855
|
+
#else
|
|
1856
|
+
class ValueFactoryWrapper: public Ice::ValueFactory
|
|
1857
|
+
{
|
|
1858
|
+
public:
|
|
1859
|
+
|
|
1860
|
+
ValueFactoryWrapper(const Ice::ObjectFactoryPtr& factory) : _objectFactory(factory)
|
|
1861
|
+
{
|
|
1862
|
+
}
|
|
1863
|
+
|
|
1864
|
+
Ice::ValuePtr create(const std::string& id)
|
|
1865
|
+
{
|
|
1866
|
+
return _objectFactory->create(id);
|
|
1867
|
+
}
|
|
1868
|
+
|
|
1869
|
+
private:
|
|
1870
|
+
|
|
1871
|
+
Ice::ObjectFactoryPtr _objectFactory;
|
|
1872
|
+
};
|
|
1873
|
+
|
|
1874
|
+
_initData.valueFactoryManager->add(new ValueFactoryWrapper(factory), id);
|
|
1875
|
+
#endif
|
|
1876
|
+
|
|
1877
|
+
//
|
|
1878
|
+
// Also record the object factory in our own map.
|
|
1879
|
+
//
|
|
1880
|
+
_objectFactoryMapHint = _objectFactoryMap.insert(_objectFactoryMapHint,
|
|
1881
|
+
pair<const string, Ice::ObjectFactoryPtr>(id, factory));
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
Ice::ObjectFactoryPtr
|
|
1885
|
+
IceInternal::Instance::findObjectFactory(const string& id) const
|
|
1886
|
+
{
|
|
1887
|
+
Lock sync(*this);
|
|
1888
|
+
|
|
1889
|
+
ObjectFactoryMap& objectfactoryMap = const_cast<ObjectFactoryMap&>(_objectFactoryMap);
|
|
1890
|
+
|
|
1891
|
+
ObjectFactoryMap::iterator p = objectfactoryMap.end();
|
|
1892
|
+
if(_objectFactoryMapHint != objectfactoryMap.end())
|
|
1893
|
+
{
|
|
1894
|
+
if(_objectFactoryMapHint->first == id)
|
|
1895
|
+
{
|
|
1896
|
+
p = _objectFactoryMapHint;
|
|
1897
|
+
}
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1900
|
+
if(p == objectfactoryMap.end())
|
|
1901
|
+
{
|
|
1902
|
+
p = objectfactoryMap.find(id);
|
|
1903
|
+
}
|
|
1904
|
+
|
|
1905
|
+
if(p != objectfactoryMap.end())
|
|
1906
|
+
{
|
|
1907
|
+
_objectFactoryMapHint = p;
|
|
1908
|
+
return p->second;
|
|
1909
|
+
}
|
|
1910
|
+
else
|
|
1911
|
+
{
|
|
1912
|
+
return ICE_NULLPTR;
|
|
1913
|
+
}
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1960
1916
|
IceInternal::ProcessI::ProcessI(const CommunicatorPtr& communicator) :
|
|
1961
1917
|
_communicator(communicator)
|
|
1962
1918
|
{
|
|
@@ -1969,18 +1925,22 @@ IceInternal::ProcessI::shutdown(const Current&)
|
|
|
1969
1925
|
}
|
|
1970
1926
|
|
|
1971
1927
|
void
|
|
1928
|
+
#ifdef ICE_CPP11_MAPPING
|
|
1929
|
+
IceInternal::ProcessI::writeMessage(string message, Int fd, const Current&)
|
|
1930
|
+
#else
|
|
1972
1931
|
IceInternal::ProcessI::writeMessage(const string& message, Int fd, const Current&)
|
|
1932
|
+
#endif
|
|
1973
1933
|
{
|
|
1974
1934
|
switch(fd)
|
|
1975
1935
|
{
|
|
1976
1936
|
case 1:
|
|
1977
1937
|
{
|
|
1978
|
-
|
|
1938
|
+
consoleOut << message << endl;
|
|
1979
1939
|
break;
|
|
1980
1940
|
}
|
|
1981
1941
|
case 2:
|
|
1982
1942
|
{
|
|
1983
|
-
|
|
1943
|
+
consoleErr << message << endl;
|
|
1984
1944
|
break;
|
|
1985
1945
|
}
|
|
1986
1946
|
}
|