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.
|
|
@@ -23,9 +23,21 @@ using namespace std;
|
|
|
23
23
|
using namespace Ice;
|
|
24
24
|
using namespace IceInternal;
|
|
25
25
|
|
|
26
|
+
#ifndef ICE_CPP11_MAPPING
|
|
26
27
|
IceUtil::Shared* IceInternal::upCast(IncomingAsync* p) { return p; }
|
|
27
28
|
IceUtil::Shared* Ice::upCast(AMD_Object_ice_invoke* p) { return p; }
|
|
28
29
|
|
|
30
|
+
Ice::AMDCallback::~AMDCallback()
|
|
31
|
+
{
|
|
32
|
+
// Out of line to avoid weak vtable
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
Ice::AMD_Object_ice_invoke::~AMD_Object_ice_invoke()
|
|
36
|
+
{
|
|
37
|
+
// Out of line to avoid weak vtable
|
|
38
|
+
}
|
|
39
|
+
#endif
|
|
40
|
+
|
|
29
41
|
namespace
|
|
30
42
|
{
|
|
31
43
|
|
|
@@ -53,288 +65,171 @@ Init init;
|
|
|
53
65
|
|
|
54
66
|
IceInternal::IncomingAsync::IncomingAsync(Incoming& in) :
|
|
55
67
|
IncomingBase(in),
|
|
56
|
-
|
|
57
|
-
_responseHandlerCopy(_responseHandler)
|
|
58
|
-
_retriable(in.isRetriable()),
|
|
59
|
-
_active(true)
|
|
68
|
+
_responseSent(false),
|
|
69
|
+
_responseHandlerCopy(ICE_GET_SHARED_FROM_THIS(_responseHandler))
|
|
60
70
|
{
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
71
|
+
#ifndef ICE_CPP11_MAPPING
|
|
72
|
+
in.setAsync(this);
|
|
73
|
+
#endif
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
#ifdef ICE_CPP11_MAPPING
|
|
77
|
+
shared_ptr<IncomingAsync>
|
|
78
|
+
IceInternal::IncomingAsync::create(Incoming& in)
|
|
79
|
+
{
|
|
80
|
+
auto async = make_shared<IncomingAsync>(in);
|
|
81
|
+
in.setAsync(async);
|
|
82
|
+
return async;
|
|
65
83
|
}
|
|
84
|
+
#endif
|
|
66
85
|
|
|
86
|
+
#ifndef ICE_CPP11_MAPPING
|
|
67
87
|
void
|
|
68
|
-
IceInternal::IncomingAsync::
|
|
88
|
+
IceInternal::IncomingAsync::ice_exception(const ::std::exception& exc)
|
|
69
89
|
{
|
|
70
|
-
|
|
90
|
+
try
|
|
71
91
|
{
|
|
72
|
-
|
|
73
|
-
if(!_active)
|
|
92
|
+
for(DispatchInterceptorCallbacks::iterator p = _interceptorCBs.begin(); p != _interceptorCBs.end(); ++p)
|
|
74
93
|
{
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
throw ResponseSentException(__FILE__, __LINE__);
|
|
94
|
+
if(!(*p)->exception(exc))
|
|
95
|
+
{
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
80
98
|
}
|
|
81
|
-
|
|
99
|
+
}
|
|
100
|
+
catch(...)
|
|
101
|
+
{
|
|
102
|
+
return;
|
|
82
103
|
}
|
|
83
104
|
|
|
84
|
-
|
|
105
|
+
checkResponseSent();
|
|
106
|
+
IncomingBase::exception(exc, true); // User thread
|
|
85
107
|
}
|
|
86
108
|
|
|
87
109
|
void
|
|
88
|
-
IceInternal::IncomingAsync::ice_exception(
|
|
110
|
+
IceInternal::IncomingAsync::ice_exception()
|
|
89
111
|
{
|
|
90
|
-
|
|
91
|
-
// Only call __exception if this incoming is not retriable or if
|
|
92
|
-
// all the interceptors return true and no response has been sent
|
|
93
|
-
// yet.
|
|
94
|
-
//
|
|
95
|
-
|
|
96
|
-
if(_retriable)
|
|
112
|
+
try
|
|
97
113
|
{
|
|
98
|
-
|
|
114
|
+
for(DispatchInterceptorCallbacks::iterator p = _interceptorCBs.begin(); p != _interceptorCBs.end(); ++p)
|
|
99
115
|
{
|
|
100
|
-
|
|
101
|
-
p != _interceptorAsyncCallbackQueue.end(); ++p)
|
|
116
|
+
if(!(*p)->exception())
|
|
102
117
|
{
|
|
103
|
-
|
|
104
|
-
{
|
|
105
|
-
return;
|
|
106
|
-
}
|
|
118
|
+
return;
|
|
107
119
|
}
|
|
108
120
|
}
|
|
109
|
-
catch(...)
|
|
110
|
-
{
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
|
|
115
|
-
if(!_active)
|
|
116
|
-
{
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
_active = false;
|
|
120
121
|
}
|
|
121
|
-
|
|
122
|
-
if(_responseHandler)
|
|
122
|
+
catch(...)
|
|
123
123
|
{
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
else
|
|
127
|
-
{
|
|
128
|
-
//
|
|
129
|
-
// Response has already been sent.
|
|
130
|
-
//
|
|
131
|
-
if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
|
|
132
|
-
{
|
|
133
|
-
__warning(ex.what());
|
|
134
|
-
}
|
|
124
|
+
return;
|
|
135
125
|
}
|
|
126
|
+
|
|
127
|
+
checkResponseSent();
|
|
128
|
+
IncomingBase::exception("unknown c++ exception", true); // User thread
|
|
136
129
|
}
|
|
137
130
|
|
|
131
|
+
#endif
|
|
132
|
+
|
|
138
133
|
void
|
|
139
|
-
IceInternal::IncomingAsync::
|
|
134
|
+
IceInternal::IncomingAsync::kill(Incoming& in)
|
|
140
135
|
{
|
|
141
|
-
|
|
142
|
-
//
|
|
143
|
-
|
|
144
|
-
// yet.
|
|
145
|
-
//
|
|
136
|
+
checkResponseSent();
|
|
137
|
+
in._observer.adopt(_observer); // Give back the observer to incoming.
|
|
138
|
+
}
|
|
146
139
|
|
|
147
|
-
|
|
140
|
+
void
|
|
141
|
+
IceInternal::IncomingAsync::completed()
|
|
142
|
+
{
|
|
143
|
+
for(DispatchInterceptorCallbacks::iterator p = _interceptorCBs.begin(); p != _interceptorCBs.end(); ++p)
|
|
148
144
|
{
|
|
149
145
|
try
|
|
150
146
|
{
|
|
151
|
-
|
|
152
|
-
|
|
147
|
+
#ifdef ICE_CPP11_MAPPING
|
|
148
|
+
if(p->first && !p->first())
|
|
149
|
+
#else
|
|
150
|
+
if(!(*p)->response())
|
|
151
|
+
#endif
|
|
153
152
|
{
|
|
154
|
-
|
|
155
|
-
{
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
153
|
+
return;
|
|
158
154
|
}
|
|
159
155
|
}
|
|
160
156
|
catch(...)
|
|
161
157
|
{
|
|
162
|
-
return;
|
|
163
158
|
}
|
|
164
|
-
|
|
165
|
-
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
|
|
166
|
-
if(!_active)
|
|
167
|
-
{
|
|
168
|
-
return;
|
|
169
|
-
}
|
|
170
|
-
_active = false;
|
|
171
159
|
}
|
|
172
160
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
__exception();
|
|
176
|
-
}
|
|
177
|
-
else
|
|
178
|
-
{
|
|
179
|
-
//
|
|
180
|
-
// Response has already been sent.
|
|
181
|
-
//
|
|
182
|
-
if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
|
|
183
|
-
{
|
|
184
|
-
__warning("unknown exception");
|
|
185
|
-
}
|
|
186
|
-
}
|
|
161
|
+
checkResponseSent();
|
|
162
|
+
IncomingBase::response(true); // User thread
|
|
187
163
|
}
|
|
188
164
|
|
|
165
|
+
#ifdef ICE_CPP11_MAPPING
|
|
189
166
|
void
|
|
190
|
-
IceInternal::IncomingAsync::
|
|
167
|
+
IceInternal::IncomingAsync::completed(exception_ptr ex)
|
|
191
168
|
{
|
|
192
|
-
|
|
169
|
+
for(DispatchInterceptorCallbacks::iterator p = _interceptorCBs.begin(); p != _interceptorCBs.end(); ++p)
|
|
193
170
|
{
|
|
194
|
-
|
|
195
|
-
{
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
assert(_responseHandler);
|
|
200
|
-
|
|
201
|
-
if(_response)
|
|
171
|
+
try
|
|
202
172
|
{
|
|
203
|
-
|
|
204
|
-
|
|
173
|
+
if(p->second && !p->second(ex))
|
|
174
|
+
{
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
205
177
|
}
|
|
206
|
-
|
|
178
|
+
catch(...)
|
|
207
179
|
{
|
|
208
|
-
_responseHandler->sendNoResponse();
|
|
209
180
|
}
|
|
210
|
-
|
|
211
|
-
_observer.detach();
|
|
212
|
-
_responseHandler = 0;
|
|
213
181
|
}
|
|
214
|
-
catch(const LocalException& ex)
|
|
215
|
-
{
|
|
216
|
-
_responseHandler->invokeException(_current.requestId, ex, 1, true); // Fatal invocation exception
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
182
|
|
|
220
|
-
|
|
221
|
-
IceInternal::IncomingAsync::__exception(const std::exception& exc)
|
|
222
|
-
{
|
|
183
|
+
checkResponseSent();
|
|
223
184
|
try
|
|
224
185
|
{
|
|
225
|
-
|
|
226
|
-
{
|
|
227
|
-
return;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
__handleException(exc, true);
|
|
231
|
-
}
|
|
232
|
-
catch(const LocalException& ex)
|
|
233
|
-
{
|
|
234
|
-
_responseHandler->invokeException(_current.requestId, ex, 1, true); // Fatal invocation exception
|
|
186
|
+
rethrow_exception(ex);
|
|
235
187
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
void
|
|
239
|
-
IceInternal::IncomingAsync::__exception()
|
|
240
|
-
{
|
|
241
|
-
try
|
|
188
|
+
catch(const std::exception& exc)
|
|
242
189
|
{
|
|
243
|
-
|
|
244
|
-
{
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
__handleException(true);
|
|
190
|
+
IncomingBase::exception(exc, true); // User thread
|
|
249
191
|
}
|
|
250
|
-
catch(
|
|
192
|
+
catch(...)
|
|
251
193
|
{
|
|
252
|
-
|
|
194
|
+
IncomingBase::exception("unknown c++ exception", true); // User thread
|
|
253
195
|
}
|
|
254
196
|
}
|
|
197
|
+
#endif
|
|
255
198
|
|
|
256
|
-
|
|
257
|
-
IceInternal::IncomingAsync::
|
|
199
|
+
void
|
|
200
|
+
IceInternal::IncomingAsync::checkResponseSent()
|
|
258
201
|
{
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
// the interceptors return true and no response has been sent
|
|
262
|
-
// yet. Upon getting a true return value, the caller should send
|
|
263
|
-
// the response.
|
|
264
|
-
//
|
|
265
|
-
|
|
266
|
-
if(_retriable)
|
|
202
|
+
IceUtil::Mutex::Lock sync(*globalMutex);
|
|
203
|
+
if(_responseSent)
|
|
267
204
|
{
|
|
268
|
-
|
|
269
|
-
{
|
|
270
|
-
for(deque<DispatchInterceptorAsyncCallbackPtr>::iterator p = _interceptorAsyncCallbackQueue.begin();
|
|
271
|
-
p != _interceptorAsyncCallbackQueue.end(); ++p)
|
|
272
|
-
{
|
|
273
|
-
if((*p)->response(ok) == false)
|
|
274
|
-
{
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
catch(...)
|
|
280
|
-
{
|
|
281
|
-
return false;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
|
|
285
|
-
if(!_active)
|
|
286
|
-
{
|
|
287
|
-
return false;
|
|
288
|
-
}
|
|
289
|
-
_active = false;
|
|
205
|
+
throw ResponseSentException(__FILE__, __LINE__);
|
|
290
206
|
}
|
|
291
|
-
|
|
207
|
+
_responseSent = true;
|
|
292
208
|
}
|
|
293
209
|
|
|
294
|
-
|
|
295
|
-
|
|
210
|
+
#ifndef ICE_CPP11_MAPPING
|
|
211
|
+
IceAsync::Ice::AMD_Object_ice_invoke::AMD_Object_ice_invoke(Incoming& in) : IncomingAsync(in)
|
|
296
212
|
{
|
|
297
213
|
}
|
|
298
214
|
|
|
299
215
|
void
|
|
300
216
|
IceAsync::Ice::AMD_Object_ice_invoke::ice_response(bool ok, const vector<Byte>& outEncaps)
|
|
301
217
|
{
|
|
302
|
-
if(
|
|
218
|
+
if(outEncaps.empty())
|
|
303
219
|
{
|
|
304
|
-
|
|
305
|
-
{
|
|
306
|
-
if(outEncaps.empty())
|
|
307
|
-
{
|
|
308
|
-
__writeParamEncaps(0, 0, ok);
|
|
309
|
-
}
|
|
310
|
-
else
|
|
311
|
-
{
|
|
312
|
-
__writeParamEncaps(&outEncaps[0], static_cast< ::Ice::Int>(outEncaps.size()), ok);
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
catch(const LocalException& ex)
|
|
316
|
-
{
|
|
317
|
-
__exception(ex);
|
|
318
|
-
return;
|
|
319
|
-
}
|
|
320
|
-
__response();
|
|
220
|
+
writeParamEncaps(0, 0, ok);
|
|
321
221
|
}
|
|
222
|
+
else
|
|
223
|
+
{
|
|
224
|
+
writeParamEncaps(&outEncaps[0], static_cast<Int>(outEncaps.size()), ok);
|
|
225
|
+
}
|
|
226
|
+
completed();
|
|
322
227
|
}
|
|
323
228
|
|
|
324
229
|
void
|
|
325
230
|
IceAsync::Ice::AMD_Object_ice_invoke::ice_response(bool ok, const pair<const Byte*, const Byte*>& outEncaps)
|
|
326
231
|
{
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
try
|
|
330
|
-
{
|
|
331
|
-
__writeParamEncaps(outEncaps.first, static_cast<Int>(outEncaps.second - outEncaps.first), ok);
|
|
332
|
-
}
|
|
333
|
-
catch(const LocalException& ex)
|
|
334
|
-
{
|
|
335
|
-
__exception(ex);
|
|
336
|
-
return;
|
|
337
|
-
}
|
|
338
|
-
__response();
|
|
339
|
-
}
|
|
232
|
+
writeParamEncaps(outEncaps.first, static_cast<Int>(outEncaps.second - outEncaps.first), ok);
|
|
233
|
+
completed();
|
|
340
234
|
}
|
|
235
|
+
#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.
|
|
@@ -23,15 +23,16 @@ namespace IceInternal
|
|
|
23
23
|
class ICE_API IncomingRequest : public Ice::Request
|
|
24
24
|
{
|
|
25
25
|
public:
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
|
|
27
|
+
IncomingRequest(Incoming& in) : _in(in)
|
|
28
28
|
{
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
virtual const Ice::Current& getCurrent();
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
Incoming& _in;
|
|
34
34
|
};
|
|
35
|
+
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
#endif
|
|
@@ -1,25 +1,25 @@
|
|
|
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/ArgVector.h>
|
|
11
|
+
#include <IceUtil/DisableWarnings.h>
|
|
11
12
|
#include <Ice/CommunicatorI.h>
|
|
12
13
|
#include <Ice/PropertiesI.h>
|
|
13
14
|
#include <Ice/Initialize.h>
|
|
14
15
|
#include <Ice/LocalException.h>
|
|
15
|
-
#include <Ice/StreamI.h>
|
|
16
16
|
#include <Ice/LoggerI.h>
|
|
17
17
|
#include <Ice/Instance.h>
|
|
18
18
|
#include <Ice/PluginManagerI.h>
|
|
19
|
-
#include <
|
|
19
|
+
#include <Ice/StringUtil.h>
|
|
20
20
|
#include <IceUtil/Mutex.h>
|
|
21
21
|
#include <IceUtil/MutexPtrLock.h>
|
|
22
|
-
#include <
|
|
22
|
+
#include <Ice/StringConverter.h>
|
|
23
23
|
|
|
24
24
|
using namespace std;
|
|
25
25
|
using namespace Ice;
|
|
@@ -28,19 +28,6 @@ using namespace IceInternal;
|
|
|
28
28
|
namespace
|
|
29
29
|
{
|
|
30
30
|
|
|
31
|
-
pair<const Byte*, const Byte*>
|
|
32
|
-
makePair(const vector<Byte>& v)
|
|
33
|
-
{
|
|
34
|
-
if(v.empty())
|
|
35
|
-
{
|
|
36
|
-
return pair<const Byte*, const Byte*>(static_cast<Byte*>(0), static_cast<Byte*>(0));
|
|
37
|
-
}
|
|
38
|
-
else
|
|
39
|
-
{
|
|
40
|
-
return pair<const Byte*, const Byte*>(&v[0], &v[0] + v.size());
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
31
|
IceUtil::Mutex* globalMutex = 0;
|
|
45
32
|
Ice::LoggerPtr processLogger;
|
|
46
33
|
|
|
@@ -65,7 +52,7 @@ Init init;
|
|
|
65
52
|
}
|
|
66
53
|
|
|
67
54
|
StringSeq
|
|
68
|
-
Ice::argsToStringSeq(int argc, char* argv[])
|
|
55
|
+
Ice::argsToStringSeq(int argc, const char* const argv[])
|
|
69
56
|
{
|
|
70
57
|
StringSeq result;
|
|
71
58
|
for(int i = 0; i < argc; i++)
|
|
@@ -78,17 +65,17 @@ Ice::argsToStringSeq(int argc, char* argv[])
|
|
|
78
65
|
#ifdef _WIN32
|
|
79
66
|
|
|
80
67
|
StringSeq
|
|
81
|
-
Ice::argsToStringSeq(int /*argc*/, wchar_t* argv[])
|
|
68
|
+
Ice::argsToStringSeq(int /*argc*/, const wchar_t* const argv[])
|
|
82
69
|
{
|
|
83
70
|
//
|
|
84
71
|
// Don't need to use a wide string converter argv is expected to
|
|
85
72
|
// come from Windows API.
|
|
86
73
|
//
|
|
87
|
-
const
|
|
74
|
+
const StringConverterPtr converter = getProcessStringConverter();
|
|
88
75
|
StringSeq args;
|
|
89
|
-
for(int i=0; argv[i] != 0; i++)
|
|
76
|
+
for(int i = 0; argv[i] != 0; i++)
|
|
90
77
|
{
|
|
91
|
-
args.push_back(
|
|
78
|
+
args.push_back(wstringToString(argv[i], converter));
|
|
92
79
|
}
|
|
93
80
|
return args;
|
|
94
81
|
}
|
|
@@ -96,7 +83,7 @@ Ice::argsToStringSeq(int /*argc*/, wchar_t* argv[])
|
|
|
96
83
|
#endif
|
|
97
84
|
|
|
98
85
|
void
|
|
99
|
-
Ice::stringSeqToArgs(const StringSeq& args, int& argc, char* argv[])
|
|
86
|
+
Ice::stringSeqToArgs(const StringSeq& args, int& argc, const char* argv[])
|
|
100
87
|
{
|
|
101
88
|
//
|
|
102
89
|
// Shift all elements in argv which are present in args to the
|
|
@@ -132,20 +119,65 @@ Ice::stringSeqToArgs(const StringSeq& args, int& argc, char* argv[])
|
|
|
132
119
|
}
|
|
133
120
|
}
|
|
134
121
|
|
|
122
|
+
#ifdef _WIN32
|
|
123
|
+
void
|
|
124
|
+
Ice::stringSeqToArgs(const StringSeq& args, int& argc, const wchar_t* argv[])
|
|
125
|
+
{
|
|
126
|
+
//
|
|
127
|
+
// Don't need to use a wide string converter argv is expected to
|
|
128
|
+
// come from Windows API.
|
|
129
|
+
//
|
|
130
|
+
const StringConverterPtr converter = getProcessStringConverter();
|
|
131
|
+
|
|
132
|
+
//
|
|
133
|
+
// Shift all elements in argv which are present in args to the
|
|
134
|
+
// beginning of argv. We record the original value of argc so
|
|
135
|
+
// that we can know later if we've shifted the array.
|
|
136
|
+
//
|
|
137
|
+
const int argcOrig = argc;
|
|
138
|
+
int i = 0;
|
|
139
|
+
while(i < argc)
|
|
140
|
+
{
|
|
141
|
+
if(find(args.begin(), args.end(), wstringToString(argv[i], converter)) == args.end())
|
|
142
|
+
{
|
|
143
|
+
for(int j = i; j < argc - 1; j++)
|
|
144
|
+
{
|
|
145
|
+
argv[j] = argv[j + 1];
|
|
146
|
+
}
|
|
147
|
+
--argc;
|
|
148
|
+
}
|
|
149
|
+
else
|
|
150
|
+
{
|
|
151
|
+
++i;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
//
|
|
156
|
+
// Make sure that argv[argc] == 0, the ISO C++ standard requires this.
|
|
157
|
+
// We can only do this if we've shifted the array, otherwise argv[argc]
|
|
158
|
+
// may point to an invalid address.
|
|
159
|
+
//
|
|
160
|
+
if(argv && argcOrig != argc)
|
|
161
|
+
{
|
|
162
|
+
argv[argc] = 0;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
#endif
|
|
166
|
+
|
|
135
167
|
PropertiesPtr
|
|
136
168
|
Ice::createProperties()
|
|
137
169
|
{
|
|
138
|
-
return
|
|
170
|
+
return ICE_MAKE_SHARED(PropertiesI);
|
|
139
171
|
}
|
|
140
172
|
|
|
141
173
|
PropertiesPtr
|
|
142
174
|
Ice::createProperties(StringSeq& args, const PropertiesPtr& defaults)
|
|
143
175
|
{
|
|
144
|
-
return
|
|
176
|
+
return ICE_MAKE_SHARED(PropertiesI, args, defaults);
|
|
145
177
|
}
|
|
146
178
|
|
|
147
179
|
PropertiesPtr
|
|
148
|
-
Ice::createProperties(int& argc, char* argv[], const PropertiesPtr& defaults)
|
|
180
|
+
Ice::createProperties(int& argc, const char* argv[], const PropertiesPtr& defaults)
|
|
149
181
|
{
|
|
150
182
|
StringSeq args = argsToStringSeq(argc, argv);
|
|
151
183
|
PropertiesPtr properties = createProperties(args, defaults);
|
|
@@ -153,6 +185,31 @@ Ice::createProperties(int& argc, char* argv[], const PropertiesPtr& defaults)
|
|
|
153
185
|
return properties;
|
|
154
186
|
}
|
|
155
187
|
|
|
188
|
+
#ifdef _WIN32
|
|
189
|
+
PropertiesPtr
|
|
190
|
+
Ice::createProperties(int& argc, const wchar_t* argv[], const PropertiesPtr& defaults)
|
|
191
|
+
{
|
|
192
|
+
StringSeq args = argsToStringSeq(argc, argv);
|
|
193
|
+
PropertiesPtr properties = createProperties(args, defaults);
|
|
194
|
+
stringSeqToArgs(args, argc, argv);
|
|
195
|
+
return properties;
|
|
196
|
+
}
|
|
197
|
+
#endif
|
|
198
|
+
|
|
199
|
+
#ifdef ICE_CPP11_MAPPING
|
|
200
|
+
Ice::ThreadHookPlugin::ThreadHookPlugin(const CommunicatorPtr& communicator,
|
|
201
|
+
function<void()> threadStart,
|
|
202
|
+
function<void()> threadStop)
|
|
203
|
+
{
|
|
204
|
+
if(communicator == nullptr)
|
|
205
|
+
{
|
|
206
|
+
throw PluginInitializationException(__FILE__, __LINE__, "Communicator cannot be null");
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
IceInternal::InstancePtr instance = IceInternal::getInstance(communicator);
|
|
210
|
+
instance->setThreadHook(move(threadStart), move(threadStop));
|
|
211
|
+
}
|
|
212
|
+
#else
|
|
156
213
|
Ice::ThreadHookPlugin::ThreadHookPlugin(const CommunicatorPtr& communicator, const ThreadNotificationPtr& threadHook)
|
|
157
214
|
{
|
|
158
215
|
if(communicator == 0)
|
|
@@ -163,7 +220,7 @@ Ice::ThreadHookPlugin::ThreadHookPlugin(const CommunicatorPtr& communicator, con
|
|
|
163
220
|
IceInternal::InstancePtr instance = IceInternal::getInstance(communicator);
|
|
164
221
|
instance->setThreadHook(threadHook);
|
|
165
222
|
}
|
|
166
|
-
|
|
223
|
+
#endif
|
|
167
224
|
void
|
|
168
225
|
Ice::ThreadHookPlugin::initialize()
|
|
169
226
|
{
|
|
@@ -177,7 +234,7 @@ Ice::ThreadHookPlugin::destroy()
|
|
|
177
234
|
namespace
|
|
178
235
|
{
|
|
179
236
|
|
|
180
|
-
inline void checkIceVersion(
|
|
237
|
+
inline void checkIceVersion(int version)
|
|
181
238
|
{
|
|
182
239
|
#ifndef ICE_IGNORE_VERSION
|
|
183
240
|
|
|
@@ -222,32 +279,68 @@ inline void checkIceVersion(Int version)
|
|
|
222
279
|
|
|
223
280
|
}
|
|
224
281
|
|
|
225
|
-
CommunicatorPtr
|
|
226
|
-
Ice::initialize(int& argc, char* argv[], const InitializationData& initializationData,
|
|
282
|
+
Ice::CommunicatorPtr
|
|
283
|
+
Ice::initialize(int& argc, const char* argv[], const InitializationData& initializationData, int version)
|
|
227
284
|
{
|
|
228
285
|
checkIceVersion(version);
|
|
229
286
|
|
|
230
287
|
InitializationData initData = initializationData;
|
|
231
288
|
initData.properties = createProperties(argc, argv, initData.properties);
|
|
232
289
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
290
|
+
CommunicatorIPtr communicator = CommunicatorI::create(initData);
|
|
291
|
+
communicator->finishSetup(argc, argv);
|
|
292
|
+
return communicator;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
Ice::CommunicatorPtr
|
|
296
|
+
Ice::initialize(int& argc, const char* argv[], ICE_CONFIG_FILE_STRING configFile, int version)
|
|
297
|
+
{
|
|
298
|
+
InitializationData initData;
|
|
299
|
+
initData.properties = createProperties();
|
|
300
|
+
initData.properties->load(configFile);
|
|
301
|
+
return initialize(argc, argv, initData, version);
|
|
237
302
|
}
|
|
238
303
|
|
|
239
|
-
|
|
240
|
-
Ice::
|
|
304
|
+
#ifdef _WIN32
|
|
305
|
+
Ice::CommunicatorPtr
|
|
306
|
+
Ice::initialize(int& argc, const wchar_t* argv[], const InitializationData& initializationData, int version)
|
|
241
307
|
{
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
308
|
+
Ice::StringSeq args = argsToStringSeq(argc, argv);
|
|
309
|
+
CommunicatorPtr communicator = initialize(args, initializationData, version);
|
|
310
|
+
stringSeqToArgs(args, argc, argv);
|
|
311
|
+
return communicator;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
Ice::CommunicatorPtr
|
|
315
|
+
Ice::initialize(int& argc, const wchar_t* argv[], ICE_CONFIG_FILE_STRING configFile, int version)
|
|
316
|
+
{
|
|
317
|
+
InitializationData initData;
|
|
318
|
+
initData.properties = createProperties();
|
|
319
|
+
initData.properties->load(configFile);
|
|
320
|
+
return initialize(argc, argv, initData, version);
|
|
321
|
+
}
|
|
322
|
+
#endif
|
|
323
|
+
|
|
324
|
+
Ice::CommunicatorPtr
|
|
325
|
+
Ice::initialize(StringSeq& args, const InitializationData& initializationData, int version)
|
|
326
|
+
{
|
|
327
|
+
IceInternal::ArgVector av(args);
|
|
328
|
+
CommunicatorPtr communicator = initialize(av.argc, av.argv, initializationData, version);
|
|
245
329
|
args = argsToStringSeq(av.argc, av.argv);
|
|
246
330
|
return communicator;
|
|
247
331
|
}
|
|
248
332
|
|
|
249
|
-
CommunicatorPtr
|
|
250
|
-
Ice::initialize(
|
|
333
|
+
Ice::CommunicatorPtr
|
|
334
|
+
Ice::initialize(StringSeq& args, ICE_CONFIG_FILE_STRING configFile, int version)
|
|
335
|
+
{
|
|
336
|
+
InitializationData initData;
|
|
337
|
+
initData.properties = createProperties();
|
|
338
|
+
initData.properties->load(configFile);
|
|
339
|
+
return initialize(args, initData, version);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
Ice::CommunicatorPtr
|
|
343
|
+
Ice::initialize(const InitializationData& initData, int version)
|
|
251
344
|
{
|
|
252
345
|
//
|
|
253
346
|
// We can't simply call the other initialize() because this one does NOT read
|
|
@@ -255,185 +348,228 @@ Ice::initialize(const InitializationData& initData, Int version)
|
|
|
255
348
|
//
|
|
256
349
|
checkIceVersion(version);
|
|
257
350
|
|
|
258
|
-
|
|
259
|
-
CommunicatorPtr result = communicatorI; // For exception safety.
|
|
351
|
+
CommunicatorIPtr communicator = CommunicatorI::create(initData);
|
|
260
352
|
int argc = 0;
|
|
261
|
-
char* argv[] = { 0 };
|
|
262
|
-
|
|
263
|
-
return
|
|
353
|
+
const char* argv[] = { 0 };
|
|
354
|
+
communicator->finishSetup(argc, argv);
|
|
355
|
+
return communicator;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
Ice::CommunicatorPtr
|
|
359
|
+
Ice::initialize(ICE_CONFIG_FILE_STRING configFile, int version)
|
|
360
|
+
{
|
|
361
|
+
InitializationData initData;
|
|
362
|
+
initData.properties = createProperties();
|
|
363
|
+
initData.properties->load(configFile);
|
|
364
|
+
return initialize(initData, version);
|
|
264
365
|
}
|
|
265
366
|
|
|
266
|
-
|
|
267
|
-
Ice::
|
|
367
|
+
LoggerPtr
|
|
368
|
+
Ice::getProcessLogger()
|
|
268
369
|
{
|
|
269
|
-
|
|
370
|
+
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
|
|
371
|
+
|
|
372
|
+
if(processLogger == ICE_NULLPTR)
|
|
373
|
+
{
|
|
374
|
+
//
|
|
375
|
+
// TODO: Would be nice to be able to use process name as prefix by default.
|
|
376
|
+
//
|
|
377
|
+
processLogger = ICE_MAKE_SHARED(LoggerI, "", "", true);
|
|
378
|
+
}
|
|
379
|
+
return processLogger;
|
|
270
380
|
}
|
|
271
381
|
|
|
272
|
-
|
|
273
|
-
Ice::
|
|
382
|
+
void
|
|
383
|
+
Ice::setProcessLogger(const LoggerPtr& logger)
|
|
274
384
|
{
|
|
275
|
-
|
|
385
|
+
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
|
|
386
|
+
processLogger = logger;
|
|
276
387
|
}
|
|
277
388
|
|
|
278
|
-
|
|
279
|
-
Ice::
|
|
389
|
+
void
|
|
390
|
+
Ice::registerPluginFactory(const std::string& name, PluginFactory factory, bool loadOnInitialize)
|
|
280
391
|
{
|
|
281
|
-
|
|
392
|
+
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
|
|
393
|
+
PluginManagerI::registerPluginFactory(name, factory, loadOnInitialize);
|
|
282
394
|
}
|
|
283
395
|
|
|
284
|
-
|
|
285
|
-
|
|
396
|
+
//
|
|
397
|
+
// CommunicatorHolder
|
|
398
|
+
//
|
|
399
|
+
|
|
400
|
+
Ice::CommunicatorHolder::CommunicatorHolder()
|
|
286
401
|
{
|
|
287
|
-
return new InputStreamI(communicator, makePair(bytes), v, false);
|
|
288
402
|
}
|
|
289
403
|
|
|
290
|
-
|
|
291
|
-
Ice::
|
|
404
|
+
#ifdef ICE_CPP11_MAPPING
|
|
405
|
+
Ice::CommunicatorHolder::CommunicatorHolder(shared_ptr<Communicator> communicator) :
|
|
406
|
+
_communicator(std::move(communicator))
|
|
292
407
|
{
|
|
293
|
-
return new InputStreamI(communicator, bytes, true);
|
|
294
408
|
}
|
|
295
409
|
|
|
296
|
-
|
|
297
|
-
Ice::
|
|
298
|
-
const EncodingVersion& v)
|
|
410
|
+
Ice::CommunicatorHolder&
|
|
411
|
+
Ice::CommunicatorHolder::operator=(shared_ptr<Communicator> communicator)
|
|
299
412
|
{
|
|
300
|
-
|
|
413
|
+
if(_communicator)
|
|
414
|
+
{
|
|
415
|
+
_communicator->destroy();
|
|
416
|
+
}
|
|
417
|
+
_communicator = std::move(communicator);
|
|
418
|
+
return *this;
|
|
301
419
|
}
|
|
302
420
|
|
|
303
|
-
|
|
304
|
-
Ice::
|
|
421
|
+
Ice::CommunicatorHolder&
|
|
422
|
+
Ice::CommunicatorHolder::operator=(CommunicatorHolder&& other)
|
|
305
423
|
{
|
|
306
|
-
|
|
424
|
+
if(_communicator)
|
|
425
|
+
{
|
|
426
|
+
_communicator->destroy();
|
|
427
|
+
}
|
|
428
|
+
_communicator = std::move(other._communicator);
|
|
429
|
+
return *this;
|
|
307
430
|
}
|
|
308
431
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
432
|
+
#else // C++98 mapping
|
|
433
|
+
|
|
434
|
+
Ice::CommunicatorHolder::CommunicatorHolder(int& argc, const char* argv[], const InitializationData& initData,
|
|
435
|
+
int version) :
|
|
436
|
+
_communicator(initialize(argc, argv, initData, version))
|
|
312
437
|
{
|
|
313
|
-
return new InputStreamI(communicator, bytes, v, false);
|
|
314
438
|
}
|
|
315
439
|
|
|
316
|
-
|
|
317
|
-
|
|
440
|
+
Ice::CommunicatorHolder::CommunicatorHolder(int& argc, char* argv[], const InitializationData& initData, int version) :
|
|
441
|
+
_communicator(initialize(argc, argv, initData, version))
|
|
318
442
|
{
|
|
319
|
-
return new OutputStreamI(communicator);
|
|
320
443
|
}
|
|
321
444
|
|
|
322
|
-
|
|
323
|
-
|
|
445
|
+
Ice::CommunicatorHolder::CommunicatorHolder(int& argc, const char* argv[], const char* configFile, int version) :
|
|
446
|
+
_communicator(initialize(argc, argv, configFile, version))
|
|
324
447
|
{
|
|
325
|
-
return new OutputStreamI(communicator, v);
|
|
326
448
|
}
|
|
327
449
|
|
|
328
|
-
|
|
329
|
-
|
|
450
|
+
Ice::CommunicatorHolder::CommunicatorHolder(int& argc, char* argv[], const char* configFile, int version) :
|
|
451
|
+
_communicator(initialize(argc, argv, configFile, version))
|
|
330
452
|
{
|
|
331
|
-
|
|
453
|
+
}
|
|
332
454
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
processLogger = new Ice::LoggerI("", "", true, IceUtil::getProcessStringConverter());
|
|
339
|
-
}
|
|
340
|
-
return processLogger;
|
|
455
|
+
# ifdef _WIN32
|
|
456
|
+
Ice::CommunicatorHolder::CommunicatorHolder(int& argc, const wchar_t* argv[], const InitializationData& initData,
|
|
457
|
+
int version) :
|
|
458
|
+
_communicator(initialize(argc, argv, initData, version))
|
|
459
|
+
{
|
|
341
460
|
}
|
|
342
461
|
|
|
343
|
-
|
|
344
|
-
|
|
462
|
+
Ice::CommunicatorHolder::CommunicatorHolder(int& argc, wchar_t* argv[], const InitializationData& initData,
|
|
463
|
+
int version) :
|
|
464
|
+
_communicator(initialize(argc, argv, initData, version))
|
|
345
465
|
{
|
|
346
|
-
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
|
|
347
|
-
processLogger = logger;
|
|
348
466
|
}
|
|
349
467
|
|
|
350
|
-
|
|
351
|
-
|
|
468
|
+
Ice::CommunicatorHolder::CommunicatorHolder(int& argc, const wchar_t* argv[], const char* configFile, int version) :
|
|
469
|
+
_communicator(initialize(argc, argv, configFile, version))
|
|
352
470
|
{
|
|
353
|
-
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(globalMutex);
|
|
354
|
-
PluginManagerI::registerPluginFactory(name, factory, loadOnInitialize);
|
|
355
471
|
}
|
|
356
472
|
|
|
357
|
-
|
|
358
|
-
|
|
473
|
+
Ice::CommunicatorHolder::CommunicatorHolder(int& argc, wchar_t* argv[], const char* configFile, int version) :
|
|
474
|
+
_communicator(initialize(argc, argv, configFile, version))
|
|
359
475
|
{
|
|
360
|
-
CommunicatorI* p = dynamic_cast<CommunicatorI*>(communicator.get());
|
|
361
|
-
assert(p);
|
|
362
|
-
return p->_instance;
|
|
363
476
|
}
|
|
477
|
+
# endif
|
|
364
478
|
|
|
365
|
-
|
|
366
|
-
|
|
479
|
+
Ice::CommunicatorHolder::CommunicatorHolder(StringSeq& args, const InitializationData& initData, int version) :
|
|
480
|
+
_communicator(initialize(args, initData, version))
|
|
367
481
|
{
|
|
368
|
-
CommunicatorI* p = dynamic_cast<CommunicatorI*>(communicator.get());
|
|
369
|
-
assert(p);
|
|
370
|
-
return p->_instance->timer();
|
|
371
482
|
}
|
|
372
483
|
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
Ice::newDispatcher(const ::std::function<void (const DispatcherCallPtr&, const ConnectionPtr)>& cb)
|
|
484
|
+
Ice::CommunicatorHolder::CommunicatorHolder(StringSeq& args, const char* configFile, int version) :
|
|
485
|
+
_communicator(initialize(args, configFile, version))
|
|
376
486
|
{
|
|
377
|
-
|
|
378
|
-
{
|
|
379
|
-
public:
|
|
487
|
+
}
|
|
380
488
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
489
|
+
Ice::CommunicatorHolder::CommunicatorHolder(const InitializationData& initData, int version) :
|
|
490
|
+
_communicator(initialize(initData, version))
|
|
491
|
+
{
|
|
492
|
+
}
|
|
385
493
|
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
494
|
+
Ice::CommunicatorHolder::CommunicatorHolder(const char* configFile, int version) :
|
|
495
|
+
_communicator(initialize(configFile, version))
|
|
496
|
+
{
|
|
497
|
+
}
|
|
390
498
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
499
|
+
Ice::CommunicatorHolder::CommunicatorHolder(const CommunicatorPtr& communicator) :
|
|
500
|
+
_communicator(communicator)
|
|
501
|
+
{
|
|
502
|
+
}
|
|
394
503
|
|
|
395
|
-
|
|
504
|
+
Ice::CommunicatorHolder&
|
|
505
|
+
Ice::CommunicatorHolder::operator=(const CommunicatorPtr& communicator)
|
|
506
|
+
{
|
|
507
|
+
if(_communicator)
|
|
508
|
+
{
|
|
509
|
+
_communicator->destroy();
|
|
510
|
+
}
|
|
511
|
+
_communicator = communicator;
|
|
512
|
+
return *this;
|
|
396
513
|
}
|
|
514
|
+
|
|
397
515
|
#endif
|
|
398
516
|
|
|
399
|
-
|
|
400
|
-
Ice::BatchRequestInterceptorPtr
|
|
401
|
-
Ice::newBatchRequestInterceptor(const ::std::function<void (const BatchRequest&, int, int)>& cb)
|
|
517
|
+
Ice::CommunicatorHolder::~CommunicatorHolder()
|
|
402
518
|
{
|
|
403
|
-
|
|
519
|
+
if(_communicator)
|
|
404
520
|
{
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
_cb(cb)
|
|
409
|
-
{
|
|
410
|
-
}
|
|
521
|
+
_communicator->destroy();
|
|
522
|
+
}
|
|
523
|
+
}
|
|
411
524
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
525
|
+
Ice::CommunicatorHolder::operator bool() const
|
|
526
|
+
{
|
|
527
|
+
return _communicator != ICE_NULLPTR;
|
|
528
|
+
}
|
|
416
529
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
530
|
+
const Ice::CommunicatorPtr&
|
|
531
|
+
Ice::CommunicatorHolder::communicator() const
|
|
532
|
+
{
|
|
533
|
+
return _communicator;
|
|
534
|
+
}
|
|
420
535
|
|
|
421
|
-
|
|
536
|
+
const Ice::CommunicatorPtr&
|
|
537
|
+
Ice::CommunicatorHolder::operator->() const
|
|
538
|
+
{
|
|
539
|
+
return _communicator;
|
|
422
540
|
}
|
|
541
|
+
|
|
542
|
+
Ice::CommunicatorPtr
|
|
543
|
+
Ice::CommunicatorHolder::release()
|
|
544
|
+
{
|
|
545
|
+
#ifdef ICE_CPP11_MAPPING
|
|
546
|
+
return std::move(_communicator);
|
|
547
|
+
#else
|
|
548
|
+
CommunicatorPtr result;
|
|
549
|
+
result.swap(_communicator);
|
|
550
|
+
return result;
|
|
423
551
|
#endif
|
|
552
|
+
}
|
|
553
|
+
|
|
554
|
+
InstancePtr
|
|
555
|
+
IceInternal::getInstance(const CommunicatorPtr& communicator)
|
|
556
|
+
{
|
|
557
|
+
CommunicatorIPtr p = ICE_DYNAMIC_CAST(::Ice::CommunicatorI, communicator);
|
|
558
|
+
assert(p);
|
|
559
|
+
return p->_instance;
|
|
560
|
+
}
|
|
561
|
+
|
|
562
|
+
IceUtil::TimerPtr
|
|
563
|
+
IceInternal::getInstanceTimer(const CommunicatorPtr& communicator)
|
|
564
|
+
{
|
|
565
|
+
CommunicatorIPtr p = ICE_DYNAMIC_CAST(::Ice::CommunicatorI, communicator);
|
|
566
|
+
assert(p);
|
|
567
|
+
return p->_instance->timer();
|
|
568
|
+
}
|
|
424
569
|
|
|
425
570
|
Identity
|
|
426
571
|
Ice::stringToIdentity(const string& s)
|
|
427
572
|
{
|
|
428
|
-
//
|
|
429
|
-
// This method only accepts printable ascii. Since printable ascii is a subset
|
|
430
|
-
// of all narrow string encodings, it is not necessary to convert the string
|
|
431
|
-
// from the native string encoding. Any characters other than printable-ASCII
|
|
432
|
-
// will cause an IllegalArgumentException. Note that it can contain Unicode
|
|
433
|
-
// encoded in the escaped form which is the reason why we call fromUTF8 after
|
|
434
|
-
// unespcaping the printable ASCII string.
|
|
435
|
-
//
|
|
436
|
-
|
|
437
573
|
Identity ident;
|
|
438
574
|
|
|
439
575
|
//
|
|
@@ -444,7 +580,7 @@ Ice::stringToIdentity(const string& s)
|
|
|
444
580
|
while((pos = s.find('/', pos)) != string::npos)
|
|
445
581
|
{
|
|
446
582
|
int escapes = 0;
|
|
447
|
-
while(static_cast<int>(pos)- escapes > 0 && s[pos - escapes - 1] == '\\')
|
|
583
|
+
while(static_cast<int>(pos) - escapes > 0 && s[pos - escapes - 1] == '\\')
|
|
448
584
|
{
|
|
449
585
|
escapes++;
|
|
450
586
|
}
|
|
@@ -464,7 +600,7 @@ Ice::stringToIdentity(const string& s)
|
|
|
464
600
|
// Extra unescaped slash found.
|
|
465
601
|
//
|
|
466
602
|
IdentityParseException ex(__FILE__, __LINE__);
|
|
467
|
-
ex.str = "unescaped
|
|
603
|
+
ex.str = "unescaped '/' in identity `" + s + "'";
|
|
468
604
|
throw ex;
|
|
469
605
|
}
|
|
470
606
|
}
|
|
@@ -475,7 +611,7 @@ Ice::stringToIdentity(const string& s)
|
|
|
475
611
|
{
|
|
476
612
|
try
|
|
477
613
|
{
|
|
478
|
-
ident.name =
|
|
614
|
+
ident.name = unescapeString(s, 0, s.size(), "/");
|
|
479
615
|
}
|
|
480
616
|
catch(const IceUtil::IllegalArgumentException& e)
|
|
481
617
|
{
|
|
@@ -488,7 +624,7 @@ Ice::stringToIdentity(const string& s)
|
|
|
488
624
|
{
|
|
489
625
|
try
|
|
490
626
|
{
|
|
491
|
-
ident.category =
|
|
627
|
+
ident.category = unescapeString(s, 0, slash, "/");
|
|
492
628
|
}
|
|
493
629
|
catch(const IceUtil::IllegalArgumentException& e)
|
|
494
630
|
{
|
|
@@ -496,11 +632,12 @@ Ice::stringToIdentity(const string& s)
|
|
|
496
632
|
ex.str = "invalid category in identity `" + s + "': " + e.reason();
|
|
497
633
|
throw ex;
|
|
498
634
|
}
|
|
635
|
+
|
|
499
636
|
if(slash + 1 < s.size())
|
|
500
637
|
{
|
|
501
638
|
try
|
|
502
639
|
{
|
|
503
|
-
ident.name =
|
|
640
|
+
ident.name = unescapeString(s, slash + 1, s.size(), "/");
|
|
504
641
|
}
|
|
505
642
|
catch(const IceUtil::IllegalArgumentException& e)
|
|
506
643
|
{
|
|
@@ -511,28 +648,18 @@ Ice::stringToIdentity(const string& s)
|
|
|
511
648
|
}
|
|
512
649
|
}
|
|
513
650
|
|
|
514
|
-
ident.name = UTF8ToNative(ident.name, IceUtil::getProcessStringConverter());
|
|
515
|
-
ident.category = UTF8ToNative(ident.category, IceUtil::getProcessStringConverter());
|
|
516
|
-
|
|
517
651
|
return ident;
|
|
518
652
|
}
|
|
519
653
|
|
|
520
654
|
string
|
|
521
|
-
Ice::identityToString(const Identity& ident)
|
|
655
|
+
Ice::identityToString(const Identity& ident, ToStringMode toStringMode)
|
|
522
656
|
{
|
|
523
|
-
|
|
524
|
-
// This method returns the stringified identity. The returned string only
|
|
525
|
-
// contains printable ascii. It can contain UTF8 in the escaped form.
|
|
526
|
-
//
|
|
527
|
-
string name = nativeToUTF8(ident.name, IceUtil::getProcessStringConverter());
|
|
528
|
-
string category = nativeToUTF8(ident.category, IceUtil::getProcessStringConverter());
|
|
529
|
-
|
|
530
|
-
if(category.empty())
|
|
657
|
+
if(ident.category.empty())
|
|
531
658
|
{
|
|
532
|
-
return
|
|
659
|
+
return escapeString(ident.name, "/", toStringMode);
|
|
533
660
|
}
|
|
534
661
|
else
|
|
535
662
|
{
|
|
536
|
-
return
|
|
663
|
+
return escapeString(ident.category, "/", toStringMode) + '/' + escapeString(ident.name, "/", toStringMode);
|
|
537
664
|
}
|
|
538
665
|
}
|