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.
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
#include <Ice/Communicator.h>
|
|
15
15
|
#include <Ice/ObjectAdapter.h>
|
|
16
16
|
|
|
17
|
+
#include <iterator>
|
|
18
|
+
|
|
17
19
|
using namespace std;
|
|
18
20
|
using namespace Ice;
|
|
19
21
|
using namespace IceDiscovery;
|
|
@@ -23,11 +25,20 @@ LocatorRegistryI::LocatorRegistryI(const Ice::CommunicatorPtr& com) :
|
|
|
23
25
|
{
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
#ifdef ICE_CPP11_MAPPING
|
|
29
|
+
void
|
|
30
|
+
LocatorRegistryI::setAdapterDirectProxyAsync(string adapterId,
|
|
31
|
+
shared_ptr<ObjectPrx> proxy,
|
|
32
|
+
function<void()> response,
|
|
33
|
+
function<void(exception_ptr)>,
|
|
34
|
+
const Ice::Current&)
|
|
35
|
+
#else
|
|
36
|
+
void
|
|
37
|
+
LocatorRegistryI::setAdapterDirectProxy_async(const AMD_LocatorRegistry_setAdapterDirectProxyPtr& cb,
|
|
38
|
+
const std::string& adapterId,
|
|
39
|
+
const ObjectPrxPtr& proxy,
|
|
30
40
|
const Current&)
|
|
41
|
+
#endif
|
|
31
42
|
{
|
|
32
43
|
Lock sync(*this);
|
|
33
44
|
if(proxy)
|
|
@@ -38,16 +49,30 @@ LocatorRegistryI::setAdapterDirectProxy_async(const AMD_LocatorRegistry_setAdapt
|
|
|
38
49
|
{
|
|
39
50
|
_adapters.erase(adapterId);
|
|
40
51
|
}
|
|
52
|
+
#ifdef ICE_CPP11_MAPPING
|
|
53
|
+
response();
|
|
54
|
+
#else
|
|
41
55
|
cb->ice_response();
|
|
56
|
+
#endif
|
|
42
57
|
}
|
|
43
58
|
|
|
59
|
+
#ifdef ICE_CPP11_MAPPING
|
|
60
|
+
void
|
|
61
|
+
LocatorRegistryI::setReplicatedAdapterDirectProxyAsync(string adapterId,
|
|
62
|
+
string replicaGroupId,
|
|
63
|
+
shared_ptr<ObjectPrx> proxy,
|
|
64
|
+
function<void()> response,
|
|
65
|
+
function<void(exception_ptr)>,
|
|
66
|
+
const Ice::Current&)
|
|
67
|
+
#else
|
|
44
68
|
void
|
|
45
69
|
LocatorRegistryI::setReplicatedAdapterDirectProxy_async(
|
|
46
70
|
const AMD_LocatorRegistry_setReplicatedAdapterDirectProxyPtr& cb,
|
|
47
71
|
const std::string& adapterId,
|
|
48
72
|
const std::string& replicaGroupId,
|
|
49
|
-
const
|
|
73
|
+
const ObjectPrxPtr& proxy,
|
|
50
74
|
const Current&)
|
|
75
|
+
#endif
|
|
51
76
|
{
|
|
52
77
|
Lock sync(*this);
|
|
53
78
|
if(proxy)
|
|
@@ -73,19 +98,35 @@ LocatorRegistryI::setReplicatedAdapterDirectProxy_async(
|
|
|
73
98
|
}
|
|
74
99
|
}
|
|
75
100
|
}
|
|
101
|
+
#ifdef ICE_CPP11_MAPPING
|
|
102
|
+
response();
|
|
103
|
+
#else
|
|
76
104
|
cb->ice_response();
|
|
105
|
+
#endif
|
|
77
106
|
}
|
|
78
107
|
|
|
108
|
+
#ifdef ICE_CPP11_MAPPING
|
|
79
109
|
void
|
|
80
|
-
LocatorRegistryI::
|
|
81
|
-
|
|
82
|
-
|
|
110
|
+
LocatorRegistryI::setServerProcessProxyAsync(string,
|
|
111
|
+
shared_ptr<ProcessPrx>,
|
|
112
|
+
function<void()> response,
|
|
113
|
+
function<void(exception_ptr)>,
|
|
114
|
+
const Ice::Current&)
|
|
115
|
+
{
|
|
116
|
+
response();
|
|
117
|
+
}
|
|
118
|
+
#else
|
|
119
|
+
void
|
|
120
|
+
LocatorRegistryI::setServerProcessProxy_async(const AMD_LocatorRegistry_setServerProcessProxyPtr& cb,
|
|
121
|
+
const std::string&,
|
|
122
|
+
const ProcessPrxPtr&,
|
|
83
123
|
const Current&)
|
|
84
124
|
{
|
|
85
125
|
cb->ice_response();
|
|
86
126
|
}
|
|
127
|
+
#endif
|
|
87
128
|
|
|
88
|
-
Ice::
|
|
129
|
+
Ice::ObjectPrxPtr
|
|
89
130
|
LocatorRegistryI::findObject(const Ice::Identity& id) const
|
|
90
131
|
{
|
|
91
132
|
Lock sync(*this);
|
|
@@ -94,7 +135,7 @@ LocatorRegistryI::findObject(const Ice::Identity& id) const
|
|
|
94
135
|
return 0;
|
|
95
136
|
}
|
|
96
137
|
|
|
97
|
-
Ice::
|
|
138
|
+
Ice::ObjectPrxPtr prx = _wellKnownProxy->ice_identity(id);
|
|
98
139
|
|
|
99
140
|
vector<string> adapterIds;
|
|
100
141
|
for(map<string, set<string> >::const_iterator p = _replicaGroups.begin(); p != _replicaGroups.end(); ++p)
|
|
@@ -112,7 +153,7 @@ LocatorRegistryI::findObject(const Ice::Identity& id) const
|
|
|
112
153
|
|
|
113
154
|
if(adapterIds.empty())
|
|
114
155
|
{
|
|
115
|
-
for(map<string, Ice::
|
|
156
|
+
for(map<string, Ice::ObjectPrxPtr>::const_iterator p = _adapters.begin(); p != _adapters.end(); ++p)
|
|
116
157
|
{
|
|
117
158
|
try
|
|
118
159
|
{
|
|
@@ -135,12 +176,12 @@ LocatorRegistryI::findObject(const Ice::Identity& id) const
|
|
|
135
176
|
return prx->ice_adapterId(adapterIds[0]);
|
|
136
177
|
}
|
|
137
178
|
|
|
138
|
-
Ice::
|
|
179
|
+
Ice::ObjectPrxPtr
|
|
139
180
|
LocatorRegistryI::findAdapter(const string& adapterId, bool& isReplicaGroup) const
|
|
140
181
|
{
|
|
141
182
|
Lock sync(*this);
|
|
142
183
|
|
|
143
|
-
map<string, Ice::
|
|
184
|
+
map<string, Ice::ObjectPrxPtr>::const_iterator p = _adapters.find(adapterId);
|
|
144
185
|
if(p != _adapters.end())
|
|
145
186
|
{
|
|
146
187
|
isReplicaGroup = false;
|
|
@@ -151,10 +192,10 @@ LocatorRegistryI::findAdapter(const string& adapterId, bool& isReplicaGroup) con
|
|
|
151
192
|
if(q != _replicaGroups.end())
|
|
152
193
|
{
|
|
153
194
|
Ice::EndpointSeq endpoints;
|
|
154
|
-
Ice::
|
|
195
|
+
Ice::ObjectPrxPtr prx;
|
|
155
196
|
for(set<string>::const_iterator r = q->second.begin(); r != q->second.end(); ++r)
|
|
156
197
|
{
|
|
157
|
-
map<string, Ice::
|
|
198
|
+
map<string, Ice::ObjectPrxPtr>::const_iterator s = _adapters.find(*r);
|
|
158
199
|
if(s == _adapters.end())
|
|
159
200
|
{
|
|
160
201
|
continue; // TODO: Inconsistency
|
|
@@ -175,34 +216,53 @@ LocatorRegistryI::findAdapter(const string& adapterId, bool& isReplicaGroup) con
|
|
|
175
216
|
return prx->ice_endpoints(endpoints);
|
|
176
217
|
}
|
|
177
218
|
}
|
|
178
|
-
|
|
219
|
+
|
|
179
220
|
isReplicaGroup = false;
|
|
180
221
|
return 0;
|
|
181
222
|
}
|
|
182
223
|
|
|
183
|
-
LocatorI::LocatorI(const LookupIPtr& lookup, const
|
|
224
|
+
LocatorI::LocatorI(const LookupIPtr& lookup, const LocatorRegistryPrxPtr& registry) : _lookup(lookup), _registry(registry)
|
|
225
|
+
{
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
#ifdef ICE_CPP11_MAPPING
|
|
229
|
+
void
|
|
230
|
+
LocatorI::findObjectByIdAsync(Ice::Identity id,
|
|
231
|
+
function<void(const shared_ptr<ObjectPrx>&)> response,
|
|
232
|
+
function<void(exception_ptr)> ex,
|
|
233
|
+
const Ice::Current&) const
|
|
184
234
|
{
|
|
235
|
+
_lookup->findObject(make_pair(response, ex), id);
|
|
185
236
|
}
|
|
186
237
|
|
|
187
|
-
void
|
|
188
|
-
LocatorI::
|
|
189
|
-
const
|
|
238
|
+
void
|
|
239
|
+
LocatorI::findAdapterByIdAsync(string adapterId,
|
|
240
|
+
function<void(const shared_ptr<ObjectPrx>&)> response,
|
|
241
|
+
function<void(exception_ptr)> ex,
|
|
242
|
+
const Ice::Current&) const
|
|
243
|
+
{
|
|
244
|
+
_lookup->findAdapter(make_pair(response, ex), adapterId);
|
|
245
|
+
}
|
|
246
|
+
#else
|
|
247
|
+
void
|
|
248
|
+
LocatorI::findObjectById_async(const AMD_Locator_findObjectByIdPtr& cb,
|
|
249
|
+
const Identity& id,
|
|
190
250
|
const Current&) const
|
|
191
251
|
{
|
|
192
252
|
_lookup->findObject(cb, id);
|
|
193
253
|
}
|
|
194
254
|
|
|
195
|
-
void
|
|
196
|
-
LocatorI::findAdapterById_async(const AMD_Locator_findAdapterByIdPtr& cb,
|
|
197
|
-
const std::string& adapterId,
|
|
255
|
+
void
|
|
256
|
+
LocatorI::findAdapterById_async(const AMD_Locator_findAdapterByIdPtr& cb,
|
|
257
|
+
const std::string& adapterId,
|
|
198
258
|
const Current&) const
|
|
199
259
|
{
|
|
200
260
|
_lookup->findAdapter(cb, adapterId);
|
|
201
261
|
}
|
|
262
|
+
#endif
|
|
202
263
|
|
|
203
|
-
|
|
264
|
+
LocatorRegistryPrxPtr
|
|
204
265
|
LocatorI::getRegistry(const Current&) const
|
|
205
266
|
{
|
|
206
267
|
return _registry;
|
|
207
268
|
}
|
|
208
|
-
|
|
@@ -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.
|
|
@@ -23,54 +23,90 @@ class LocatorRegistryI : public Ice::LocatorRegistry, private IceUtil::Mutex
|
|
|
23
23
|
public:
|
|
24
24
|
|
|
25
25
|
LocatorRegistryI(const Ice::CommunicatorPtr&);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
|
|
27
|
+
#ifdef ICE_CPP11_MAPPING
|
|
28
|
+
virtual void
|
|
29
|
+
setAdapterDirectProxyAsync(std::string,
|
|
30
|
+
std::shared_ptr<Ice::ObjectPrx>,
|
|
31
|
+
std::function<void()>,
|
|
32
|
+
std::function<void(std::exception_ptr)>,
|
|
33
|
+
const Ice::Current&);
|
|
34
|
+
|
|
35
|
+
virtual void
|
|
36
|
+
setReplicatedAdapterDirectProxyAsync(std::string,
|
|
37
|
+
std::string,
|
|
38
|
+
std::shared_ptr<Ice::ObjectPrx>,
|
|
39
|
+
std::function<void()>,
|
|
40
|
+
std::function<void(std::exception_ptr)>,
|
|
41
|
+
const Ice::Current&);
|
|
42
|
+
|
|
43
|
+
virtual void
|
|
44
|
+
setServerProcessProxyAsync(std::string,
|
|
45
|
+
std::shared_ptr<Ice::ProcessPrx>,
|
|
46
|
+
std::function<void()>,
|
|
47
|
+
std::function<void(std::exception_ptr)>,
|
|
48
|
+
const Ice::Current&);
|
|
49
|
+
#else
|
|
50
|
+
virtual void
|
|
51
|
+
setAdapterDirectProxy_async(const Ice::AMD_LocatorRegistry_setAdapterDirectProxyPtr&, const std::string&,
|
|
29
52
|
const Ice::ObjectPrx&, const Ice::Current&);
|
|
30
53
|
|
|
31
54
|
virtual void
|
|
32
55
|
setReplicatedAdapterDirectProxy_async(const Ice::AMD_LocatorRegistry_setReplicatedAdapterDirectProxyPtr&,
|
|
33
|
-
const std::string&, const std::string&, const Ice::ObjectPrx&,
|
|
56
|
+
const std::string&, const std::string&, const Ice::ObjectPrx&,
|
|
34
57
|
const Ice::Current&);
|
|
35
58
|
|
|
36
|
-
virtual void
|
|
37
|
-
setServerProcessProxy_async(const Ice::AMD_LocatorRegistry_setServerProcessProxyPtr&, const std::string&,
|
|
59
|
+
virtual void
|
|
60
|
+
setServerProcessProxy_async(const Ice::AMD_LocatorRegistry_setServerProcessProxyPtr&, const std::string&,
|
|
38
61
|
const Ice::ProcessPrx&, const Ice::Current&);
|
|
39
|
-
|
|
40
|
-
Ice::
|
|
41
|
-
Ice::
|
|
62
|
+
#endif
|
|
63
|
+
Ice::ObjectPrxPtr findObject(const Ice::Identity&) const;
|
|
64
|
+
Ice::ObjectPrxPtr findAdapter(const std::string&, bool&) const;
|
|
42
65
|
|
|
43
66
|
private:
|
|
44
67
|
|
|
45
|
-
const Ice::
|
|
46
|
-
std::map<std::string, Ice::
|
|
68
|
+
const Ice::ObjectPrxPtr _wellKnownProxy;
|
|
69
|
+
std::map<std::string, Ice::ObjectPrxPtr> _adapters;
|
|
47
70
|
std::map<std::string, std::set<std::string> > _replicaGroups;
|
|
48
71
|
};
|
|
49
|
-
|
|
72
|
+
ICE_DEFINE_PTR(LocatorRegistryIPtr, LocatorRegistryI);
|
|
50
73
|
|
|
51
74
|
class LookupI;
|
|
52
|
-
|
|
75
|
+
ICE_DEFINE_PTR(LookupIPtr, LookupI);
|
|
53
76
|
|
|
54
77
|
class LocatorI : public Ice::Locator
|
|
55
78
|
{
|
|
56
79
|
public:
|
|
57
80
|
|
|
58
|
-
LocatorI(const LookupIPtr&, const Ice::
|
|
81
|
+
LocatorI(const LookupIPtr&, const Ice::LocatorRegistryPrxPtr&);
|
|
59
82
|
|
|
60
|
-
|
|
61
|
-
|
|
83
|
+
#ifdef ICE_CPP11_MAPPING
|
|
84
|
+
virtual void
|
|
85
|
+
findObjectByIdAsync(Ice::Identity,
|
|
86
|
+
std::function<void(const std::shared_ptr<Ice::ObjectPrx>&)>,
|
|
87
|
+
std::function<void(std::exception_ptr)>,
|
|
88
|
+
const Ice::Current&) const;
|
|
89
|
+
|
|
90
|
+
virtual void
|
|
91
|
+
findAdapterByIdAsync(std::string,
|
|
92
|
+
std::function<void(const std::shared_ptr<Ice::ObjectPrx>&)>,
|
|
93
|
+
std::function<void(std::exception_ptr)>,
|
|
94
|
+
const Ice::Current&) const;
|
|
95
|
+
#else
|
|
96
|
+
virtual void
|
|
97
|
+
findObjectById_async(const Ice::AMD_Locator_findObjectByIdPtr&, const Ice::Identity&,
|
|
62
98
|
const Ice::Current&) const;
|
|
63
99
|
|
|
64
|
-
virtual void
|
|
65
|
-
findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr&, const std::string&,
|
|
100
|
+
virtual void
|
|
101
|
+
findAdapterById_async(const Ice::AMD_Locator_findAdapterByIdPtr&, const std::string&,
|
|
66
102
|
const Ice::Current&) const;
|
|
67
|
-
|
|
68
|
-
virtual Ice::
|
|
103
|
+
#endif
|
|
104
|
+
virtual Ice::LocatorRegistryPrxPtr getRegistry(const Ice::Current&) const;
|
|
69
105
|
|
|
70
106
|
private:
|
|
71
|
-
|
|
107
|
+
|
|
72
108
|
LookupIPtr _lookup;
|
|
73
|
-
Ice::
|
|
109
|
+
Ice::LocatorRegistryPrxPtr _registry;
|
|
74
110
|
};
|
|
75
111
|
|
|
76
112
|
};
|
|
@@ -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,48 +12,145 @@
|
|
|
12
12
|
#include <Ice/Communicator.h>
|
|
13
13
|
#include <Ice/LocalException.h>
|
|
14
14
|
#include <Ice/Initialize.h>
|
|
15
|
-
#include <
|
|
15
|
+
#include <Ice/LoggerUtil.h>
|
|
16
|
+
#include <Ice/UUID.h>
|
|
17
|
+
|
|
16
18
|
#include <IceDiscovery/LookupI.h>
|
|
19
|
+
#include <iterator>
|
|
17
20
|
|
|
18
21
|
using namespace std;
|
|
19
22
|
using namespace Ice;
|
|
20
23
|
using namespace IceDiscovery;
|
|
21
24
|
|
|
25
|
+
#ifndef ICE_CPP11_MAPPING
|
|
26
|
+
namespace
|
|
27
|
+
{
|
|
28
|
+
|
|
29
|
+
class AdapterCallbackI : public IceUtil::Shared
|
|
30
|
+
{
|
|
31
|
+
public:
|
|
32
|
+
|
|
33
|
+
AdapterCallbackI(const LookupIPtr& lookup, const AdapterRequestPtr& request) : _lookup(lookup), _request(request)
|
|
34
|
+
{
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
void
|
|
38
|
+
completed(const Ice::AsyncResultPtr& result)
|
|
39
|
+
{
|
|
40
|
+
try
|
|
41
|
+
{
|
|
42
|
+
result->throwLocalException();
|
|
43
|
+
}
|
|
44
|
+
catch(const Ice::LocalException& ex)
|
|
45
|
+
{
|
|
46
|
+
_lookup->adapterRequestException(_request, ex);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
private:
|
|
51
|
+
|
|
52
|
+
LookupIPtr _lookup;
|
|
53
|
+
AdapterRequestPtr _request;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
class ObjectCallbackI : public IceUtil::Shared
|
|
57
|
+
{
|
|
58
|
+
public:
|
|
59
|
+
|
|
60
|
+
ObjectCallbackI(const LookupIPtr& lookup, const ObjectRequestPtr& request) : _lookup(lookup), _request(request)
|
|
61
|
+
{
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
void
|
|
65
|
+
completed(const Ice::AsyncResultPtr& result)
|
|
66
|
+
{
|
|
67
|
+
try
|
|
68
|
+
{
|
|
69
|
+
result->throwLocalException();
|
|
70
|
+
}
|
|
71
|
+
catch(const Ice::LocalException& ex)
|
|
72
|
+
{
|
|
73
|
+
_lookup->objectRequestException(_request, ex);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private:
|
|
78
|
+
|
|
79
|
+
LookupIPtr _lookup;
|
|
80
|
+
ObjectRequestPtr _request;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
}
|
|
84
|
+
#endif
|
|
85
|
+
|
|
22
86
|
IceDiscovery::Request::Request(const LookupIPtr& lookup, int retryCount) :
|
|
23
|
-
_lookup(lookup),
|
|
87
|
+
_lookup(lookup), _requestId(Ice::generateUUID()), _retryCount(retryCount), _lookupCount(0), _failureCount(0)
|
|
24
88
|
{
|
|
25
89
|
}
|
|
26
90
|
|
|
27
91
|
bool
|
|
28
92
|
IceDiscovery::Request::retry()
|
|
29
93
|
{
|
|
30
|
-
return --
|
|
94
|
+
return --_retryCount >= 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
void
|
|
98
|
+
IceDiscovery::Request::invoke(const string& domainId, const vector<pair<LookupPrxPtr, LookupReplyPrxPtr> >& lookups)
|
|
99
|
+
{
|
|
100
|
+
_lookupCount = lookups.size();
|
|
101
|
+
_failureCount = 0;
|
|
102
|
+
Ice::Identity id;
|
|
103
|
+
id.name = _requestId;
|
|
104
|
+
for(vector<pair<LookupPrxPtr, LookupReplyPrxPtr> >::const_iterator p = lookups.begin(); p != lookups.end(); ++p)
|
|
105
|
+
{
|
|
106
|
+
invokeWithLookup(domainId, p->first, ICE_UNCHECKED_CAST(LookupReplyPrx, p->second->ice_identity(id)));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
bool
|
|
111
|
+
IceDiscovery::Request::exception()
|
|
112
|
+
{
|
|
113
|
+
//
|
|
114
|
+
// If all the invocations on all the lookup proxies failed, report it to the locator.
|
|
115
|
+
//
|
|
116
|
+
if(++_failureCount == _lookupCount)
|
|
117
|
+
{
|
|
118
|
+
finished(0);
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
return false;
|
|
31
122
|
}
|
|
32
123
|
|
|
33
|
-
|
|
124
|
+
string
|
|
34
125
|
IceDiscovery::Request::getRequestId() const
|
|
35
126
|
{
|
|
36
127
|
return _requestId;
|
|
37
128
|
}
|
|
38
129
|
|
|
130
|
+
AdapterRequest::AdapterRequest(const LookupIPtr& lookup, const std::string& adapterId, int retryCount) :
|
|
131
|
+
RequestT<std::string, AdapterCB>(lookup, adapterId, retryCount),
|
|
132
|
+
_start(IceUtil::Time::now())
|
|
133
|
+
{
|
|
134
|
+
}
|
|
135
|
+
|
|
39
136
|
bool
|
|
40
137
|
AdapterRequest::retry()
|
|
41
138
|
{
|
|
42
|
-
return _proxies.empty() && --
|
|
139
|
+
return _proxies.empty() && --_retryCount >= 0;
|
|
43
140
|
}
|
|
44
141
|
|
|
45
142
|
bool
|
|
46
|
-
AdapterRequest::response(const Ice::
|
|
143
|
+
AdapterRequest::response(const Ice::ObjectPrxPtr& proxy, bool isReplicaGroup)
|
|
47
144
|
{
|
|
48
145
|
if(isReplicaGroup)
|
|
49
146
|
{
|
|
50
147
|
if(_latency == IceUtil::Time())
|
|
51
148
|
{
|
|
52
149
|
_latency = (IceUtil::Time::now() - _start) * _lookup->latencyMultiplier();
|
|
53
|
-
_lookup->timer()->cancel(
|
|
54
|
-
_lookup->timer()->schedule(
|
|
150
|
+
_lookup->timer()->cancel(ICE_SHARED_FROM_THIS);
|
|
151
|
+
_lookup->timer()->schedule(ICE_SHARED_FROM_THIS, _latency);
|
|
55
152
|
}
|
|
56
|
-
_proxies.
|
|
153
|
+
_proxies.insert(proxy);
|
|
57
154
|
return false;
|
|
58
155
|
}
|
|
59
156
|
finished(proxy);
|
|
@@ -61,60 +158,123 @@ AdapterRequest::response(const Ice::ObjectPrx& proxy, bool isReplicaGroup)
|
|
|
61
158
|
}
|
|
62
159
|
|
|
63
160
|
void
|
|
64
|
-
AdapterRequest::finished(const
|
|
161
|
+
AdapterRequest::finished(const ObjectPrxPtr& proxy)
|
|
65
162
|
{
|
|
66
163
|
if(proxy || _proxies.empty())
|
|
67
164
|
{
|
|
68
|
-
RequestT<
|
|
69
|
-
return;
|
|
165
|
+
RequestT<string, AdapterCB>::finished(proxy);
|
|
70
166
|
}
|
|
71
167
|
else if(_proxies.size() == 1)
|
|
72
168
|
{
|
|
73
|
-
RequestT<
|
|
74
|
-
return;
|
|
169
|
+
RequestT<string, AdapterCB>::finished(*_proxies.begin());
|
|
75
170
|
}
|
|
76
|
-
|
|
77
|
-
Ice::EndpointSeq endpoints;
|
|
78
|
-
Ice::ObjectPrx prx;
|
|
79
|
-
for(vector<Ice::ObjectPrx>::const_iterator p = _proxies.begin(); p != _proxies.end(); ++p)
|
|
171
|
+
else
|
|
80
172
|
{
|
|
81
|
-
|
|
173
|
+
EndpointSeq endpoints;
|
|
174
|
+
ObjectPrxPtr prx;
|
|
175
|
+
for(set<ObjectPrxPtr>::const_iterator p = _proxies.begin(); p != _proxies.end(); ++p)
|
|
82
176
|
{
|
|
83
|
-
prx
|
|
177
|
+
if(!prx)
|
|
178
|
+
{
|
|
179
|
+
prx = *p;
|
|
180
|
+
}
|
|
181
|
+
Ice::EndpointSeq endpts = (*p)->ice_getEndpoints();
|
|
182
|
+
copy(endpts.begin(), endpts.end(), back_inserter(endpoints));
|
|
84
183
|
}
|
|
85
|
-
|
|
86
|
-
copy(endpts.begin(), endpts.end(), back_inserter(endpoints));
|
|
184
|
+
RequestT<string, AdapterCB>::finished(prx->ice_endpoints(endpoints));
|
|
87
185
|
}
|
|
88
|
-
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
void
|
|
189
|
+
AdapterRequest::invokeWithLookup(const string& domainId, const LookupPrxPtr& lookup, const LookupReplyPrxPtr& lookupReply)
|
|
190
|
+
{
|
|
191
|
+
#ifdef ICE_CPP11_MAPPING
|
|
192
|
+
auto self = ICE_SHARED_FROM_THIS;
|
|
193
|
+
lookup->findAdapterByIdAsync(domainId, _id, lookupReply, nullptr, [self](exception_ptr ex)
|
|
194
|
+
{
|
|
195
|
+
try
|
|
196
|
+
{
|
|
197
|
+
rethrow_exception(ex);
|
|
198
|
+
}
|
|
199
|
+
catch(const Ice::LocalException& ex)
|
|
200
|
+
{
|
|
201
|
+
self->_lookup->adapterRequestException(self, ex);
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
#else
|
|
205
|
+
lookup->begin_findAdapterById(domainId, _id, lookupReply, newCallback(new AdapterCallbackI(_lookup, this),
|
|
206
|
+
&AdapterCallbackI::completed));
|
|
207
|
+
#endif
|
|
89
208
|
}
|
|
90
209
|
|
|
91
210
|
void
|
|
92
211
|
AdapterRequest::runTimerTask()
|
|
93
212
|
{
|
|
94
|
-
_lookup->adapterRequestTimedOut(
|
|
213
|
+
_lookup->adapterRequestTimedOut(ICE_SHARED_FROM_THIS);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
ObjectRequest::ObjectRequest(const LookupIPtr& lookup, const Ice::Identity& id, int retryCount) :
|
|
217
|
+
RequestT<Ice::Identity, ObjectCB>(lookup, id, retryCount)
|
|
218
|
+
{
|
|
95
219
|
}
|
|
96
220
|
|
|
97
221
|
void
|
|
98
|
-
ObjectRequest::response(const Ice::
|
|
222
|
+
ObjectRequest::response(const Ice::ObjectPrxPtr& proxy)
|
|
99
223
|
{
|
|
100
224
|
finished(proxy);
|
|
101
225
|
}
|
|
102
226
|
|
|
227
|
+
void
|
|
228
|
+
ObjectRequest::invokeWithLookup(const string& domainId, const LookupPrxPtr& lookup, const LookupReplyPrxPtr& lookupReply)
|
|
229
|
+
{
|
|
230
|
+
#ifdef ICE_CPP11_MAPPING
|
|
231
|
+
auto self = ICE_SHARED_FROM_THIS;
|
|
232
|
+
lookup->findObjectByIdAsync(domainId, _id, lookupReply, nullptr, [self](exception_ptr ex)
|
|
233
|
+
{
|
|
234
|
+
try
|
|
235
|
+
{
|
|
236
|
+
rethrow_exception(ex);
|
|
237
|
+
}
|
|
238
|
+
catch(const Ice::LocalException& ex)
|
|
239
|
+
{
|
|
240
|
+
self->_lookup->objectRequestException(self, ex);
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
#else
|
|
244
|
+
lookup->begin_findObjectById(domainId, _id, lookupReply, newCallback(new ObjectCallbackI(_lookup, this),
|
|
245
|
+
&ObjectCallbackI::completed));
|
|
246
|
+
|
|
247
|
+
#endif
|
|
248
|
+
}
|
|
249
|
+
|
|
103
250
|
void
|
|
104
251
|
ObjectRequest::runTimerTask()
|
|
105
252
|
{
|
|
106
|
-
_lookup->objectRequestTimedOut(
|
|
253
|
+
_lookup->objectRequestTimedOut(ICE_SHARED_FROM_THIS);
|
|
107
254
|
}
|
|
108
255
|
|
|
109
|
-
LookupI::LookupI(const LocatorRegistryIPtr& registry, const
|
|
256
|
+
LookupI::LookupI(const LocatorRegistryIPtr& registry, const LookupPrxPtr& lookup, const Ice::PropertiesPtr& properties) :
|
|
110
257
|
_registry(registry),
|
|
111
258
|
_lookup(lookup),
|
|
112
259
|
_timeout(IceUtil::Time::milliSeconds(properties->getPropertyAsIntWithDefault("IceDiscovery.Timeout", 300))),
|
|
113
260
|
_retryCount(properties->getPropertyAsIntWithDefault("IceDiscovery.RetryCount", 3)),
|
|
114
261
|
_latencyMultiplier(properties->getPropertyAsIntWithDefault("IceDiscovery.LatencyMultiplier", 1)),
|
|
115
262
|
_domainId(properties->getProperty("IceDiscovery.DomainId")),
|
|
116
|
-
_timer(IceInternal::getInstanceTimer(lookup->ice_getCommunicator()))
|
|
263
|
+
_timer(IceInternal::getInstanceTimer(lookup->ice_getCommunicator())),
|
|
264
|
+
_warnOnce(true)
|
|
117
265
|
{
|
|
266
|
+
//
|
|
267
|
+
// Create one lookup proxy per endpoint from the given proxy. We want to send a multicast
|
|
268
|
+
// datagram on each endpoint.
|
|
269
|
+
//
|
|
270
|
+
EndpointSeq endpoints = lookup->ice_getEndpoints();
|
|
271
|
+
for(vector<EndpointPtr>::const_iterator p = endpoints.begin(); p != endpoints.end(); ++p)
|
|
272
|
+
{
|
|
273
|
+
EndpointSeq single;
|
|
274
|
+
single.push_back(*p);
|
|
275
|
+
_lookups.push_back(make_pair(lookup->ice_endpoints(single), LookupReplyPrxPtr()));
|
|
276
|
+
}
|
|
277
|
+
assert(!_lookups.empty());
|
|
118
278
|
}
|
|
119
279
|
|
|
120
280
|
LookupI::~LookupI()
|
|
@@ -130,6 +290,7 @@ LookupI::destroy()
|
|
|
130
290
|
p->second->finished(0);
|
|
131
291
|
_timer->cancel(p->second);
|
|
132
292
|
}
|
|
293
|
+
_objectRequests.clear();
|
|
133
294
|
|
|
134
295
|
for(map<string, AdapterRequestPtr>::const_iterator p = _adapterRequests.begin(); p != _adapterRequests.end(); ++p)
|
|
135
296
|
{
|
|
@@ -140,13 +301,38 @@ LookupI::destroy()
|
|
|
140
301
|
}
|
|
141
302
|
|
|
142
303
|
void
|
|
143
|
-
LookupI::setLookupReply(const
|
|
304
|
+
LookupI::setLookupReply(const LookupReplyPrxPtr& lookupReply)
|
|
144
305
|
{
|
|
145
|
-
|
|
306
|
+
//
|
|
307
|
+
// Use a lookup reply proxy whose adress matches the interface used to send multicast datagrams.
|
|
308
|
+
//
|
|
309
|
+
for(vector<pair<LookupPrxPtr, LookupReplyPrxPtr> >::iterator p = _lookups.begin(); p != _lookups.end(); ++p)
|
|
310
|
+
{
|
|
311
|
+
UDPEndpointInfoPtr info = ICE_DYNAMIC_CAST(UDPEndpointInfo, p->first->ice_getEndpoints()[0]->getInfo());
|
|
312
|
+
if(info && !info->mcastInterface.empty())
|
|
313
|
+
{
|
|
314
|
+
EndpointSeq endpts = lookupReply->ice_getEndpoints();
|
|
315
|
+
for(EndpointSeq::const_iterator q = endpts.begin(); q != endpts.end(); ++q)
|
|
316
|
+
{
|
|
317
|
+
IPEndpointInfoPtr r = ICE_DYNAMIC_CAST(IPEndpointInfo, (*q)->getInfo());
|
|
318
|
+
if(r && r->host == info->mcastInterface)
|
|
319
|
+
{
|
|
320
|
+
EndpointSeq single;
|
|
321
|
+
single.push_back(*q);
|
|
322
|
+
p->second = lookupReply->ice_endpoints(single);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
if(!p->second)
|
|
328
|
+
{
|
|
329
|
+
p->second = lookupReply; // Fallback: just use the given lookup reply proxy if no matching endpoint found.
|
|
330
|
+
}
|
|
331
|
+
}
|
|
146
332
|
}
|
|
147
333
|
|
|
148
334
|
void
|
|
149
|
-
LookupI::findObjectById(
|
|
335
|
+
LookupI::findObjectById(ICE_IN(string) domainId, ICE_IN(Ice::Identity) id, ICE_IN(LookupReplyPrxPtr) reply,
|
|
150
336
|
const Ice::Current&)
|
|
151
337
|
{
|
|
152
338
|
if(domainId != _domainId)
|
|
@@ -154,7 +340,7 @@ LookupI::findObjectById(const string& domainId, const Ice::Identity& id, const I
|
|
|
154
340
|
return; // Ignore.
|
|
155
341
|
}
|
|
156
342
|
|
|
157
|
-
Ice::
|
|
343
|
+
Ice::ObjectPrxPtr proxy = _registry->findObject(id);
|
|
158
344
|
if(proxy)
|
|
159
345
|
{
|
|
160
346
|
//
|
|
@@ -162,7 +348,11 @@ LookupI::findObjectById(const string& domainId, const Ice::Identity& id, const I
|
|
|
162
348
|
//
|
|
163
349
|
try
|
|
164
350
|
{
|
|
351
|
+
#ifdef ICE_CPP11_MAPPING
|
|
352
|
+
reply->foundObjectByIdAsync(id, proxy);
|
|
353
|
+
#else
|
|
165
354
|
reply->begin_foundObjectById(id, proxy);
|
|
355
|
+
#endif
|
|
166
356
|
}
|
|
167
357
|
catch(const Ice::LocalException&)
|
|
168
358
|
{
|
|
@@ -172,8 +362,8 @@ LookupI::findObjectById(const string& domainId, const Ice::Identity& id, const I
|
|
|
172
362
|
}
|
|
173
363
|
|
|
174
364
|
void
|
|
175
|
-
LookupI::findAdapterById(
|
|
176
|
-
const
|
|
365
|
+
LookupI::findAdapterById(ICE_IN(string) domainId, ICE_IN(string) adapterId, ICE_IN(LookupReplyPrxPtr) reply,
|
|
366
|
+
const Ice::Current&)
|
|
177
367
|
{
|
|
178
368
|
if(domainId != _domainId)
|
|
179
369
|
{
|
|
@@ -181,7 +371,7 @@ LookupI::findAdapterById(const string& domainId, const std::string& adapterId,
|
|
|
181
371
|
}
|
|
182
372
|
|
|
183
373
|
bool isReplicaGroup;
|
|
184
|
-
Ice::
|
|
374
|
+
Ice::ObjectPrxPtr proxy = _registry->findAdapter(adapterId, isReplicaGroup);
|
|
185
375
|
if(proxy)
|
|
186
376
|
{
|
|
187
377
|
//
|
|
@@ -189,7 +379,11 @@ LookupI::findAdapterById(const string& domainId, const std::string& adapterId,
|
|
|
189
379
|
//
|
|
190
380
|
try
|
|
191
381
|
{
|
|
382
|
+
#ifdef ICE_CPP11_MAPPING
|
|
383
|
+
reply->foundAdapterByIdAsync(adapterId, proxy, isReplicaGroup);
|
|
384
|
+
#else
|
|
192
385
|
reply->begin_foundAdapterById(adapterId, proxy, isReplicaGroup);
|
|
386
|
+
#endif
|
|
193
387
|
}
|
|
194
388
|
catch(const Ice::LocalException&)
|
|
195
389
|
{
|
|
@@ -199,65 +393,63 @@ LookupI::findAdapterById(const string& domainId, const std::string& adapterId,
|
|
|
199
393
|
}
|
|
200
394
|
|
|
201
395
|
void
|
|
202
|
-
LookupI::findObject(const
|
|
396
|
+
LookupI::findObject(const ObjectCB& cb, const Ice::Identity& id)
|
|
203
397
|
{
|
|
204
398
|
Lock sync(*this);
|
|
205
399
|
map<Ice::Identity, ObjectRequestPtr>::iterator p = _objectRequests.find(id);
|
|
206
400
|
if(p == _objectRequests.end())
|
|
207
401
|
{
|
|
208
|
-
p = _objectRequests.insert(make_pair(id,
|
|
402
|
+
p = _objectRequests.insert(make_pair(id, ICE_MAKE_SHARED(ObjectRequest,
|
|
403
|
+
ICE_SHARED_FROM_THIS,
|
|
404
|
+
id,
|
|
405
|
+
_retryCount))).first;
|
|
209
406
|
}
|
|
210
407
|
|
|
211
408
|
if(p->second->addCallback(cb))
|
|
212
409
|
{
|
|
213
410
|
try
|
|
214
411
|
{
|
|
215
|
-
|
|
216
|
-
ident.name = p->second->getRequestId();
|
|
217
|
-
_lookup->begin_findObjectById(_domainId,
|
|
218
|
-
id,
|
|
219
|
-
LookupReplyPrx::uncheckedCast(_lookupReply->ice_identity(ident)));
|
|
412
|
+
p->second->invoke(_domainId, _lookups);
|
|
220
413
|
_timer->schedule(p->second, _timeout);
|
|
221
414
|
}
|
|
222
415
|
catch(const Ice::LocalException&)
|
|
223
416
|
{
|
|
224
|
-
p->second->finished(
|
|
417
|
+
p->second->finished(ICE_NULLPTR);
|
|
225
418
|
_objectRequests.erase(p);
|
|
226
419
|
}
|
|
227
420
|
}
|
|
228
421
|
}
|
|
229
422
|
|
|
230
423
|
void
|
|
231
|
-
LookupI::findAdapter(const
|
|
424
|
+
LookupI::findAdapter(const AdapterCB& cb, const std::string& adapterId)
|
|
232
425
|
{
|
|
233
426
|
Lock sync(*this);
|
|
234
427
|
map<string, AdapterRequestPtr>::iterator p = _adapterRequests.find(adapterId);
|
|
235
428
|
if(p == _adapterRequests.end())
|
|
236
429
|
{
|
|
237
|
-
p = _adapterRequests.insert(make_pair(adapterId,
|
|
430
|
+
p = _adapterRequests.insert(make_pair(adapterId, ICE_MAKE_SHARED(AdapterRequest,
|
|
431
|
+
ICE_SHARED_FROM_THIS,
|
|
432
|
+
adapterId,
|
|
433
|
+
_retryCount))).first;
|
|
238
434
|
}
|
|
239
435
|
|
|
240
436
|
if(p->second->addCallback(cb))
|
|
241
437
|
{
|
|
242
438
|
try
|
|
243
439
|
{
|
|
244
|
-
|
|
245
|
-
ident.name = p->second->getRequestId();
|
|
246
|
-
_lookup->begin_findAdapterById(_domainId,
|
|
247
|
-
adapterId,
|
|
248
|
-
LookupReplyPrx::uncheckedCast(_lookupReply->ice_identity(ident)));
|
|
440
|
+
p->second->invoke(_domainId, _lookups);
|
|
249
441
|
_timer->schedule(p->second, _timeout);
|
|
250
442
|
}
|
|
251
443
|
catch(const Ice::LocalException&)
|
|
252
444
|
{
|
|
253
|
-
p->second->finished(
|
|
445
|
+
p->second->finished(ICE_NULLPTR);
|
|
254
446
|
_adapterRequests.erase(p);
|
|
255
447
|
}
|
|
256
448
|
}
|
|
257
449
|
}
|
|
258
450
|
|
|
259
451
|
void
|
|
260
|
-
LookupI::foundObject(const Ice::Identity& id, const string& requestId, const Ice::
|
|
452
|
+
LookupI::foundObject(const Ice::Identity& id, const string& requestId, const Ice::ObjectPrxPtr& proxy)
|
|
261
453
|
{
|
|
262
454
|
Lock sync(*this);
|
|
263
455
|
map<Ice::Identity, ObjectRequestPtr>::iterator p = _objectRequests.find(id);
|
|
@@ -270,7 +462,7 @@ LookupI::foundObject(const Ice::Identity& id, const string& requestId, const Ice
|
|
|
270
462
|
}
|
|
271
463
|
|
|
272
464
|
void
|
|
273
|
-
LookupI::foundAdapter(const
|
|
465
|
+
LookupI::foundAdapter(const string& adapterId, const string& requestId, const Ice::ObjectPrxPtr& proxy,
|
|
274
466
|
bool isReplicaGroup)
|
|
275
467
|
{
|
|
276
468
|
Lock sync(*this);
|
|
@@ -299,8 +491,8 @@ LookupI::objectRequestTimedOut(const ObjectRequestPtr& request)
|
|
|
299
491
|
{
|
|
300
492
|
try
|
|
301
493
|
{
|
|
302
|
-
|
|
303
|
-
_timer->schedule(
|
|
494
|
+
request->invoke(_domainId, _lookups);
|
|
495
|
+
_timer->schedule(request, _timeout);
|
|
304
496
|
return;
|
|
305
497
|
}
|
|
306
498
|
catch(const Ice::LocalException&)
|
|
@@ -313,6 +505,29 @@ LookupI::objectRequestTimedOut(const ObjectRequestPtr& request)
|
|
|
313
505
|
_timer->cancel(request);
|
|
314
506
|
}
|
|
315
507
|
|
|
508
|
+
void
|
|
509
|
+
LookupI::adapterRequestException(const AdapterRequestPtr& request, const LocalException& ex)
|
|
510
|
+
{
|
|
511
|
+
Lock sync(*this);
|
|
512
|
+
map<string, AdapterRequestPtr>::iterator p = _adapterRequests.find(request->getId());
|
|
513
|
+
if(p == _adapterRequests.end() || p->second.get() != request.get())
|
|
514
|
+
{
|
|
515
|
+
return;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
if(request->exception())
|
|
519
|
+
{
|
|
520
|
+
if(_warnOnce)
|
|
521
|
+
{
|
|
522
|
+
Warning warn(_lookup->ice_getCommunicator()->getLogger());
|
|
523
|
+
warn << "failed to lookup adapter `" << p->first << "' with lookup proxy `" << _lookup << "':\n" << ex;
|
|
524
|
+
_warnOnce = false;
|
|
525
|
+
}
|
|
526
|
+
_timer->cancel(request);
|
|
527
|
+
_adapterRequests.erase(p);
|
|
528
|
+
}
|
|
529
|
+
}
|
|
530
|
+
|
|
316
531
|
void
|
|
317
532
|
LookupI::adapterRequestTimedOut(const AdapterRequestPtr& request)
|
|
318
533
|
{
|
|
@@ -327,8 +542,8 @@ LookupI::adapterRequestTimedOut(const AdapterRequestPtr& request)
|
|
|
327
542
|
{
|
|
328
543
|
try
|
|
329
544
|
{
|
|
330
|
-
|
|
331
|
-
_timer->schedule(
|
|
545
|
+
request->invoke(_domainId, _lookups);
|
|
546
|
+
_timer->schedule(request, _timeout);
|
|
332
547
|
return;
|
|
333
548
|
}
|
|
334
549
|
catch(const Ice::LocalException&)
|
|
@@ -341,19 +556,58 @@ LookupI::adapterRequestTimedOut(const AdapterRequestPtr& request)
|
|
|
341
556
|
_timer->cancel(request);
|
|
342
557
|
}
|
|
343
558
|
|
|
559
|
+
void
|
|
560
|
+
LookupI::objectRequestException(const ObjectRequestPtr& request, const LocalException& ex)
|
|
561
|
+
{
|
|
562
|
+
Lock sync(*this);
|
|
563
|
+
map<Ice::Identity, ObjectRequestPtr>::iterator p = _objectRequests.find(request->getId());
|
|
564
|
+
if(p == _objectRequests.end() || p->second.get() != request.get())
|
|
565
|
+
{
|
|
566
|
+
return;
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
if(request->exception())
|
|
570
|
+
{
|
|
571
|
+
if(_warnOnce)
|
|
572
|
+
{
|
|
573
|
+
Warning warn(_lookup->ice_getCommunicator()->getLogger());
|
|
574
|
+
string id = _lookup->ice_getCommunicator()->identityToString(p->first);
|
|
575
|
+
warn << "failed to lookup object `" << id << "' with lookup proxy `" << _lookup << "':\n" << ex;
|
|
576
|
+
_warnOnce = false;
|
|
577
|
+
}
|
|
578
|
+
_timer->cancel(request);
|
|
579
|
+
_objectRequests.erase(p);
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
|
|
344
583
|
LookupReplyI::LookupReplyI(const LookupIPtr& lookup) : _lookup(lookup)
|
|
345
584
|
{
|
|
346
585
|
}
|
|
347
586
|
|
|
587
|
+
#ifdef ICE_CPP11_MAPPING
|
|
588
|
+
void
|
|
589
|
+
LookupReplyI::foundObjectById(Identity id, shared_ptr<ObjectPrx> proxy, const Current& current)
|
|
590
|
+
{
|
|
591
|
+
_lookup->foundObject(id, current.id.name, proxy);
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
void
|
|
595
|
+
LookupReplyI::foundAdapterById(string adapterId, shared_ptr<ObjectPrx> proxy, bool isReplicaGroup,
|
|
596
|
+
const Current& current)
|
|
597
|
+
{
|
|
598
|
+
_lookup->foundAdapter(adapterId, current.id.name, proxy, isReplicaGroup);
|
|
599
|
+
}
|
|
600
|
+
#else
|
|
348
601
|
void
|
|
349
|
-
LookupReplyI::foundObjectById(const
|
|
602
|
+
LookupReplyI::foundObjectById(const Identity& id, const ObjectPrxPtr& proxy, const Current& current)
|
|
350
603
|
{
|
|
351
604
|
_lookup->foundObject(id, current.id.name, proxy);
|
|
352
605
|
}
|
|
353
606
|
|
|
354
607
|
void
|
|
355
|
-
LookupReplyI::foundAdapterById(const
|
|
356
|
-
const
|
|
608
|
+
LookupReplyI::foundAdapterById(const string& adapterId, const ObjectPrxPtr& proxy, bool isReplicaGroup,
|
|
609
|
+
const Current& current)
|
|
357
610
|
{
|
|
358
611
|
_lookup->foundAdapter(adapterId, current.id.name, proxy, isReplicaGroup);
|
|
359
612
|
}
|
|
613
|
+
#endif
|