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,13 +1,13 @@
|
|
|
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.
|
|
7
7
|
//
|
|
8
8
|
// **********************************************************************
|
|
9
9
|
//
|
|
10
|
-
// Ice version 3.
|
|
10
|
+
// Ice version 3.7.0
|
|
11
11
|
//
|
|
12
12
|
// <auto-generated>
|
|
13
13
|
//
|
|
@@ -23,25 +23,60 @@
|
|
|
23
23
|
#endif
|
|
24
24
|
#include <Ice/ObjectAdapter.h>
|
|
25
25
|
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
-
#include <Ice/
|
|
27
|
-
#include <
|
|
26
|
+
#include <Ice/LocalException.h>
|
|
27
|
+
#include <Ice/ValueFactory.h>
|
|
28
|
+
#include <Ice/OutgoingAsync.h>
|
|
29
|
+
#include <Ice/InputStream.h>
|
|
30
|
+
#include <Ice/OutputStream.h>
|
|
31
|
+
#include <Ice/LocalException.h>
|
|
28
32
|
#include <IceUtil/PopDisableWarnings.h>
|
|
29
33
|
|
|
34
|
+
#if defined(_MSC_VER)
|
|
35
|
+
# pragma warning(disable:4458) // declaration of ... hides class member
|
|
36
|
+
#elif defined(__clang__)
|
|
37
|
+
# pragma clang diagnostic ignored "-Wshadow"
|
|
38
|
+
#elif defined(__GNUC__)
|
|
39
|
+
# pragma GCC diagnostic ignored "-Wshadow"
|
|
40
|
+
#endif
|
|
41
|
+
|
|
30
42
|
#ifndef ICE_IGNORE_VERSION
|
|
31
|
-
# if ICE_INT_VERSION / 100 !=
|
|
43
|
+
# if ICE_INT_VERSION / 100 != 307
|
|
32
44
|
# error Ice version mismatch!
|
|
33
45
|
# endif
|
|
34
46
|
# if ICE_INT_VERSION % 100 > 50
|
|
35
47
|
# error Beta header file detected
|
|
36
48
|
# endif
|
|
37
|
-
# if ICE_INT_VERSION % 100 <
|
|
49
|
+
# if ICE_INT_VERSION % 100 < 0
|
|
38
50
|
# error Ice patch level mismatch!
|
|
39
51
|
# endif
|
|
40
52
|
#endif
|
|
41
53
|
|
|
54
|
+
#ifdef ICE_CPP11_MAPPING // C++11 mapping
|
|
55
|
+
|
|
56
|
+
namespace
|
|
57
|
+
{
|
|
58
|
+
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Ice::ObjectAdapter::~ObjectAdapter()
|
|
62
|
+
{
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
#else // C++98 mapping
|
|
66
|
+
|
|
42
67
|
namespace
|
|
43
68
|
{
|
|
44
69
|
|
|
45
70
|
}
|
|
46
71
|
|
|
72
|
+
Ice::ObjectAdapter::~ObjectAdapter()
|
|
73
|
+
{
|
|
74
|
+
}
|
|
75
|
+
|
|
47
76
|
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::ObjectAdapter* p) { return p; }
|
|
77
|
+
|
|
78
|
+
namespace Ice
|
|
79
|
+
{
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
#endif
|
|
@@ -1,13 +1,13 @@
|
|
|
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.
|
|
7
7
|
//
|
|
8
8
|
// **********************************************************************
|
|
9
9
|
//
|
|
10
|
-
// Ice version 3.
|
|
10
|
+
// Ice version 3.7.0
|
|
11
11
|
//
|
|
12
12
|
// <auto-generated>
|
|
13
13
|
//
|
|
@@ -23,22 +23,44 @@
|
|
|
23
23
|
#endif
|
|
24
24
|
#include <Ice/ObjectAdapterF.h>
|
|
25
25
|
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
-
#include <IceUtil/Iterator.h>
|
|
27
26
|
#include <IceUtil/PopDisableWarnings.h>
|
|
28
27
|
|
|
28
|
+
#if defined(_MSC_VER)
|
|
29
|
+
# pragma warning(disable:4458) // declaration of ... hides class member
|
|
30
|
+
#elif defined(__clang__)
|
|
31
|
+
# pragma clang diagnostic ignored "-Wshadow"
|
|
32
|
+
#elif defined(__GNUC__)
|
|
33
|
+
# pragma GCC diagnostic ignored "-Wshadow"
|
|
34
|
+
#endif
|
|
35
|
+
|
|
29
36
|
#ifndef ICE_IGNORE_VERSION
|
|
30
|
-
# if ICE_INT_VERSION / 100 !=
|
|
37
|
+
# if ICE_INT_VERSION / 100 != 307
|
|
31
38
|
# error Ice version mismatch!
|
|
32
39
|
# endif
|
|
33
40
|
# if ICE_INT_VERSION % 100 > 50
|
|
34
41
|
# error Beta header file detected
|
|
35
42
|
# endif
|
|
36
|
-
# if ICE_INT_VERSION % 100 <
|
|
43
|
+
# if ICE_INT_VERSION % 100 < 0
|
|
37
44
|
# error Ice patch level mismatch!
|
|
38
45
|
# endif
|
|
39
46
|
#endif
|
|
40
47
|
|
|
48
|
+
#ifdef ICE_CPP11_MAPPING // C++11 mapping
|
|
49
|
+
|
|
50
|
+
namespace
|
|
51
|
+
{
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#else // C++98 mapping
|
|
56
|
+
|
|
41
57
|
namespace
|
|
42
58
|
{
|
|
43
59
|
|
|
44
60
|
}
|
|
61
|
+
|
|
62
|
+
namespace Ice
|
|
63
|
+
{
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#endif
|
|
@@ -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.
|
|
@@ -12,13 +12,15 @@
|
|
|
12
12
|
#include <Ice/Object.h>
|
|
13
13
|
#include <Ice/LocalException.h>
|
|
14
14
|
#include <Ice/Functional.h>
|
|
15
|
-
#include <
|
|
15
|
+
#include <Ice/UUID.h>
|
|
16
16
|
|
|
17
17
|
using namespace std;
|
|
18
18
|
using namespace Ice;
|
|
19
19
|
using namespace IceInternal;
|
|
20
20
|
|
|
21
|
+
#ifndef ICE_CPP11_MAPPING
|
|
21
22
|
IceUtil::Shared* IceInternal::upCast(ObjectAdapterFactory* p) { return p; }
|
|
23
|
+
#endif
|
|
22
24
|
|
|
23
25
|
void
|
|
24
26
|
IceInternal::ObjectAdapterFactory::shutdown()
|
|
@@ -49,7 +51,11 @@ IceInternal::ObjectAdapterFactory::shutdown()
|
|
|
49
51
|
// Deactivate outside the thread synchronization, to avoid
|
|
50
52
|
// deadlocks.
|
|
51
53
|
//
|
|
54
|
+
#ifdef ICE_CPP11_MAPPING
|
|
55
|
+
for_each(adapters.begin(), adapters.end(), [](const ObjectAdapterIPtr& adapter) { adapter->deactivate(); });
|
|
56
|
+
#else
|
|
52
57
|
for_each(adapters.begin(), adapters.end(), IceUtil::voidMemFun(&ObjectAdapter::deactivate));
|
|
58
|
+
#endif
|
|
53
59
|
}
|
|
54
60
|
|
|
55
61
|
void
|
|
@@ -74,7 +80,11 @@ IceInternal::ObjectAdapterFactory::waitForShutdown()
|
|
|
74
80
|
//
|
|
75
81
|
// Now we wait for deactivation of each object adapter.
|
|
76
82
|
//
|
|
83
|
+
#ifdef ICE_CPP11_MAPPING
|
|
84
|
+
for_each(adapters.begin(), adapters.end(), [](const ObjectAdapterIPtr& adapter) { adapter->waitForDeactivate(); });
|
|
85
|
+
#else
|
|
77
86
|
for_each(adapters.begin(), adapters.end(), IceUtil::voidMemFun(&ObjectAdapter::waitForDeactivate));
|
|
87
|
+
#endif
|
|
78
88
|
}
|
|
79
89
|
|
|
80
90
|
bool
|
|
@@ -103,8 +113,11 @@ IceInternal::ObjectAdapterFactory::destroy()
|
|
|
103
113
|
//
|
|
104
114
|
// Now we destroy each object adapter.
|
|
105
115
|
//
|
|
116
|
+
#ifdef ICE_CPP11_MAPPING
|
|
117
|
+
for_each(adapters.begin(), adapters.end(), [](const ObjectAdapterIPtr& adapter) { adapter->destroy(); });
|
|
118
|
+
#else
|
|
106
119
|
for_each(adapters.begin(), adapters.end(), IceUtil::voidMemFun(&ObjectAdapter::destroy));
|
|
107
|
-
|
|
120
|
+
#endif
|
|
108
121
|
{
|
|
109
122
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
110
123
|
_adapters.clear();
|
|
@@ -120,12 +133,19 @@ IceInternal::ObjectAdapterFactory::updateObservers(void (ObjectAdapterI::*fn)())
|
|
|
120
133
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
121
134
|
adapters = _adapters;
|
|
122
135
|
}
|
|
123
|
-
|
|
136
|
+
#ifdef ICE_CPP11_MAPPING
|
|
137
|
+
for_each(adapters.begin(), adapters.end(),
|
|
138
|
+
[fn](const ObjectAdapterIPtr& adapter)
|
|
139
|
+
{
|
|
140
|
+
(adapter.get() ->* fn)();
|
|
141
|
+
});
|
|
142
|
+
#else
|
|
124
143
|
for_each(adapters.begin(), adapters.end(), IceUtil::voidMemFun(fn));
|
|
144
|
+
#endif
|
|
125
145
|
}
|
|
126
146
|
|
|
127
147
|
ObjectAdapterPtr
|
|
128
|
-
IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const
|
|
148
|
+
IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const RouterPrxPtr& router)
|
|
129
149
|
{
|
|
130
150
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
131
151
|
|
|
@@ -137,9 +157,9 @@ IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const
|
|
|
137
157
|
ObjectAdapterIPtr adapter;
|
|
138
158
|
if(name.empty())
|
|
139
159
|
{
|
|
140
|
-
string uuid =
|
|
141
|
-
adapter =
|
|
142
|
-
adapter->initialize(
|
|
160
|
+
string uuid = Ice::generateUUID();
|
|
161
|
+
adapter = ICE_MAKE_SHARED(ObjectAdapterI, _instance, _communicator, ICE_SHARED_FROM_THIS, uuid, true);
|
|
162
|
+
adapter->initialize(ICE_NULLPTR);
|
|
143
163
|
}
|
|
144
164
|
else
|
|
145
165
|
{
|
|
@@ -147,7 +167,7 @@ IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const
|
|
|
147
167
|
{
|
|
148
168
|
throw AlreadyRegisteredException(__FILE__, __LINE__, "object adapter", name);
|
|
149
169
|
}
|
|
150
|
-
adapter =
|
|
170
|
+
adapter = ICE_MAKE_SHARED(ObjectAdapterI, _instance, _communicator, ICE_SHARED_FROM_THIS, name, false);
|
|
151
171
|
adapter->initialize(router);
|
|
152
172
|
_adapterNamesInUse.insert(name);
|
|
153
173
|
}
|
|
@@ -157,7 +177,7 @@ IceInternal::ObjectAdapterFactory::createObjectAdapter(const string& name, const
|
|
|
157
177
|
}
|
|
158
178
|
|
|
159
179
|
ObjectAdapterPtr
|
|
160
|
-
IceInternal::ObjectAdapterFactory::findObjectAdapter(const
|
|
180
|
+
IceInternal::ObjectAdapterFactory::findObjectAdapter(const ObjectPrxPtr& proxy)
|
|
161
181
|
{
|
|
162
182
|
list<ObjectAdapterIPtr> adapters;
|
|
163
183
|
{
|
|
@@ -165,7 +185,7 @@ IceInternal::ObjectAdapterFactory::findObjectAdapter(const ObjectPrx& proxy)
|
|
|
165
185
|
|
|
166
186
|
if(!_instance)
|
|
167
187
|
{
|
|
168
|
-
return
|
|
188
|
+
return ICE_NULLPTR;
|
|
169
189
|
}
|
|
170
190
|
|
|
171
191
|
adapters = _adapters;
|
|
@@ -186,7 +206,7 @@ IceInternal::ObjectAdapterFactory::findObjectAdapter(const ObjectPrx& proxy)
|
|
|
186
206
|
}
|
|
187
207
|
}
|
|
188
208
|
|
|
189
|
-
return
|
|
209
|
+
return ICE_NULLPTR;
|
|
190
210
|
}
|
|
191
211
|
|
|
192
212
|
void
|
|
@@ -211,7 +231,8 @@ IceInternal::ObjectAdapterFactory::removeObjectAdapter(const ObjectAdapterPtr& a
|
|
|
211
231
|
}
|
|
212
232
|
|
|
213
233
|
void
|
|
214
|
-
IceInternal::ObjectAdapterFactory::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr& outAsync
|
|
234
|
+
IceInternal::ObjectAdapterFactory::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr& outAsync,
|
|
235
|
+
CompressBatch compressBatch) const
|
|
215
236
|
{
|
|
216
237
|
list<ObjectAdapterIPtr> adapters;
|
|
217
238
|
{
|
|
@@ -222,7 +243,7 @@ IceInternal::ObjectAdapterFactory::flushAsyncBatchRequests(const CommunicatorFlu
|
|
|
222
243
|
|
|
223
244
|
for(list<ObjectAdapterIPtr>::const_iterator p = adapters.begin(); p != adapters.end(); ++p)
|
|
224
245
|
{
|
|
225
|
-
(*p)->flushAsyncBatchRequests(outAsync);
|
|
246
|
+
(*p)->flushAsyncBatchRequests(outAsync, compressBatch);
|
|
226
247
|
}
|
|
227
248
|
}
|
|
228
249
|
|
|
@@ -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.
|
|
@@ -19,7 +19,12 @@
|
|
|
19
19
|
namespace IceInternal
|
|
20
20
|
{
|
|
21
21
|
|
|
22
|
-
class ObjectAdapterFactory : public ::IceUtil::
|
|
22
|
+
class ObjectAdapterFactory : public ::IceUtil::Monitor< ::IceUtil::RecMutex>,
|
|
23
|
+
#ifdef ICE_CPP11_MAPPING
|
|
24
|
+
public std::enable_shared_from_this<ObjectAdapterFactory>
|
|
25
|
+
#else
|
|
26
|
+
public virtual IceUtil::Shared
|
|
27
|
+
#endif
|
|
23
28
|
{
|
|
24
29
|
public:
|
|
25
30
|
|
|
@@ -30,15 +35,16 @@ public:
|
|
|
30
35
|
|
|
31
36
|
void updateObservers(void (Ice::ObjectAdapterI::*)());
|
|
32
37
|
|
|
33
|
-
::Ice::ObjectAdapterPtr createObjectAdapter(const std::string&, const Ice::
|
|
34
|
-
::Ice::ObjectAdapterPtr findObjectAdapter(const ::Ice::
|
|
38
|
+
::Ice::ObjectAdapterPtr createObjectAdapter(const std::string&, const Ice::RouterPrxPtr&);
|
|
39
|
+
::Ice::ObjectAdapterPtr findObjectAdapter(const ::Ice::ObjectPrxPtr&);
|
|
35
40
|
void removeObjectAdapter(const ::Ice::ObjectAdapterPtr&);
|
|
36
|
-
void flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr
|
|
37
|
-
|
|
38
|
-
private:
|
|
41
|
+
void flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr&, ::Ice::CompressBatch) const;
|
|
39
42
|
|
|
40
43
|
ObjectAdapterFactory(const InstancePtr&, const ::Ice::CommunicatorPtr&);
|
|
41
44
|
virtual ~ObjectAdapterFactory();
|
|
45
|
+
|
|
46
|
+
private:
|
|
47
|
+
|
|
42
48
|
friend class Instance;
|
|
43
49
|
|
|
44
50
|
InstancePtr _instance;
|
|
@@ -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,8 +18,12 @@ namespace IceInternal
|
|
|
18
18
|
{
|
|
19
19
|
|
|
20
20
|
class ObjectAdapterFactory;
|
|
21
|
+
#ifdef ICE_CPP11_MAPPING
|
|
22
|
+
using ObjectAdapterFactoryPtr = ::std::shared_ptr<ObjectAdapterFactory>;
|
|
23
|
+
#else
|
|
21
24
|
IceUtil::Shared* upCast(ObjectAdapterFactory*);
|
|
22
25
|
typedef IceInternal::Handle<ObjectAdapterFactory> ObjectAdapterFactoryPtr;
|
|
26
|
+
#endif
|
|
23
27
|
|
|
24
28
|
}
|
|
25
29
|
|
|
@@ -1,14 +1,15 @@
|
|
|
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.
|
|
7
7
|
//
|
|
8
8
|
// **********************************************************************
|
|
9
9
|
|
|
10
|
-
#include <
|
|
10
|
+
#include <Ice/UUID.h>
|
|
11
11
|
#include <Ice/ObjectAdapterI.h>
|
|
12
|
+
#include <Ice/CommunicatorI.h>
|
|
12
13
|
#include <Ice/ObjectAdapterFactory.h>
|
|
13
14
|
#include <Ice/Instance.h>
|
|
14
15
|
#include <Ice/Proxy.h>
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
#include <Ice/DefaultsAndOverrides.h>
|
|
32
33
|
#include <Ice/TraceLevels.h>
|
|
33
34
|
#include <Ice/PropertyNames.h>
|
|
35
|
+
#include <Ice/ConsoleUtil.h>
|
|
34
36
|
|
|
35
37
|
#ifdef _WIN32
|
|
36
38
|
# include <sys/timeb.h>
|
|
@@ -61,6 +63,12 @@ inline void checkServant(const ObjectPtr& servant)
|
|
|
61
63
|
throw IllegalServantException(__FILE__, __LINE__, "cannot add null servant to Object Adapter");
|
|
62
64
|
}
|
|
63
65
|
}
|
|
66
|
+
|
|
67
|
+
inline EndpointIPtr toEndpointI(const EndpointPtr& endp)
|
|
68
|
+
{
|
|
69
|
+
return ICE_DYNAMIC_CAST(EndpointI, endp);
|
|
70
|
+
}
|
|
71
|
+
|
|
64
72
|
}
|
|
65
73
|
|
|
66
74
|
string
|
|
@@ -95,8 +103,16 @@ Ice::ObjectAdapterI::activate()
|
|
|
95
103
|
//
|
|
96
104
|
if(_state != StateUninitialized)
|
|
97
105
|
{
|
|
106
|
+
#ifdef ICE_CPP11_MAPPING
|
|
107
|
+
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
108
|
+
[](const IncomingConnectionFactoryPtr& factory)
|
|
109
|
+
{
|
|
110
|
+
factory->activate();
|
|
111
|
+
});
|
|
112
|
+
#else
|
|
98
113
|
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
99
114
|
Ice::voidMemFun(&IncomingConnectionFactory::activate));
|
|
115
|
+
#endif
|
|
100
116
|
return;
|
|
101
117
|
}
|
|
102
118
|
|
|
@@ -141,16 +157,23 @@ Ice::ObjectAdapterI::activate()
|
|
|
141
157
|
|
|
142
158
|
if(printAdapterReady)
|
|
143
159
|
{
|
|
144
|
-
|
|
160
|
+
consoleOut << _name << " ready" << endl;
|
|
145
161
|
}
|
|
146
162
|
|
|
147
163
|
{
|
|
148
164
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
149
165
|
assert(_state == StateActivating);
|
|
150
166
|
|
|
167
|
+
#ifdef ICE_CPP11_MAPPING
|
|
168
|
+
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
169
|
+
[](const IncomingConnectionFactoryPtr& factory)
|
|
170
|
+
{
|
|
171
|
+
factory->activate();
|
|
172
|
+
});
|
|
173
|
+
#else
|
|
151
174
|
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
152
175
|
Ice::voidMemFun(&IncomingConnectionFactory::activate));
|
|
153
|
-
|
|
176
|
+
#endif
|
|
154
177
|
_state = StateActive;
|
|
155
178
|
notifyAll();
|
|
156
179
|
}
|
|
@@ -164,8 +187,16 @@ Ice::ObjectAdapterI::hold()
|
|
|
164
187
|
checkForDeactivation();
|
|
165
188
|
_state = StateHeld;
|
|
166
189
|
|
|
190
|
+
#ifdef ICE_CPP11_MAPPING
|
|
191
|
+
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
192
|
+
[](const IncomingConnectionFactoryPtr& factory)
|
|
193
|
+
{
|
|
194
|
+
factory->hold();
|
|
195
|
+
});
|
|
196
|
+
#else
|
|
167
197
|
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
168
198
|
Ice::voidMemFun(&IncomingConnectionFactory::hold));
|
|
199
|
+
#endif
|
|
169
200
|
}
|
|
170
201
|
|
|
171
202
|
void
|
|
@@ -180,8 +211,16 @@ Ice::ObjectAdapterI::waitForHold()
|
|
|
180
211
|
incomingConnectionFactories = _incomingConnectionFactories;
|
|
181
212
|
}
|
|
182
213
|
|
|
214
|
+
#ifdef ICE_CPP11_MAPPING
|
|
215
|
+
for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(),
|
|
216
|
+
[](const IncomingConnectionFactoryPtr& factory)
|
|
217
|
+
{
|
|
218
|
+
factory->waitUntilHolding();
|
|
219
|
+
});
|
|
220
|
+
#else
|
|
183
221
|
for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(),
|
|
184
222
|
Ice::constVoidMemFun(&IncomingConnectionFactory::waitUntilHolding));
|
|
223
|
+
#endif
|
|
185
224
|
}
|
|
186
225
|
|
|
187
226
|
void
|
|
@@ -240,15 +279,23 @@ Ice::ObjectAdapterI::deactivate()
|
|
|
240
279
|
// Connection::destroy() might block when sending a CloseConnection
|
|
241
280
|
// message.
|
|
242
281
|
//
|
|
282
|
+
#ifdef ICE_CPP11_MAPPING
|
|
283
|
+
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
284
|
+
[](const IncomingConnectionFactoryPtr& factory)
|
|
285
|
+
{
|
|
286
|
+
factory->destroy();
|
|
287
|
+
});
|
|
288
|
+
#else
|
|
243
289
|
for_each(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
244
290
|
Ice::voidMemFun(&IncomingConnectionFactory::destroy));
|
|
291
|
+
#endif
|
|
245
292
|
|
|
246
293
|
//
|
|
247
294
|
// Must be called outside the thread synchronization, because
|
|
248
295
|
// changing the object adapter might block if there are still
|
|
249
296
|
// requests being dispatched.
|
|
250
297
|
//
|
|
251
|
-
_instance->outgoingConnectionFactory()->removeAdapter(
|
|
298
|
+
_instance->outgoingConnectionFactory()->removeAdapter(ICE_SHARED_FROM_THIS);
|
|
252
299
|
|
|
253
300
|
{
|
|
254
301
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
@@ -285,8 +332,16 @@ Ice::ObjectAdapterI::waitForDeactivate()
|
|
|
285
332
|
// Now we wait until all incoming connection factories are
|
|
286
333
|
// finished.
|
|
287
334
|
//
|
|
335
|
+
#ifdef ICE_CPP11_MAPPING
|
|
336
|
+
for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(),
|
|
337
|
+
[](const IncomingConnectionFactoryPtr& factory)
|
|
338
|
+
{
|
|
339
|
+
factory->waitUntilFinished();
|
|
340
|
+
});
|
|
341
|
+
#else
|
|
288
342
|
for_each(incomingConnectionFactories.begin(), incomingConnectionFactories.end(),
|
|
289
343
|
Ice::voidMemFun(&IncomingConnectionFactory::waitUntilFinished));
|
|
344
|
+
#endif
|
|
290
345
|
}
|
|
291
346
|
|
|
292
347
|
bool
|
|
@@ -298,7 +353,7 @@ Ice::ObjectAdapterI::isDeactivated() const
|
|
|
298
353
|
}
|
|
299
354
|
|
|
300
355
|
void
|
|
301
|
-
Ice::ObjectAdapterI::destroy()
|
|
356
|
+
Ice::ObjectAdapterI::destroy() ICE_NOEXCEPT
|
|
302
357
|
{
|
|
303
358
|
//
|
|
304
359
|
// Deactivate and wait for completion.
|
|
@@ -343,7 +398,7 @@ Ice::ObjectAdapterI::destroy()
|
|
|
343
398
|
|
|
344
399
|
if(_objectAdapterFactory)
|
|
345
400
|
{
|
|
346
|
-
_objectAdapterFactory->removeObjectAdapter(
|
|
401
|
+
_objectAdapterFactory->removeObjectAdapter(ICE_SHARED_FROM_THIS);
|
|
347
402
|
}
|
|
348
403
|
|
|
349
404
|
{
|
|
@@ -372,13 +427,13 @@ Ice::ObjectAdapterI::destroy()
|
|
|
372
427
|
}
|
|
373
428
|
}
|
|
374
429
|
|
|
375
|
-
|
|
430
|
+
ObjectPrxPtr
|
|
376
431
|
Ice::ObjectAdapterI::add(const ObjectPtr& object, const Identity& ident)
|
|
377
432
|
{
|
|
378
433
|
return addFacet(object, ident, "");
|
|
379
434
|
}
|
|
380
435
|
|
|
381
|
-
|
|
436
|
+
ObjectPrxPtr
|
|
382
437
|
Ice::ObjectAdapterI::addFacet(const ObjectPtr& object, const Identity& ident, const string& facet)
|
|
383
438
|
{
|
|
384
439
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
@@ -392,17 +447,17 @@ Ice::ObjectAdapterI::addFacet(const ObjectPtr& object, const Identity& ident, co
|
|
|
392
447
|
return newProxy(ident, facet);
|
|
393
448
|
}
|
|
394
449
|
|
|
395
|
-
|
|
450
|
+
ObjectPrxPtr
|
|
396
451
|
Ice::ObjectAdapterI::addWithUUID(const ObjectPtr& object)
|
|
397
452
|
{
|
|
398
453
|
return addFacetWithUUID(object, "");
|
|
399
454
|
}
|
|
400
455
|
|
|
401
|
-
|
|
456
|
+
ObjectPrxPtr
|
|
402
457
|
Ice::ObjectAdapterI::addFacetWithUUID(const ObjectPtr& object, const string& facet)
|
|
403
458
|
{
|
|
404
459
|
Identity ident;
|
|
405
|
-
ident.name =
|
|
460
|
+
ident.name = Ice::generateUUID();
|
|
406
461
|
return addFacet(object, ident, facet);
|
|
407
462
|
}
|
|
408
463
|
|
|
@@ -484,13 +539,13 @@ Ice::ObjectAdapterI::findAllFacets(const Identity& ident) const
|
|
|
484
539
|
}
|
|
485
540
|
|
|
486
541
|
ObjectPtr
|
|
487
|
-
Ice::ObjectAdapterI::findByProxy(const
|
|
542
|
+
Ice::ObjectAdapterI::findByProxy(const ObjectPrxPtr& proxy) const
|
|
488
543
|
{
|
|
489
544
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
490
545
|
|
|
491
546
|
checkForDeactivation();
|
|
492
547
|
|
|
493
|
-
ReferencePtr ref = proxy->
|
|
548
|
+
ReferencePtr ref = proxy->_getReference();
|
|
494
549
|
return findFacet(ref->getIdentity(), ref->getFacet());
|
|
495
550
|
}
|
|
496
551
|
|
|
@@ -534,7 +589,7 @@ Ice::ObjectAdapterI::findServantLocator(const string& prefix) const
|
|
|
534
589
|
return _servantManager->findServantLocator(prefix);
|
|
535
590
|
}
|
|
536
591
|
|
|
537
|
-
|
|
592
|
+
ObjectPrxPtr
|
|
538
593
|
Ice::ObjectAdapterI::createProxy(const Identity& ident) const
|
|
539
594
|
{
|
|
540
595
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
@@ -545,7 +600,7 @@ Ice::ObjectAdapterI::createProxy(const Identity& ident) const
|
|
|
545
600
|
return newProxy(ident, "");
|
|
546
601
|
}
|
|
547
602
|
|
|
548
|
-
|
|
603
|
+
ObjectPrxPtr
|
|
549
604
|
Ice::ObjectAdapterI::createDirectProxy(const Identity& ident) const
|
|
550
605
|
{
|
|
551
606
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
@@ -556,7 +611,7 @@ Ice::ObjectAdapterI::createDirectProxy(const Identity& ident) const
|
|
|
556
611
|
return newDirectProxy(ident, "");
|
|
557
612
|
}
|
|
558
613
|
|
|
559
|
-
|
|
614
|
+
ObjectPrxPtr
|
|
560
615
|
Ice::ObjectAdapterI::createIndirectProxy(const Identity& ident) const
|
|
561
616
|
{
|
|
562
617
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
@@ -568,7 +623,7 @@ Ice::ObjectAdapterI::createIndirectProxy(const Identity& ident) const
|
|
|
568
623
|
}
|
|
569
624
|
|
|
570
625
|
void
|
|
571
|
-
Ice::ObjectAdapterI::setLocator(const
|
|
626
|
+
Ice::ObjectAdapterI::setLocator(const LocatorPrxPtr& locator)
|
|
572
627
|
{
|
|
573
628
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
574
629
|
|
|
@@ -577,7 +632,7 @@ Ice::ObjectAdapterI::setLocator(const LocatorPrx& locator)
|
|
|
577
632
|
_locatorInfo = _instance->locatorManager()->get(locator);
|
|
578
633
|
}
|
|
579
634
|
|
|
580
|
-
|
|
635
|
+
LocatorPrxPtr
|
|
581
636
|
Ice::ObjectAdapterI::getLocator() const
|
|
582
637
|
{
|
|
583
638
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
@@ -592,6 +647,24 @@ Ice::ObjectAdapterI::getLocator() const
|
|
|
592
647
|
}
|
|
593
648
|
}
|
|
594
649
|
|
|
650
|
+
EndpointSeq
|
|
651
|
+
Ice::ObjectAdapterI::getEndpoints() const
|
|
652
|
+
{
|
|
653
|
+
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
654
|
+
|
|
655
|
+
EndpointSeq endpoints;
|
|
656
|
+
transform(_incomingConnectionFactories.begin(), _incomingConnectionFactories.end(),
|
|
657
|
+
back_inserter(endpoints),
|
|
658
|
+
#ifdef ICE_CPP11_MAPPING
|
|
659
|
+
[](const IncomingConnectionFactoryPtr& factory)
|
|
660
|
+
{
|
|
661
|
+
return factory->endpoint();
|
|
662
|
+
});
|
|
663
|
+
#else
|
|
664
|
+
Ice::constMemFun(&IncomingConnectionFactory::endpoint));
|
|
665
|
+
#endif
|
|
666
|
+
return endpoints;
|
|
667
|
+
}
|
|
595
668
|
|
|
596
669
|
void
|
|
597
670
|
Ice::ObjectAdapterI::refreshPublishedEndpoints()
|
|
@@ -601,7 +674,6 @@ Ice::ObjectAdapterI::refreshPublishedEndpoints()
|
|
|
601
674
|
|
|
602
675
|
{
|
|
603
676
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
604
|
-
|
|
605
677
|
checkForDeactivation();
|
|
606
678
|
|
|
607
679
|
oldPublishedEndpoints = _publishedEndpoints;
|
|
@@ -629,35 +701,60 @@ Ice::ObjectAdapterI::refreshPublishedEndpoints()
|
|
|
629
701
|
}
|
|
630
702
|
|
|
631
703
|
EndpointSeq
|
|
632
|
-
Ice::ObjectAdapterI::
|
|
704
|
+
Ice::ObjectAdapterI::getPublishedEndpoints() const
|
|
633
705
|
{
|
|
634
706
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
635
707
|
|
|
636
708
|
EndpointSeq endpoints;
|
|
637
|
-
|
|
638
|
-
back_inserter(endpoints), Ice::constMemFun(&IncomingConnectionFactory::endpoint));
|
|
709
|
+
copy(_publishedEndpoints.begin(), _publishedEndpoints.end(), back_inserter(endpoints));
|
|
639
710
|
return endpoints;
|
|
640
711
|
}
|
|
641
712
|
|
|
642
|
-
|
|
643
|
-
Ice::ObjectAdapterI::
|
|
713
|
+
void
|
|
714
|
+
Ice::ObjectAdapterI::setPublishedEndpoints(const EndpointSeq& newEndpoints)
|
|
644
715
|
{
|
|
645
|
-
|
|
716
|
+
vector<EndpointIPtr> newPublishedEndpoints;
|
|
717
|
+
transform(newEndpoints.begin(), newEndpoints.end(), back_inserter(newPublishedEndpoints), toEndpointI);
|
|
646
718
|
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
719
|
+
LocatorInfoPtr locatorInfo;
|
|
720
|
+
vector<EndpointIPtr> oldPublishedEndpoints;
|
|
721
|
+
{
|
|
722
|
+
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
723
|
+
checkForDeactivation();
|
|
724
|
+
|
|
725
|
+
oldPublishedEndpoints = _publishedEndpoints;
|
|
726
|
+
_publishedEndpoints = newPublishedEndpoints;
|
|
727
|
+
|
|
728
|
+
locatorInfo = _locatorInfo;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
try
|
|
732
|
+
{
|
|
733
|
+
Ice::Identity dummy;
|
|
734
|
+
dummy.name = "dummy";
|
|
735
|
+
updateLocatorRegistry(locatorInfo, createDirectProxy(dummy));
|
|
736
|
+
}
|
|
737
|
+
catch(const Ice::LocalException&)
|
|
738
|
+
{
|
|
739
|
+
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
740
|
+
|
|
741
|
+
//
|
|
742
|
+
// Restore the old published endpoints.
|
|
743
|
+
//
|
|
744
|
+
_publishedEndpoints = oldPublishedEndpoints;
|
|
745
|
+
throw;
|
|
746
|
+
}
|
|
650
747
|
}
|
|
651
748
|
|
|
652
749
|
bool
|
|
653
|
-
Ice::ObjectAdapterI::isLocal(const
|
|
750
|
+
Ice::ObjectAdapterI::isLocal(const ObjectPrxPtr& proxy) const
|
|
654
751
|
{
|
|
655
752
|
//
|
|
656
753
|
// NOTE: it's important that isLocal() doesn't perform any blocking operations as
|
|
657
754
|
// it can be called for AMI invocations if the proxy has no delegate set yet.
|
|
658
755
|
//
|
|
659
756
|
|
|
660
|
-
ReferencePtr ref = proxy->
|
|
757
|
+
ReferencePtr ref = proxy->_getReference();
|
|
661
758
|
if(ref->isWellKnown())
|
|
662
759
|
{
|
|
663
760
|
//
|
|
@@ -690,7 +787,7 @@ Ice::ObjectAdapterI::isLocal(const ObjectPrx& proxy) const
|
|
|
690
787
|
for(vector<IncomingConnectionFactoryPtr>::const_iterator q = _incomingConnectionFactories.begin();
|
|
691
788
|
q != _incomingConnectionFactories.end(); ++q)
|
|
692
789
|
{
|
|
693
|
-
if((*
|
|
790
|
+
if((*q)->isLocal(*p))
|
|
694
791
|
{
|
|
695
792
|
return true;
|
|
696
793
|
}
|
|
@@ -730,7 +827,7 @@ Ice::ObjectAdapterI::isLocal(const ObjectPrx& proxy) const
|
|
|
730
827
|
}
|
|
731
828
|
|
|
732
829
|
void
|
|
733
|
-
Ice::ObjectAdapterI::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr& outAsync)
|
|
830
|
+
Ice::ObjectAdapterI::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr& outAsync, CompressBatch compress)
|
|
734
831
|
{
|
|
735
832
|
vector<IncomingConnectionFactoryPtr> f;
|
|
736
833
|
{
|
|
@@ -740,7 +837,7 @@ Ice::ObjectAdapterI::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPt
|
|
|
740
837
|
|
|
741
838
|
for(vector<IncomingConnectionFactoryPtr>::const_iterator p = f.begin(); p != f.end(); ++p)
|
|
742
839
|
{
|
|
743
|
-
(*p)->flushAsyncBatchRequests(outAsync);
|
|
840
|
+
(*p)->flushAsyncBatchRequests(outAsync, compress);
|
|
744
841
|
}
|
|
745
842
|
}
|
|
746
843
|
|
|
@@ -752,7 +849,15 @@ Ice::ObjectAdapterI::updateConnectionObservers()
|
|
|
752
849
|
IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
|
|
753
850
|
f = _incomingConnectionFactories;
|
|
754
851
|
}
|
|
852
|
+
#ifdef ICE_CPP11_MAPPING
|
|
853
|
+
for_each(f.begin(), f.end(),
|
|
854
|
+
[](const IncomingConnectionFactoryPtr& factory)
|
|
855
|
+
{
|
|
856
|
+
factory->updateConnectionObservers();
|
|
857
|
+
});
|
|
858
|
+
#else
|
|
755
859
|
for_each(f.begin(), f.end(), Ice::voidMemFun(&IncomingConnectionFactory::updateConnectionObservers));
|
|
860
|
+
#endif
|
|
756
861
|
}
|
|
757
862
|
|
|
758
863
|
void
|
|
@@ -842,7 +947,7 @@ Ice::ObjectAdapterI::getACM() const
|
|
|
842
947
|
//
|
|
843
948
|
Ice::ObjectAdapterI::ObjectAdapterI(const InstancePtr& instance, const CommunicatorPtr& communicator,
|
|
844
949
|
const ObjectAdapterFactoryPtr& objectAdapterFactory, const string& name,
|
|
845
|
-
/*const
|
|
950
|
+
/*const RouterPrxPtr& router,*/ bool noConfig) :
|
|
846
951
|
_state(StateUninitialized),
|
|
847
952
|
_instance(instance),
|
|
848
953
|
_communicator(communicator),
|
|
@@ -856,7 +961,7 @@ Ice::ObjectAdapterI::ObjectAdapterI(const InstancePtr& instance, const Communica
|
|
|
856
961
|
}
|
|
857
962
|
|
|
858
963
|
void
|
|
859
|
-
Ice::ObjectAdapterI::initialize(const
|
|
964
|
+
Ice::ObjectAdapterI::initialize(const RouterPrxPtr& router)
|
|
860
965
|
{
|
|
861
966
|
if(_noConfig)
|
|
862
967
|
{
|
|
@@ -944,8 +1049,8 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router)
|
|
|
944
1049
|
|
|
945
1050
|
if(!router)
|
|
946
1051
|
{
|
|
947
|
-
const_cast<
|
|
948
|
-
|
|
1052
|
+
const_cast<RouterPrxPtr&>(router) = ICE_UNCHECKED_CAST(RouterPrx,
|
|
1053
|
+
_instance->proxyFactory()->propertyToProxy(_name + ".Router"));
|
|
949
1054
|
}
|
|
950
1055
|
if(router)
|
|
951
1056
|
{
|
|
@@ -957,8 +1062,9 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router)
|
|
|
957
1062
|
//
|
|
958
1063
|
if(_routerInfo->getAdapter())
|
|
959
1064
|
{
|
|
960
|
-
throw AlreadyRegisteredException(__FILE__, __LINE__,
|
|
961
|
-
|
|
1065
|
+
throw AlreadyRegisteredException(__FILE__, __LINE__,
|
|
1066
|
+
"object adapter with router",
|
|
1067
|
+
_communicator->identityToString(router->ice_getIdentity()));
|
|
962
1068
|
}
|
|
963
1069
|
|
|
964
1070
|
//
|
|
@@ -976,7 +1082,7 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router)
|
|
|
976
1082
|
// new outgoing connections to the router's client proxy will
|
|
977
1083
|
// use this object adapter for callbacks.
|
|
978
1084
|
//
|
|
979
|
-
_routerInfo->setAdapter(
|
|
1085
|
+
_routerInfo->setAdapter(ICE_SHARED_FROM_THIS);
|
|
980
1086
|
|
|
981
1087
|
//
|
|
982
1088
|
// Also modify all existing outgoing connections to the
|
|
@@ -996,11 +1102,19 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router)
|
|
|
996
1102
|
vector<EndpointIPtr> endpoints = parseEndpoints(properties->getProperty(_name + ".Endpoints"), true);
|
|
997
1103
|
for(vector<EndpointIPtr>::iterator p = endpoints.begin(); p != endpoints.end(); ++p)
|
|
998
1104
|
{
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1105
|
+
EndpointIPtr publishedEndpoint;
|
|
1106
|
+
vector<EndpointIPtr> expanded = (*p)->expandHost(publishedEndpoint);
|
|
1107
|
+
for(vector<EndpointIPtr>::iterator q = expanded.begin(); q != expanded.end(); ++q)
|
|
1108
|
+
{
|
|
1109
|
+
IncomingConnectionFactoryPtr factory = ICE_MAKE_SHARED(IncomingConnectionFactory,
|
|
1110
|
+
_instance,
|
|
1111
|
+
*q,
|
|
1112
|
+
publishedEndpoint,
|
|
1113
|
+
ICE_SHARED_FROM_THIS);
|
|
1114
|
+
factory->initialize();
|
|
1115
|
+
_incomingConnectionFactories.push_back(factory);
|
|
1116
|
+
}
|
|
1002
1117
|
}
|
|
1003
|
-
|
|
1004
1118
|
if(endpoints.empty())
|
|
1005
1119
|
{
|
|
1006
1120
|
TraceLevelsPtr tl = _instance->traceLevels();
|
|
@@ -1019,7 +1133,7 @@ Ice::ObjectAdapterI::initialize(const RouterPrx& router)
|
|
|
1019
1133
|
|
|
1020
1134
|
if(!properties->getProperty(_name + ".Locator").empty())
|
|
1021
1135
|
{
|
|
1022
|
-
setLocator(LocatorPrx
|
|
1136
|
+
setLocator(ICE_UNCHECKED_CAST(LocatorPrx, _instance->proxyFactory()->propertyToProxy(_name + ".Locator")));
|
|
1023
1137
|
}
|
|
1024
1138
|
else
|
|
1025
1139
|
{
|
|
@@ -1054,7 +1168,7 @@ Ice::ObjectAdapterI::~ObjectAdapterI()
|
|
|
1054
1168
|
}
|
|
1055
1169
|
}
|
|
1056
1170
|
|
|
1057
|
-
|
|
1171
|
+
ObjectPrxPtr
|
|
1058
1172
|
Ice::ObjectAdapterI::newProxy(const Identity& ident, const string& facet) const
|
|
1059
1173
|
{
|
|
1060
1174
|
if(_id.empty())
|
|
@@ -1071,7 +1185,7 @@ Ice::ObjectAdapterI::newProxy(const Identity& ident, const string& facet) const
|
|
|
1071
1185
|
}
|
|
1072
1186
|
}
|
|
1073
1187
|
|
|
1074
|
-
|
|
1188
|
+
ObjectPrxPtr
|
|
1075
1189
|
Ice::ObjectAdapterI::newDirectProxy(const Identity& ident, const string& facet) const
|
|
1076
1190
|
{
|
|
1077
1191
|
vector<EndpointIPtr> endpoints = _publishedEndpoints;
|
|
@@ -1090,7 +1204,7 @@ Ice::ObjectAdapterI::newDirectProxy(const Identity& ident, const string& facet)
|
|
|
1090
1204
|
return _instance->proxyFactory()->referenceToProxy(ref);
|
|
1091
1205
|
}
|
|
1092
1206
|
|
|
1093
|
-
|
|
1207
|
+
ObjectPrxPtr
|
|
1094
1208
|
Ice::ObjectAdapterI::newIndirectProxy(const Identity& ident, const string& facet, const string& id) const
|
|
1095
1209
|
{
|
|
1096
1210
|
//
|
|
@@ -1129,6 +1243,10 @@ Ice::ObjectAdapterI::parseEndpoints(const string& endpts, bool oaEndpoints) cons
|
|
|
1129
1243
|
beg = endpts.find_first_not_of(delim, end);
|
|
1130
1244
|
if(beg == string::npos)
|
|
1131
1245
|
{
|
|
1246
|
+
if(!endpoints.empty())
|
|
1247
|
+
{
|
|
1248
|
+
throw EndpointParseException(__FILE__, __LINE__, "invalid empty object adapter endpoint");
|
|
1249
|
+
}
|
|
1132
1250
|
break;
|
|
1133
1251
|
}
|
|
1134
1252
|
|
|
@@ -1177,17 +1295,14 @@ Ice::ObjectAdapterI::parseEndpoints(const string& endpts, bool oaEndpoints) cons
|
|
|
1177
1295
|
|
|
1178
1296
|
if(end == beg)
|
|
1179
1297
|
{
|
|
1180
|
-
|
|
1181
|
-
continue;
|
|
1298
|
+
throw EndpointParseException(__FILE__, __LINE__, "invalid empty object adapter endpoint");
|
|
1182
1299
|
}
|
|
1183
1300
|
|
|
1184
1301
|
string s = endpts.substr(beg, end - beg);
|
|
1185
1302
|
EndpointIPtr endp = _instance->endpointFactoryManager()->create(s, oaEndpoints);
|
|
1186
1303
|
if(endp == 0)
|
|
1187
1304
|
{
|
|
1188
|
-
EndpointParseException
|
|
1189
|
-
ex.str = "invalid object adapter endpoint `" + s + "'";
|
|
1190
|
-
throw ex;
|
|
1305
|
+
throw EndpointParseException(__FILE__, __LINE__, "invalid object adapter endpoint `" + s + "'");
|
|
1191
1306
|
}
|
|
1192
1307
|
endpoints.push_back(endp);
|
|
1193
1308
|
|
|
@@ -1215,8 +1330,19 @@ ObjectAdapterI::parsePublishedEndpoints()
|
|
|
1215
1330
|
//
|
|
1216
1331
|
for(unsigned int i = 0; i < _incomingConnectionFactories.size(); ++i)
|
|
1217
1332
|
{
|
|
1218
|
-
vector<EndpointIPtr> endps = _incomingConnectionFactories[i]->endpoint()->
|
|
1219
|
-
|
|
1333
|
+
vector<EndpointIPtr> endps = _incomingConnectionFactories[i]->endpoint()->expandIfWildcard();
|
|
1334
|
+
for(vector<EndpointIPtr>::const_iterator p = endps.begin(); p != endps.end(); ++p)
|
|
1335
|
+
{
|
|
1336
|
+
//
|
|
1337
|
+
// Check for duplicate endpoints, this might occur if an endpoint with a DNS name
|
|
1338
|
+
// expands to multiple addresses. In this case, multiple incoming connection
|
|
1339
|
+
// factories can point to the same published endpoint.
|
|
1340
|
+
//
|
|
1341
|
+
if(::find(endpoints.begin(), endpoints.end(), *p) == endpoints.end())
|
|
1342
|
+
{
|
|
1343
|
+
endpoints.push_back(*p);
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1220
1346
|
}
|
|
1221
1347
|
}
|
|
1222
1348
|
|
|
@@ -1238,14 +1364,14 @@ ObjectAdapterI::parsePublishedEndpoints()
|
|
|
1238
1364
|
}
|
|
1239
1365
|
|
|
1240
1366
|
void
|
|
1241
|
-
ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locatorInfo, const Ice::
|
|
1367
|
+
ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locatorInfo, const Ice::ObjectPrxPtr& proxy)
|
|
1242
1368
|
{
|
|
1243
1369
|
if(_id.empty() || !locatorInfo)
|
|
1244
1370
|
{
|
|
1245
1371
|
return; // Nothing to update.
|
|
1246
1372
|
}
|
|
1247
1373
|
|
|
1248
|
-
|
|
1374
|
+
LocatorRegistryPrxPtr locatorRegistry = locatorInfo->getLocatorRegistry();
|
|
1249
1375
|
if(!locatorRegistry)
|
|
1250
1376
|
{
|
|
1251
1377
|
return;
|