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
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
|
+
//
|
|
5
|
+
// This copy of Ice is licensed to you under the terms described in the
|
|
6
|
+
// ICE_LICENSE file included in this distribution.
|
|
7
|
+
//
|
|
8
|
+
// **********************************************************************
|
|
9
|
+
|
|
10
|
+
#include <Ice/IconvStringConverter.h>
|
|
11
|
+
|
|
12
|
+
#ifndef _WIN32
|
|
13
|
+
|
|
14
|
+
using namespace std;
|
|
15
|
+
using namespace Ice;
|
|
16
|
+
using namespace IceUtil;
|
|
17
|
+
|
|
18
|
+
IconvInitializationException::IconvInitializationException(const char* file, int line, const string& reason) :
|
|
19
|
+
ExceptionHelper<IconvInitializationException>(file, line),
|
|
20
|
+
_reason(reason)
|
|
21
|
+
{
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
#ifndef ICE_CPP11_COMPILER
|
|
25
|
+
IconvInitializationException::~IconvInitializationException() throw()
|
|
26
|
+
{
|
|
27
|
+
}
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
void
|
|
31
|
+
IconvInitializationException::ice_print(ostream& out) const
|
|
32
|
+
{
|
|
33
|
+
IceUtil::Exception::ice_print(out);
|
|
34
|
+
out << ": " << _reason;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
string
|
|
38
|
+
IconvInitializationException::ice_id() const
|
|
39
|
+
{
|
|
40
|
+
return "::Ice::IconvInitializationException";
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
#ifndef ICE_CPP11_MAPPING
|
|
44
|
+
IconvInitializationException*
|
|
45
|
+
IconvInitializationException::ice_clone() const
|
|
46
|
+
{
|
|
47
|
+
return new IconvInitializationException(*this);
|
|
48
|
+
}
|
|
49
|
+
#endif
|
|
50
|
+
|
|
51
|
+
string
|
|
52
|
+
IconvInitializationException::reason() const
|
|
53
|
+
{
|
|
54
|
+
return _reason;
|
|
55
|
+
}
|
|
56
|
+
#endif
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
// This copy of Ice is licensed to you under the terms described in the
|
|
6
6
|
// ICE_LICENSE file included in this distribution.
|
|
7
7
|
//
|
|
8
8
|
// **********************************************************************
|
|
9
9
|
//
|
|
10
|
-
// Ice version 3.
|
|
10
|
+
// Ice version 3.7.0
|
|
11
11
|
//
|
|
12
12
|
// <auto-generated>
|
|
13
13
|
//
|
|
@@ -23,26 +23,40 @@
|
|
|
23
23
|
#endif
|
|
24
24
|
#include <Ice/Identity.h>
|
|
25
25
|
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
-
#include <Ice/
|
|
27
|
-
#include <
|
|
26
|
+
#include <Ice/InputStream.h>
|
|
27
|
+
#include <Ice/OutputStream.h>
|
|
28
28
|
#include <IceUtil/PopDisableWarnings.h>
|
|
29
29
|
|
|
30
|
+
#if defined(_MSC_VER)
|
|
31
|
+
# pragma warning(disable:4458) // declaration of ... hides class member
|
|
32
|
+
#elif defined(__clang__)
|
|
33
|
+
# pragma clang diagnostic ignored "-Wshadow"
|
|
34
|
+
#elif defined(__GNUC__)
|
|
35
|
+
# pragma GCC diagnostic ignored "-Wshadow"
|
|
36
|
+
#endif
|
|
37
|
+
|
|
30
38
|
#ifndef ICE_IGNORE_VERSION
|
|
31
|
-
# if ICE_INT_VERSION / 100 !=
|
|
39
|
+
# if ICE_INT_VERSION / 100 != 307
|
|
32
40
|
# error Ice version mismatch!
|
|
33
41
|
# endif
|
|
34
42
|
# if ICE_INT_VERSION % 100 > 50
|
|
35
43
|
# error Beta header file detected
|
|
36
44
|
# endif
|
|
37
|
-
# if ICE_INT_VERSION % 100 <
|
|
45
|
+
# if ICE_INT_VERSION % 100 < 0
|
|
38
46
|
# error Ice patch level mismatch!
|
|
39
47
|
# endif
|
|
40
48
|
#endif
|
|
41
49
|
|
|
50
|
+
#ifdef ICE_CPP11_MAPPING // C++11 mapping
|
|
51
|
+
|
|
42
52
|
namespace Ice
|
|
43
53
|
{
|
|
44
|
-
#if defined(ICE_HAS_DECLSPEC_IMPORT_EXPORT) && !defined(ICE_STATIC_LIBS)
|
|
45
|
-
template struct ICE_API StreamWriter< ::Ice::Identity, ::IceInternal::BasicStream>;
|
|
46
|
-
template struct ICE_API StreamReader< ::Ice::Identity, ::IceInternal::BasicStream>;
|
|
47
|
-
#endif
|
|
48
54
|
}
|
|
55
|
+
|
|
56
|
+
#else // C++98 mapping
|
|
57
|
+
|
|
58
|
+
namespace Ice
|
|
59
|
+
{
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
#endif
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
// This copy of Ice is licensed to you under the terms described in the
|
|
6
6
|
// ICE_LICENSE file included in this distribution.
|
|
7
7
|
//
|
|
8
8
|
// **********************************************************************
|
|
9
9
|
//
|
|
10
|
-
// Ice version 3.
|
|
10
|
+
// Ice version 3.7.0
|
|
11
11
|
//
|
|
12
12
|
// <auto-generated>
|
|
13
13
|
//
|
|
@@ -23,25 +23,56 @@
|
|
|
23
23
|
#endif
|
|
24
24
|
#include <Ice/ImplicitContext.h>
|
|
25
25
|
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
-
#include <Ice/
|
|
27
|
-
#include <
|
|
26
|
+
#include <Ice/InputStream.h>
|
|
27
|
+
#include <Ice/OutputStream.h>
|
|
28
28
|
#include <IceUtil/PopDisableWarnings.h>
|
|
29
29
|
|
|
30
|
+
#if defined(_MSC_VER)
|
|
31
|
+
# pragma warning(disable:4458) // declaration of ... hides class member
|
|
32
|
+
#elif defined(__clang__)
|
|
33
|
+
# pragma clang diagnostic ignored "-Wshadow"
|
|
34
|
+
#elif defined(__GNUC__)
|
|
35
|
+
# pragma GCC diagnostic ignored "-Wshadow"
|
|
36
|
+
#endif
|
|
37
|
+
|
|
30
38
|
#ifndef ICE_IGNORE_VERSION
|
|
31
|
-
# if ICE_INT_VERSION / 100 !=
|
|
39
|
+
# if ICE_INT_VERSION / 100 != 307
|
|
32
40
|
# error Ice version mismatch!
|
|
33
41
|
# endif
|
|
34
42
|
# if ICE_INT_VERSION % 100 > 50
|
|
35
43
|
# error Beta header file detected
|
|
36
44
|
# endif
|
|
37
|
-
# if ICE_INT_VERSION % 100 <
|
|
45
|
+
# if ICE_INT_VERSION % 100 < 0
|
|
38
46
|
# error Ice patch level mismatch!
|
|
39
47
|
# endif
|
|
40
48
|
#endif
|
|
41
49
|
|
|
50
|
+
#ifdef ICE_CPP11_MAPPING // C++11 mapping
|
|
51
|
+
|
|
52
|
+
namespace
|
|
53
|
+
{
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
Ice::ImplicitContext::~ImplicitContext()
|
|
58
|
+
{
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#else // C++98 mapping
|
|
62
|
+
|
|
42
63
|
namespace
|
|
43
64
|
{
|
|
44
65
|
|
|
45
66
|
}
|
|
46
67
|
|
|
68
|
+
Ice::ImplicitContext::~ImplicitContext()
|
|
69
|
+
{
|
|
70
|
+
}
|
|
71
|
+
|
|
47
72
|
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::ImplicitContext* p) { return p; }
|
|
73
|
+
|
|
74
|
+
namespace Ice
|
|
75
|
+
{
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
#endif
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
// This copy of Ice is licensed to you under the terms described in the
|
|
6
6
|
// ICE_LICENSE file included in this distribution.
|
|
7
7
|
//
|
|
8
8
|
// **********************************************************************
|
|
9
9
|
//
|
|
10
|
-
// Ice version 3.
|
|
10
|
+
// Ice version 3.7.0
|
|
11
11
|
//
|
|
12
12
|
// <auto-generated>
|
|
13
13
|
//
|
|
@@ -23,22 +23,44 @@
|
|
|
23
23
|
#endif
|
|
24
24
|
#include <Ice/ImplicitContextF.h>
|
|
25
25
|
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
-
#include <IceUtil/Iterator.h>
|
|
27
26
|
#include <IceUtil/PopDisableWarnings.h>
|
|
28
27
|
|
|
28
|
+
#if defined(_MSC_VER)
|
|
29
|
+
# pragma warning(disable:4458) // declaration of ... hides class member
|
|
30
|
+
#elif defined(__clang__)
|
|
31
|
+
# pragma clang diagnostic ignored "-Wshadow"
|
|
32
|
+
#elif defined(__GNUC__)
|
|
33
|
+
# pragma GCC diagnostic ignored "-Wshadow"
|
|
34
|
+
#endif
|
|
35
|
+
|
|
29
36
|
#ifndef ICE_IGNORE_VERSION
|
|
30
|
-
# if ICE_INT_VERSION / 100 !=
|
|
37
|
+
# if ICE_INT_VERSION / 100 != 307
|
|
31
38
|
# error Ice version mismatch!
|
|
32
39
|
# endif
|
|
33
40
|
# if ICE_INT_VERSION % 100 > 50
|
|
34
41
|
# error Beta header file detected
|
|
35
42
|
# endif
|
|
36
|
-
# if ICE_INT_VERSION % 100 <
|
|
43
|
+
# if ICE_INT_VERSION % 100 < 0
|
|
37
44
|
# error Ice patch level mismatch!
|
|
38
45
|
# endif
|
|
39
46
|
#endif
|
|
40
47
|
|
|
48
|
+
#ifdef ICE_CPP11_MAPPING // C++11 mapping
|
|
49
|
+
|
|
50
|
+
namespace
|
|
51
|
+
{
|
|
52
|
+
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#else // C++98 mapping
|
|
56
|
+
|
|
41
57
|
namespace
|
|
42
58
|
{
|
|
43
59
|
|
|
44
60
|
}
|
|
61
|
+
|
|
62
|
+
namespace Ice
|
|
63
|
+
{
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#endif
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
// This copy of Ice is licensed to you under the terms described in the
|
|
6
6
|
// ICE_LICENSE file included in this distribution.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// **********************************************************************
|
|
9
9
|
|
|
10
10
|
#include <Ice/ImplicitContextI.h>
|
|
11
|
-
#include <Ice/
|
|
11
|
+
#include <Ice/OutputStream.h>
|
|
12
12
|
#include <Ice/Object.h>
|
|
13
13
|
#include <IceUtil/Mutex.h>
|
|
14
14
|
#include <IceUtil/MutexPtrLock.h>
|
|
@@ -31,7 +31,7 @@ public:
|
|
|
31
31
|
virtual string put(const string&, const string&);
|
|
32
32
|
virtual string remove(const string&);
|
|
33
33
|
|
|
34
|
-
virtual void write(const Context&, ::
|
|
34
|
+
virtual void write(const Context&, ::Ice::OutputStream*) const;
|
|
35
35
|
virtual void combine(const Context&, Context&) const;
|
|
36
36
|
|
|
37
37
|
private:
|
|
@@ -39,7 +39,7 @@ private:
|
|
|
39
39
|
IceUtil::Mutex _mutex;
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
-
#ifndef
|
|
42
|
+
#ifndef ICE_OS_UWP
|
|
43
43
|
class PerThreadImplicitContext : public ImplicitContextI
|
|
44
44
|
{
|
|
45
45
|
public:
|
|
@@ -55,7 +55,7 @@ public:
|
|
|
55
55
|
virtual string put(const string&, const string&);
|
|
56
56
|
virtual string remove(const string&);
|
|
57
57
|
|
|
58
|
-
virtual void write(const Context&, ::
|
|
58
|
+
virtual void write(const Context&, ::Ice::OutputStream*) const;
|
|
59
59
|
virtual void combine(const Context&, Context&) const;
|
|
60
60
|
|
|
61
61
|
struct Slot
|
|
@@ -108,7 +108,7 @@ private:
|
|
|
108
108
|
|
|
109
109
|
extern "C" void iceImplicitContextThreadDestructor(void*);
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
ImplicitContextIPtr
|
|
112
112
|
ImplicitContextI::create(const std::string& kind)
|
|
113
113
|
{
|
|
114
114
|
if(kind == "None" || kind == "")
|
|
@@ -117,15 +117,15 @@ ImplicitContextI::create(const std::string& kind)
|
|
|
117
117
|
}
|
|
118
118
|
else if(kind == "Shared")
|
|
119
119
|
{
|
|
120
|
-
return
|
|
120
|
+
return ICE_MAKE_SHARED(SharedImplicitContext);
|
|
121
121
|
}
|
|
122
122
|
else if(kind == "PerThread")
|
|
123
123
|
{
|
|
124
|
-
#ifndef
|
|
125
|
-
return
|
|
124
|
+
#ifndef ICE_OS_UWP
|
|
125
|
+
return ICE_MAKE_SHARED(PerThreadImplicitContext);
|
|
126
126
|
#else
|
|
127
127
|
throw InitializationException(__FILE__, __LINE__,
|
|
128
|
-
"'PerThread' Ice.ImplicitContext isn't supported for
|
|
128
|
+
"'PerThread' Ice.ImplicitContext isn't supported for UWP.");
|
|
129
129
|
return 0; // Keep the compiler happy.
|
|
130
130
|
#endif
|
|
131
131
|
}
|
|
@@ -138,7 +138,7 @@ ImplicitContextI::create(const std::string& kind)
|
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
-
#if defined(_WIN32) && !defined(
|
|
141
|
+
#if defined(_WIN32) && !defined(ICE_OS_UWP)
|
|
142
142
|
void
|
|
143
143
|
ImplicitContextI::cleanupThread()
|
|
144
144
|
{
|
|
@@ -216,7 +216,7 @@ SharedImplicitContext::remove(const string& k)
|
|
|
216
216
|
}
|
|
217
217
|
|
|
218
218
|
void
|
|
219
|
-
SharedImplicitContext::write(const Context& proxyCtx, ::
|
|
219
|
+
SharedImplicitContext::write(const Context& proxyCtx, ::Ice::OutputStream* s) const
|
|
220
220
|
{
|
|
221
221
|
IceUtil::Mutex::Lock lock(_mutex);
|
|
222
222
|
if(proxyCtx.size() == 0)
|
|
@@ -259,7 +259,7 @@ SharedImplicitContext::combine(const Context& proxyCtx, Context& ctx) const
|
|
|
259
259
|
//
|
|
260
260
|
// PerThreadImplicitContext implementation
|
|
261
261
|
//
|
|
262
|
-
#ifndef
|
|
262
|
+
#ifndef ICE_OS_UWP
|
|
263
263
|
long PerThreadImplicitContext::_nextId;
|
|
264
264
|
long PerThreadImplicitContext::_destroyedIds;
|
|
265
265
|
size_t PerThreadImplicitContext::_slotVectors;
|
|
@@ -604,7 +604,7 @@ PerThreadImplicitContext::remove(const string& k)
|
|
|
604
604
|
}
|
|
605
605
|
|
|
606
606
|
void
|
|
607
|
-
PerThreadImplicitContext::write(const Context& proxyCtx, ::
|
|
607
|
+
PerThreadImplicitContext::write(const Context& proxyCtx, ::Ice::OutputStream* s) const
|
|
608
608
|
{
|
|
609
609
|
const Context* threadCtx = getThreadContext(false);
|
|
610
610
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
// This copy of Ice is licensed to you under the terms described in the
|
|
6
6
|
// ICE_LICENSE file included in this distribution.
|
|
@@ -18,12 +18,14 @@ namespace Ice
|
|
|
18
18
|
//
|
|
19
19
|
// The base class for all ImplicitContext implementations
|
|
20
20
|
//
|
|
21
|
+
class ImplicitContextI;
|
|
22
|
+
ICE_DEFINE_PTR(ImplicitContextIPtr,ImplicitContextI);
|
|
21
23
|
|
|
22
24
|
class ImplicitContextI : public ImplicitContext
|
|
23
25
|
{
|
|
24
26
|
public:
|
|
25
|
-
|
|
26
|
-
static
|
|
27
|
+
|
|
28
|
+
static ImplicitContextIPtr create(const std::string&);
|
|
27
29
|
|
|
28
30
|
#ifdef _WIN32
|
|
29
31
|
static void cleanupThread();
|
|
@@ -34,7 +36,7 @@ public:
|
|
|
34
36
|
// (entries in the given context overwrite entries in
|
|
35
37
|
// the underlying context)
|
|
36
38
|
//
|
|
37
|
-
virtual void write(const Context&, ::
|
|
39
|
+
virtual void write(const Context&, ::Ice::OutputStream*) const = 0;
|
|
38
40
|
|
|
39
41
|
//
|
|
40
42
|
// Combines the underlying context plus the given context
|
|
@@ -45,7 +47,7 @@ public:
|
|
|
45
47
|
|
|
46
48
|
};
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
ICE_DEFINE_PTR(ImplicitContextIPtr, ImplicitContextI);
|
|
49
51
|
|
|
50
52
|
}
|
|
51
53
|
#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.
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
#include <Ice/Protocol.h>
|
|
23
23
|
#include <Ice/ReplyStatus.h>
|
|
24
24
|
#include <Ice/ResponseHandler.h>
|
|
25
|
-
#include <
|
|
25
|
+
#include <Ice/StringUtil.h>
|
|
26
26
|
#include <typeinfo>
|
|
27
27
|
|
|
28
28
|
using namespace std;
|
|
@@ -33,109 +33,95 @@ using namespace IceInternal;
|
|
|
33
33
|
namespace IceUtilInternal
|
|
34
34
|
{
|
|
35
35
|
|
|
36
|
-
extern bool
|
|
36
|
+
extern bool printStackTraces;
|
|
37
37
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
#ifdef ICE_CPP11_MAPPING
|
|
41
|
+
Ice::MarshaledResult::MarshaledResult(const Ice::Current& current) :
|
|
42
|
+
ostr(make_shared<Ice::OutputStream>(current.adapter->getCommunicator(), Ice::currentProtocolEncoding))
|
|
43
|
+
{
|
|
44
|
+
ostr->writeBlob(replyHdr, sizeof(replyHdr));
|
|
45
|
+
ostr->write(current.requestId);
|
|
46
|
+
ostr->write(replyOK);
|
|
47
|
+
}
|
|
48
|
+
#endif
|
|
49
|
+
|
|
40
50
|
IceInternal::IncomingBase::IncomingBase(Instance* instance, ResponseHandler* responseHandler,
|
|
41
51
|
Ice::Connection* connection, const ObjectAdapterPtr& adapter,
|
|
42
52
|
bool response, Byte compress, Int requestId) :
|
|
43
53
|
_response(response),
|
|
44
54
|
_compress(compress),
|
|
55
|
+
_format(Ice::ICE_ENUM(FormatType, DefaultFormat)),
|
|
45
56
|
_os(instance, Ice::currentProtocolEncoding),
|
|
46
57
|
_responseHandler(responseHandler)
|
|
47
58
|
{
|
|
48
59
|
_current.adapter = adapter;
|
|
60
|
+
#ifdef ICE_CPP11_MAPPING
|
|
61
|
+
::Ice::ConnectionI* conn = dynamic_cast<::Ice::ConnectionI*>(connection);
|
|
62
|
+
_current.con = conn ? conn->shared_from_this() : nullptr;
|
|
63
|
+
#else
|
|
49
64
|
_current.con = connection;
|
|
65
|
+
#endif
|
|
50
66
|
_current.requestId = requestId;
|
|
51
67
|
}
|
|
52
68
|
|
|
53
|
-
IceInternal::IncomingBase::IncomingBase(IncomingBase&
|
|
54
|
-
_current(
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
69
|
+
IceInternal::IncomingBase::IncomingBase(IncomingBase& other) :
|
|
70
|
+
_current(other._current),
|
|
71
|
+
_servant(other._servant),
|
|
72
|
+
_locator(other._locator),
|
|
73
|
+
_cookie(other._cookie),
|
|
74
|
+
_response(other._response),
|
|
75
|
+
_compress(other._compress),
|
|
76
|
+
_format(other._format),
|
|
77
|
+
_os(other._os.instance(), Ice::currentProtocolEncoding),
|
|
78
|
+
_responseHandler(other._responseHandler),
|
|
79
|
+
_interceptorCBs(other._interceptorCBs)
|
|
63
80
|
{
|
|
64
81
|
_observer.adopt(other._observer);
|
|
65
|
-
|
|
66
|
-
_servant = other._servant;
|
|
67
|
-
other._servant = 0;
|
|
68
|
-
|
|
69
|
-
_locator = other._locator;
|
|
70
|
-
other._locator = 0;
|
|
71
|
-
|
|
72
|
-
_cookie = other._cookie;
|
|
73
|
-
other._cookie = 0;
|
|
74
|
-
|
|
75
|
-
_response = other._response;
|
|
76
|
-
other._response = false;
|
|
77
|
-
|
|
78
|
-
_compress = other._compress;
|
|
79
|
-
other._compress = 0;
|
|
80
|
-
|
|
81
|
-
_os.swap(other._os);
|
|
82
|
-
|
|
83
|
-
_responseHandler = other._responseHandler;
|
|
84
|
-
other._responseHandler = 0;
|
|
85
82
|
}
|
|
86
83
|
|
|
87
|
-
|
|
88
|
-
IncomingBase::
|
|
84
|
+
OutputStream*
|
|
85
|
+
IncomingBase::startWriteParams()
|
|
89
86
|
{
|
|
90
87
|
if(!_response)
|
|
91
88
|
{
|
|
92
89
|
throw MarshalException(__FILE__, __LINE__, "can't marshal out parameters for oneway dispatch");
|
|
93
90
|
}
|
|
94
91
|
|
|
95
|
-
assert(_os.b.size() == headerSize + 4); // Reply status position.
|
|
96
92
|
assert(_current.encoding >= Ice::Encoding_1_0); // Encoding for reply is known.
|
|
97
|
-
_os.write(static_cast<Ice::Byte>(0));
|
|
98
|
-
_os.startWriteEncaps(_current.encoding, format);
|
|
99
93
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
// invoked as oneway (or if the invocation is invoked on a
|
|
105
|
-
// blobject and the blobject erroneously writes a response).
|
|
106
|
-
//
|
|
94
|
+
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
95
|
+
_os.write(_current.requestId);
|
|
96
|
+
_os.write(replyOK);
|
|
97
|
+
_os.startEncapsulation(_current.encoding, _format);
|
|
107
98
|
return &_os;
|
|
108
99
|
}
|
|
109
100
|
|
|
110
101
|
void
|
|
111
|
-
IncomingBase::
|
|
102
|
+
IncomingBase::endWriteParams()
|
|
112
103
|
{
|
|
113
|
-
if(!ok)
|
|
114
|
-
{
|
|
115
|
-
_observer.userException();
|
|
116
|
-
}
|
|
117
|
-
|
|
118
104
|
if(_response)
|
|
119
105
|
{
|
|
120
|
-
|
|
121
|
-
_os.endWriteEncaps();
|
|
106
|
+
_os.endEncapsulation();
|
|
122
107
|
}
|
|
123
108
|
}
|
|
124
109
|
|
|
125
110
|
void
|
|
126
|
-
IncomingBase::
|
|
111
|
+
IncomingBase::writeEmptyParams()
|
|
127
112
|
{
|
|
128
113
|
if(_response)
|
|
129
114
|
{
|
|
130
|
-
assert(_os.b.size() == headerSize + 4); // Reply status position.
|
|
131
115
|
assert(_current.encoding >= Ice::Encoding_1_0); // Encoding for reply is known.
|
|
116
|
+
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
117
|
+
_os.write(_current.requestId);
|
|
132
118
|
_os.write(replyOK);
|
|
133
|
-
_os.
|
|
119
|
+
_os.writeEmptyEncapsulation(_current.encoding);
|
|
134
120
|
}
|
|
135
121
|
}
|
|
136
122
|
|
|
137
123
|
void
|
|
138
|
-
IncomingBase::
|
|
124
|
+
IncomingBase::writeParamEncaps(const Byte* v, Ice::Int sz, bool ok)
|
|
139
125
|
{
|
|
140
126
|
if(!ok)
|
|
141
127
|
{
|
|
@@ -144,47 +130,118 @@ IncomingBase::__writeParamEncaps(const Byte* v, Ice::Int sz, bool ok)
|
|
|
144
130
|
|
|
145
131
|
if(_response)
|
|
146
132
|
{
|
|
147
|
-
assert(_os.b.size() == headerSize + 4); // Reply status position.
|
|
148
133
|
assert(_current.encoding >= Ice::Encoding_1_0); // Encoding for reply is known.
|
|
134
|
+
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
135
|
+
_os.write(_current.requestId);
|
|
149
136
|
_os.write(ok ? replyOK : replyUserException);
|
|
150
137
|
if(sz == 0)
|
|
151
138
|
{
|
|
152
|
-
_os.
|
|
139
|
+
_os.writeEmptyEncapsulation(_current.encoding);
|
|
153
140
|
}
|
|
154
141
|
else
|
|
155
142
|
{
|
|
156
|
-
_os.
|
|
143
|
+
_os.writeEncapsulation(v, sz);
|
|
157
144
|
}
|
|
158
145
|
}
|
|
159
146
|
}
|
|
160
147
|
|
|
148
|
+
#ifdef ICE_CPP11_MAPPING
|
|
161
149
|
void
|
|
162
|
-
IncomingBase::
|
|
150
|
+
IceInternal::IncomingBase::setMarshaledResult(const Ice::MarshaledResult& result)
|
|
163
151
|
{
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
152
|
+
result.getOutputStream()->swap(_os);
|
|
153
|
+
}
|
|
154
|
+
#endif
|
|
155
|
+
|
|
156
|
+
void
|
|
157
|
+
IceInternal::IncomingBase::response(bool amd)
|
|
158
|
+
{
|
|
159
|
+
try
|
|
160
|
+
{
|
|
161
|
+
if(_locator && !servantLocatorFinished(amd))
|
|
162
|
+
{
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
assert(_responseHandler);
|
|
167
|
+
if(_response)
|
|
168
|
+
{
|
|
169
|
+
_observer.reply(static_cast<Int>(_os.b.size() - headerSize - 4));
|
|
170
|
+
_responseHandler->sendResponse(_current.requestId, &_os, _compress, amd);
|
|
171
|
+
}
|
|
172
|
+
else
|
|
173
|
+
{
|
|
174
|
+
_responseHandler->sendNoResponse();
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch(const LocalException& ex)
|
|
178
|
+
{
|
|
179
|
+
_responseHandler->invokeException(_current.requestId, ex, 1, amd); // Fatal invocation exception
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
_observer.detach();
|
|
183
|
+
_responseHandler = 0;
|
|
167
184
|
}
|
|
168
185
|
|
|
169
186
|
void
|
|
170
|
-
IceInternal::IncomingBase::
|
|
187
|
+
IceInternal::IncomingBase::exception(const std::exception& exc, bool amd)
|
|
188
|
+
{
|
|
189
|
+
try
|
|
190
|
+
{
|
|
191
|
+
if(_locator && !servantLocatorFinished(amd))
|
|
192
|
+
{
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
handleException(exc, amd);
|
|
196
|
+
}
|
|
197
|
+
catch(const LocalException& ex)
|
|
198
|
+
{
|
|
199
|
+
_responseHandler->invokeException(_current.requestId, ex, 1, amd); // Fatal invocation exception
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
void
|
|
204
|
+
IceInternal::IncomingBase::exception(const string& msg, bool amd)
|
|
205
|
+
{
|
|
206
|
+
try
|
|
207
|
+
{
|
|
208
|
+
if(_locator && !servantLocatorFinished(amd))
|
|
209
|
+
{
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
handleException(msg, amd);
|
|
213
|
+
}
|
|
214
|
+
catch(const LocalException& ex)
|
|
215
|
+
{
|
|
216
|
+
_responseHandler->invokeException(_current.requestId, ex, 1, amd); // Fatal invocation exception
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
void
|
|
221
|
+
IceInternal::IncomingBase::warning(const Exception& ex) const
|
|
171
222
|
{
|
|
172
223
|
Warning out(_os.instance()->initializationData().logger);
|
|
173
224
|
|
|
225
|
+
ToStringMode toStringMode = _os.instance()->toStringMode();
|
|
226
|
+
|
|
174
227
|
out << "dispatch exception: " << ex;
|
|
175
|
-
out << "\nidentity: " <<
|
|
176
|
-
out << "\nfacet: "
|
|
228
|
+
out << "\nidentity: " << identityToString(_current.id, toStringMode);
|
|
229
|
+
out << "\nfacet: ";
|
|
230
|
+
out << escapeString(_current.facet, "", toStringMode);
|
|
177
231
|
out << "\noperation: " << _current.operation;
|
|
178
232
|
|
|
179
233
|
if(_current.con)
|
|
180
234
|
{
|
|
181
235
|
try
|
|
182
236
|
{
|
|
183
|
-
Ice::ConnectionInfoPtr connInfo = _current.con->getInfo();
|
|
184
|
-
Ice::IPConnectionInfoPtr ipConnInfo = Ice::IPConnectionInfoPtr::dynamicCast(connInfo);
|
|
185
|
-
if(ipConnInfo)
|
|
237
|
+
for(Ice::ConnectionInfoPtr connInfo = _current.con->getInfo(); connInfo; connInfo = connInfo->underlying)
|
|
186
238
|
{
|
|
187
|
-
|
|
239
|
+
Ice::IPConnectionInfoPtr ipConnInfo = ICE_DYNAMIC_CAST(Ice::IPConnectionInfo, connInfo);
|
|
240
|
+
if(ipConnInfo)
|
|
241
|
+
{
|
|
242
|
+
out << "\nremote host: " << ipConnInfo->remoteAddress << " remote port: " << ipConnInfo->remotePort;
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
188
245
|
}
|
|
189
246
|
}
|
|
190
247
|
catch(const Ice::LocalException&)
|
|
@@ -195,28 +252,32 @@ IceInternal::IncomingBase::__warning(const Exception& ex) const
|
|
|
195
252
|
}
|
|
196
253
|
|
|
197
254
|
void
|
|
198
|
-
IceInternal::IncomingBase::
|
|
255
|
+
IceInternal::IncomingBase::warning(const string& msg) const
|
|
199
256
|
{
|
|
200
257
|
Warning out(_os.instance()->initializationData().logger);
|
|
258
|
+
ToStringMode toStringMode = _os.instance()->toStringMode();
|
|
201
259
|
|
|
202
260
|
out << "dispatch exception: " << msg;
|
|
203
|
-
out << "\nidentity: " <<
|
|
204
|
-
out << "\nfacet: " <<
|
|
261
|
+
out << "\nidentity: " << identityToString(_current.id, toStringMode);
|
|
262
|
+
out << "\nfacet: " << escapeString(_current.facet, "", toStringMode);
|
|
205
263
|
out << "\noperation: " << _current.operation;
|
|
206
264
|
|
|
207
265
|
if(_current.con)
|
|
208
266
|
{
|
|
209
|
-
Ice::ConnectionInfoPtr connInfo = _current.con->getInfo();
|
|
210
|
-
Ice::IPConnectionInfoPtr ipConnInfo = Ice::IPConnectionInfoPtr::dynamicCast(connInfo);
|
|
211
|
-
if(ipConnInfo)
|
|
267
|
+
for(Ice::ConnectionInfoPtr connInfo = _current.con->getInfo(); connInfo; connInfo = connInfo->underlying)
|
|
212
268
|
{
|
|
213
|
-
|
|
269
|
+
Ice::IPConnectionInfoPtr ipConnInfo = ICE_DYNAMIC_CAST(Ice::IPConnectionInfo, connInfo);
|
|
270
|
+
if(ipConnInfo)
|
|
271
|
+
{
|
|
272
|
+
out << "\nremote host: " << ipConnInfo->remoteAddress << " remote port: " << ipConnInfo->remotePort;
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
214
275
|
}
|
|
215
276
|
}
|
|
216
277
|
}
|
|
217
278
|
|
|
218
279
|
bool
|
|
219
|
-
IceInternal::IncomingBase::
|
|
280
|
+
IceInternal::IncomingBase::servantLocatorFinished(bool amd)
|
|
220
281
|
{
|
|
221
282
|
assert(_locator && _servant);
|
|
222
283
|
try
|
|
@@ -224,49 +285,27 @@ IceInternal::IncomingBase::__servantLocatorFinished(bool amd)
|
|
|
224
285
|
_locator->finished(_current, _servant, _cookie);
|
|
225
286
|
return true;
|
|
226
287
|
}
|
|
227
|
-
catch(const UserException& ex)
|
|
228
|
-
{
|
|
229
|
-
assert(_responseHandler);
|
|
230
|
-
|
|
231
|
-
_observer.userException();
|
|
232
|
-
|
|
233
|
-
//
|
|
234
|
-
// The operation may have already marshaled a reply; we must overwrite that reply.
|
|
235
|
-
//
|
|
236
|
-
if(_response)
|
|
237
|
-
{
|
|
238
|
-
_os.b.resize(headerSize + 4); // Reply status position.
|
|
239
|
-
_os.write(replyUserException);
|
|
240
|
-
_os.startWriteEncaps(_current.encoding, DefaultFormat);
|
|
241
|
-
_os.write(ex);
|
|
242
|
-
_os.endWriteEncaps();
|
|
243
|
-
_observer.reply(static_cast<Int>(_os.b.size() - headerSize - 4));
|
|
244
|
-
_responseHandler->sendResponse(_current.requestId, &_os, _compress, amd);
|
|
245
|
-
}
|
|
246
|
-
else
|
|
247
|
-
{
|
|
248
|
-
_responseHandler->sendNoResponse();
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
_observer.detach();
|
|
252
|
-
_responseHandler = 0;
|
|
253
|
-
}
|
|
254
288
|
catch(const std::exception& ex)
|
|
255
289
|
{
|
|
256
|
-
|
|
290
|
+
handleException(ex, amd);
|
|
257
291
|
}
|
|
258
292
|
catch(...)
|
|
259
293
|
{
|
|
260
|
-
|
|
294
|
+
handleException("unknown c++ exception", amd);
|
|
261
295
|
}
|
|
262
296
|
return false;
|
|
263
297
|
}
|
|
264
298
|
|
|
265
299
|
void
|
|
266
|
-
IceInternal::IncomingBase::
|
|
300
|
+
IceInternal::IncomingBase::handleException(const std::exception& exc, bool amd)
|
|
267
301
|
{
|
|
268
302
|
assert(_responseHandler);
|
|
269
303
|
|
|
304
|
+
// Reset the stream, it's possible the marshalling of the response failed and left
|
|
305
|
+
// the stream in an unknown state.
|
|
306
|
+
_os.clear();
|
|
307
|
+
_os.b.clear();
|
|
308
|
+
|
|
270
309
|
if(const SystemException* ex = dynamic_cast<const SystemException*>(&exc))
|
|
271
310
|
{
|
|
272
311
|
if(_responseHandler->systemException(_current.requestId, *ex, amd))
|
|
@@ -297,17 +336,18 @@ IceInternal::IncomingBase::__handleException(const std::exception& exc, bool amd
|
|
|
297
336
|
|
|
298
337
|
if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 1)
|
|
299
338
|
{
|
|
300
|
-
|
|
339
|
+
warning(*rfe);
|
|
301
340
|
}
|
|
302
341
|
|
|
303
342
|
if(_observer)
|
|
304
343
|
{
|
|
305
|
-
_observer.failed(rfe->
|
|
344
|
+
_observer.failed(rfe->ice_id());
|
|
306
345
|
}
|
|
307
346
|
|
|
308
347
|
if(_response)
|
|
309
348
|
{
|
|
310
|
-
_os.
|
|
349
|
+
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
350
|
+
_os.write(_current.requestId);
|
|
311
351
|
if(dynamic_cast<ObjectNotExistException*>(rfe))
|
|
312
352
|
{
|
|
313
353
|
_os.write(replyObjectNotExist);
|
|
@@ -349,21 +389,45 @@ IceInternal::IncomingBase::__handleException(const std::exception& exc, bool amd
|
|
|
349
389
|
_responseHandler->sendNoResponse();
|
|
350
390
|
}
|
|
351
391
|
}
|
|
392
|
+
else if(const UserException* ex = dynamic_cast<const UserException*>(&exc))
|
|
393
|
+
{
|
|
394
|
+
_observer.userException();
|
|
395
|
+
|
|
396
|
+
//
|
|
397
|
+
// The operation may have already marshaled a reply; we must overwrite that reply.
|
|
398
|
+
//
|
|
399
|
+
if(_response)
|
|
400
|
+
{
|
|
401
|
+
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
402
|
+
_os.write(_current.requestId);
|
|
403
|
+
_os.write(replyUserException);
|
|
404
|
+
_os.startEncapsulation(_current.encoding, _format);
|
|
405
|
+
_os.write(*ex);
|
|
406
|
+
_os.endEncapsulation();
|
|
407
|
+
_observer.reply(static_cast<Int>(_os.b.size() - headerSize - 4));
|
|
408
|
+
_responseHandler->sendResponse(_current.requestId, &_os, _compress, amd);
|
|
409
|
+
}
|
|
410
|
+
else
|
|
411
|
+
{
|
|
412
|
+
_responseHandler->sendNoResponse();
|
|
413
|
+
}
|
|
414
|
+
}
|
|
352
415
|
else if(const Exception* ex = dynamic_cast<const Exception*>(&exc))
|
|
353
416
|
{
|
|
354
417
|
if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
|
|
355
418
|
{
|
|
356
|
-
|
|
419
|
+
warning(*ex);
|
|
357
420
|
}
|
|
358
421
|
|
|
359
422
|
if(_observer)
|
|
360
423
|
{
|
|
361
|
-
_observer.failed(ex->
|
|
424
|
+
_observer.failed(ex->ice_id());
|
|
362
425
|
}
|
|
363
426
|
|
|
364
427
|
if(_response)
|
|
365
428
|
{
|
|
366
|
-
_os.
|
|
429
|
+
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
430
|
+
_os.write(_current.requestId);
|
|
367
431
|
if(const UnknownLocalException* ule = dynamic_cast<const UnknownLocalException*>(&exc))
|
|
368
432
|
{
|
|
369
433
|
_os.write(replyUnknownLocalException);
|
|
@@ -425,7 +489,7 @@ IceInternal::IncomingBase::__handleException(const std::exception& exc, bool amd
|
|
|
425
489
|
{
|
|
426
490
|
if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
|
|
427
491
|
{
|
|
428
|
-
|
|
492
|
+
warning(string("std::exception: ") + exc.what());
|
|
429
493
|
}
|
|
430
494
|
|
|
431
495
|
if(_observer)
|
|
@@ -435,7 +499,8 @@ IceInternal::IncomingBase::__handleException(const std::exception& exc, bool amd
|
|
|
435
499
|
|
|
436
500
|
if(_response)
|
|
437
501
|
{
|
|
438
|
-
_os.
|
|
502
|
+
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
503
|
+
_os.write(_current.requestId);
|
|
439
504
|
_os.write(replyUnknownException);
|
|
440
505
|
ostringstream str;
|
|
441
506
|
str << "std::exception: " << exc.what();
|
|
@@ -455,15 +520,20 @@ IceInternal::IncomingBase::__handleException(const std::exception& exc, bool amd
|
|
|
455
520
|
}
|
|
456
521
|
|
|
457
522
|
void
|
|
458
|
-
IceInternal::IncomingBase::
|
|
523
|
+
IceInternal::IncomingBase::handleException(const string& msg, bool amd)
|
|
459
524
|
{
|
|
460
525
|
if(_os.instance()->initializationData().properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
|
|
461
526
|
{
|
|
462
|
-
|
|
527
|
+
warning(msg);
|
|
463
528
|
}
|
|
464
529
|
|
|
465
530
|
assert(_responseHandler);
|
|
466
531
|
|
|
532
|
+
// Reset the stream, it's possible the marshalling of the response failed and left
|
|
533
|
+
// the stream in an unknown state.
|
|
534
|
+
_os.clear();
|
|
535
|
+
_os.b.clear();
|
|
536
|
+
|
|
467
537
|
if(_observer)
|
|
468
538
|
{
|
|
469
539
|
_observer.failed("unknown");
|
|
@@ -471,9 +541,10 @@ IceInternal::IncomingBase::__handleException(bool amd)
|
|
|
471
541
|
|
|
472
542
|
if(_response)
|
|
473
543
|
{
|
|
474
|
-
_os.
|
|
544
|
+
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
545
|
+
_os.write(_current.requestId);
|
|
475
546
|
_os.write(replyUnknownException);
|
|
476
|
-
string reason =
|
|
547
|
+
string reason = msg;
|
|
477
548
|
_os.write(reason, false);
|
|
478
549
|
_observer.reply(static_cast<Int>(_os.b.size() - headerSize - 4));
|
|
479
550
|
_responseHandler->sendResponse(_current.requestId, &_os, _compress, amd);
|
|
@@ -487,37 +558,31 @@ IceInternal::IncomingBase::__handleException(bool amd)
|
|
|
487
558
|
_responseHandler = 0;
|
|
488
559
|
}
|
|
489
560
|
|
|
490
|
-
|
|
491
561
|
IceInternal::Incoming::Incoming(Instance* instance, ResponseHandler* responseHandler, Ice::Connection* connection,
|
|
492
562
|
const ObjectAdapterPtr& adapter, bool response, Byte compress, Int requestId) :
|
|
493
563
|
IncomingBase(instance, responseHandler, connection, adapter, response, compress, requestId),
|
|
494
564
|
_inParamPos(0)
|
|
495
565
|
{
|
|
496
|
-
//
|
|
497
|
-
// Prepare the response if necessary.
|
|
498
|
-
//
|
|
499
|
-
if(response)
|
|
500
|
-
{
|
|
501
|
-
_os.writeBlob(replyHdr, sizeof(replyHdr));
|
|
502
|
-
|
|
503
|
-
//
|
|
504
|
-
// Add the request ID.
|
|
505
|
-
//
|
|
506
|
-
_os.write(requestId);
|
|
507
|
-
}
|
|
508
566
|
}
|
|
509
567
|
|
|
510
|
-
|
|
568
|
+
#ifdef ICE_CPP11_MAPPING
|
|
569
|
+
void
|
|
570
|
+
IceInternal::Incoming::push(function<bool()> response, function<bool(exception_ptr)> exception)
|
|
571
|
+
{
|
|
572
|
+
_interceptorCBs.push_front(make_pair(response, exception));
|
|
573
|
+
}
|
|
574
|
+
#else
|
|
511
575
|
void
|
|
512
576
|
IceInternal::Incoming::push(const Ice::DispatchInterceptorAsyncCallbackPtr& cb)
|
|
513
577
|
{
|
|
514
|
-
|
|
578
|
+
_interceptorCBs.push_front(cb);
|
|
515
579
|
}
|
|
580
|
+
#endif
|
|
516
581
|
|
|
517
582
|
void
|
|
518
583
|
IceInternal::Incoming::pop()
|
|
519
584
|
{
|
|
520
|
-
|
|
585
|
+
_interceptorCBs.pop_front();
|
|
521
586
|
}
|
|
522
587
|
|
|
523
588
|
void
|
|
@@ -532,45 +597,25 @@ IceInternal::Incoming::startOver()
|
|
|
532
597
|
}
|
|
533
598
|
else
|
|
534
599
|
{
|
|
535
|
-
|
|
600
|
+
// Reset input stream's position and clear response
|
|
601
|
+
if(_inAsync)
|
|
602
|
+
{
|
|
603
|
+
_inAsync->kill(*this);
|
|
604
|
+
_inAsync = 0;
|
|
605
|
+
}
|
|
606
|
+
_os.clear();
|
|
607
|
+
_os.b.clear();
|
|
536
608
|
|
|
537
|
-
//
|
|
538
|
-
// Let's rewind _is and clean-up _os
|
|
539
|
-
//
|
|
540
609
|
_is->i = _inParamPos;
|
|
541
|
-
_os.b.resize(headerSize + 4); // Reply status position.
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
void
|
|
546
|
-
IceInternal::Incoming::killAsync()
|
|
547
|
-
{
|
|
548
|
-
//
|
|
549
|
-
// Always runs in the dispatch thread
|
|
550
|
-
//
|
|
551
|
-
if(_cb != 0)
|
|
552
|
-
{
|
|
553
|
-
//
|
|
554
|
-
// May raise ResponseSentException
|
|
555
|
-
//
|
|
556
|
-
_cb->__deactivate(*this);
|
|
557
|
-
_cb = 0;
|
|
558
610
|
}
|
|
559
611
|
}
|
|
560
612
|
|
|
561
613
|
void
|
|
562
|
-
IceInternal::Incoming::
|
|
563
|
-
{
|
|
564
|
-
assert(_cb == 0);
|
|
565
|
-
_cb = &cb; // acquires a ref-count
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
void
|
|
569
|
-
IceInternal::Incoming::invoke(const ServantManagerPtr& servantManager, BasicStream* stream)
|
|
614
|
+
IceInternal::Incoming::invoke(const ServantManagerPtr& servantManager, InputStream* stream)
|
|
570
615
|
{
|
|
571
616
|
_is = stream;
|
|
572
617
|
|
|
573
|
-
|
|
618
|
+
InputStream::Container::iterator start = _is->i;
|
|
574
619
|
|
|
575
620
|
//
|
|
576
621
|
// Read the current.
|
|
@@ -644,72 +689,26 @@ IceInternal::Incoming::invoke(const ServantManagerPtr& servantManager, BasicStre
|
|
|
644
689
|
{
|
|
645
690
|
_servant = _locator->locate(_current, _cookie);
|
|
646
691
|
}
|
|
647
|
-
catch(const UserException& ex)
|
|
648
|
-
{
|
|
649
|
-
Ice::EncodingVersion encoding = _is->skipEncaps(); // Required for batch requests.
|
|
650
|
-
|
|
651
|
-
_observer.userException();
|
|
652
|
-
|
|
653
|
-
if(_response)
|
|
654
|
-
{
|
|
655
|
-
_os.write(replyUserException);
|
|
656
|
-
_os.startWriteEncaps(encoding, DefaultFormat);
|
|
657
|
-
_os.write(ex);
|
|
658
|
-
_os.endWriteEncaps();
|
|
659
|
-
_observer.reply(static_cast<Int>(_os.b.size() - headerSize - 4));
|
|
660
|
-
_responseHandler->sendResponse(_current.requestId, &_os, _compress, false);
|
|
661
|
-
}
|
|
662
|
-
else
|
|
663
|
-
{
|
|
664
|
-
_responseHandler->sendNoResponse();
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
_observer.detach();
|
|
668
|
-
_responseHandler = 0;
|
|
669
|
-
return;
|
|
670
|
-
}
|
|
671
692
|
catch(const std::exception& ex)
|
|
672
693
|
{
|
|
673
|
-
|
|
674
|
-
|
|
694
|
+
skipReadParams(); // Required for batch requests.
|
|
695
|
+
handleException(ex, false);
|
|
675
696
|
return;
|
|
676
697
|
}
|
|
677
698
|
catch(...)
|
|
678
699
|
{
|
|
679
|
-
|
|
680
|
-
|
|
700
|
+
skipReadParams(); // Required for batch requests.
|
|
701
|
+
handleException("unknown c++ exception", false);
|
|
681
702
|
return;
|
|
682
703
|
}
|
|
683
704
|
}
|
|
684
705
|
}
|
|
685
706
|
}
|
|
686
707
|
|
|
687
|
-
|
|
708
|
+
if(!_servant)
|
|
688
709
|
{
|
|
689
|
-
|
|
690
|
-
{
|
|
691
|
-
//
|
|
692
|
-
// DispatchAsync is a "pseudo dispatch status", used internally only
|
|
693
|
-
// to indicate async dispatch.
|
|
694
|
-
//
|
|
695
|
-
if(_servant->__dispatch(*this, _current) == DispatchAsync)
|
|
696
|
-
{
|
|
697
|
-
return;
|
|
698
|
-
}
|
|
699
|
-
|
|
700
|
-
if(_locator && !__servantLocatorFinished(false))
|
|
701
|
-
{
|
|
702
|
-
return;
|
|
703
|
-
}
|
|
704
|
-
}
|
|
705
|
-
else
|
|
710
|
+
try
|
|
706
711
|
{
|
|
707
|
-
//
|
|
708
|
-
// Skip the input parameters, this is required for reading
|
|
709
|
-
// the next batch request if dispatching batch requests.
|
|
710
|
-
//
|
|
711
|
-
_is->skipEncaps();
|
|
712
|
-
|
|
713
712
|
if(servantManager && servantManager->hasServant(_current.id))
|
|
714
713
|
{
|
|
715
714
|
throw FacetNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
|
|
@@ -719,44 +718,76 @@ IceInternal::Incoming::invoke(const ServantManagerPtr& servantManager, BasicStre
|
|
|
719
718
|
throw ObjectNotExistException(__FILE__, __LINE__, _current.id, _current.facet, _current.operation);
|
|
720
719
|
}
|
|
721
720
|
}
|
|
722
|
-
|
|
723
|
-
catch(const std::exception& ex)
|
|
724
|
-
{
|
|
725
|
-
if(_servant && _locator && !__servantLocatorFinished(false))
|
|
721
|
+
catch(const Ice::LocalException& ex)
|
|
726
722
|
{
|
|
723
|
+
skipReadParams(); // Required for batch requests
|
|
724
|
+
handleException(ex, false);
|
|
727
725
|
return;
|
|
728
726
|
}
|
|
729
|
-
__handleException(ex, false);
|
|
730
|
-
return;
|
|
731
727
|
}
|
|
732
|
-
|
|
728
|
+
|
|
729
|
+
try
|
|
733
730
|
{
|
|
734
|
-
|
|
731
|
+
//
|
|
732
|
+
// Dispatch in the incoming call
|
|
733
|
+
//
|
|
734
|
+
_servant->_iceDispatch(*this, _current);
|
|
735
|
+
|
|
736
|
+
//
|
|
737
|
+
// If the request was not dispatched asynchronously, send the response.
|
|
738
|
+
//
|
|
739
|
+
if(!_inAsync)
|
|
735
740
|
{
|
|
736
|
-
|
|
741
|
+
response(false);
|
|
737
742
|
}
|
|
738
|
-
__handleException(false);
|
|
739
|
-
return;
|
|
740
743
|
}
|
|
741
|
-
|
|
742
|
-
//
|
|
743
|
-
// Don't put the code below into the try block above. Exceptions
|
|
744
|
-
// in the code below are considered fatal, and must propagate to
|
|
745
|
-
// the caller of this operation.
|
|
746
|
-
//
|
|
747
|
-
|
|
748
|
-
if(_response)
|
|
744
|
+
catch(const std::exception& ex)
|
|
749
745
|
{
|
|
750
|
-
|
|
751
|
-
|
|
746
|
+
if(_inAsync)
|
|
747
|
+
{
|
|
748
|
+
try
|
|
749
|
+
{
|
|
750
|
+
_inAsync->kill(*this);
|
|
751
|
+
}
|
|
752
|
+
catch(const Ice::ResponseSentException&)
|
|
753
|
+
{
|
|
754
|
+
const Ice::PropertiesPtr properties = _os.instance()->initializationData().properties;
|
|
755
|
+
if(properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
|
|
756
|
+
{
|
|
757
|
+
if(const IceUtil::Exception* exc = dynamic_cast<const IceUtil::Exception*>(&ex))
|
|
758
|
+
{
|
|
759
|
+
warning(*exc);
|
|
760
|
+
}
|
|
761
|
+
else
|
|
762
|
+
{
|
|
763
|
+
warning(string("std::exception: ") + ex.what());
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
return;
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
exception(ex, false);
|
|
752
770
|
}
|
|
753
|
-
|
|
771
|
+
catch(...)
|
|
754
772
|
{
|
|
755
|
-
|
|
773
|
+
if(_inAsync)
|
|
774
|
+
{
|
|
775
|
+
try
|
|
776
|
+
{
|
|
777
|
+
_inAsync->kill(*this);
|
|
778
|
+
}
|
|
779
|
+
catch(const Ice::ResponseSentException&)
|
|
780
|
+
{
|
|
781
|
+
const Ice::PropertiesPtr properties = _os.instance()->initializationData().properties;
|
|
782
|
+
if(properties->getPropertyAsIntWithDefault("Ice.Warn.Dispatch", 1) > 0)
|
|
783
|
+
{
|
|
784
|
+
warning("unknown c++ exception");
|
|
785
|
+
}
|
|
786
|
+
return;
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
exception("unknown c++ exception", false);
|
|
756
790
|
}
|
|
757
|
-
|
|
758
|
-
_observer.detach();
|
|
759
|
-
_responseHandler = 0;
|
|
760
791
|
}
|
|
761
792
|
|
|
762
793
|
const Current&
|