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.
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
#include <Ice/ProtocolInstanceF.h>
|
|
25
25
|
#include <Ice/EndpointTypes.h>
|
|
26
26
|
|
|
27
|
-
#
|
|
28
|
-
# include <
|
|
27
|
+
#if defined(ICE_OS_UWP)
|
|
28
|
+
# include <ppltasks.h>
|
|
29
29
|
#elif defined(_WIN32)
|
|
30
30
|
# include <winsock2.h>
|
|
31
31
|
# include <ws2tcpip.h>
|
|
@@ -43,14 +43,14 @@ typedef int ssize_t;
|
|
|
43
43
|
# include <netdb.h>
|
|
44
44
|
#endif
|
|
45
45
|
|
|
46
|
-
#if defined(
|
|
46
|
+
#if defined(__linux) && !defined(ICE_NO_EPOLL)
|
|
47
47
|
# define ICE_USE_EPOLL 1
|
|
48
48
|
#elif (defined(__APPLE__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && TARGET_OS_IPHONE == 0 && !defined(ICE_NO_KQUEUE)
|
|
49
49
|
# define ICE_USE_KQUEUE 1
|
|
50
50
|
#elif defined(__APPLE__) && !defined(ICE_NO_CFSTREAM)
|
|
51
51
|
# define ICE_USE_CFSTREAM 1
|
|
52
52
|
#elif defined(_WIN32)
|
|
53
|
-
# if defined(
|
|
53
|
+
# if defined(ICE_OS_UWP)
|
|
54
54
|
# elif !defined(ICE_NO_IOCP)
|
|
55
55
|
# define ICE_USE_IOCP 1
|
|
56
56
|
# else
|
|
@@ -68,7 +68,7 @@ typedef int socklen_t;
|
|
|
68
68
|
# define SOCKET int
|
|
69
69
|
# define INVALID_SOCKET -1
|
|
70
70
|
# define SOCKET_ERROR -1
|
|
71
|
-
#elif defined(
|
|
71
|
+
#elif defined(ICE_OS_UWP)
|
|
72
72
|
typedef Platform::Object^ SOCKET;
|
|
73
73
|
# define INVALID_SOCKET nullptr
|
|
74
74
|
# define SOCKET_ERROR -1
|
|
@@ -115,7 +115,7 @@ namespace IceInternal
|
|
|
115
115
|
//
|
|
116
116
|
// Use Address struct or union depending on the platform
|
|
117
117
|
//
|
|
118
|
-
#ifdef
|
|
118
|
+
#ifdef ICE_OS_UWP
|
|
119
119
|
struct ICE_API Address
|
|
120
120
|
{
|
|
121
121
|
Windows::Networking::HostName^ host;
|
|
@@ -152,17 +152,17 @@ enum SocketOperation
|
|
|
152
152
|
};
|
|
153
153
|
|
|
154
154
|
//
|
|
155
|
-
// On
|
|
155
|
+
// On UWP, wait only for read to return, on IOCP/Win32 wait for
|
|
156
156
|
// both pending read and write operations to complete (#ICE-6695).
|
|
157
157
|
//
|
|
158
|
-
#if defined(
|
|
158
|
+
#if defined(ICE_OS_UWP)
|
|
159
159
|
const int SocketOperationWaitForClose = 1;
|
|
160
160
|
#elif defined(ICE_USE_IOCP)
|
|
161
161
|
const int SocketOperationWaitForClose = 3;
|
|
162
162
|
#endif
|
|
163
163
|
|
|
164
164
|
//
|
|
165
|
-
// AsyncInfo struct for Windows IOCP or
|
|
165
|
+
// AsyncInfo struct for Windows IOCP or UWP holds the result of
|
|
166
166
|
// asynchronous operations after it completed.
|
|
167
167
|
//
|
|
168
168
|
#if defined(ICE_USE_IOCP)
|
|
@@ -176,9 +176,10 @@ struct ICE_API AsyncInfo : WSAOVERLAPPED
|
|
|
176
176
|
DWORD count;
|
|
177
177
|
int error;
|
|
178
178
|
};
|
|
179
|
-
#elif defined(
|
|
179
|
+
#elif defined(ICE_OS_UWP)
|
|
180
180
|
struct ICE_API AsyncInfo
|
|
181
181
|
{
|
|
182
|
+
Windows::Foundation::AsyncOperationCompletedHandler<unsigned int>^ completedHandler;
|
|
182
183
|
int count;
|
|
183
184
|
int error;
|
|
184
185
|
};
|
|
@@ -186,11 +187,26 @@ struct ICE_API AsyncInfo
|
|
|
186
187
|
delegate void SocketOperationCompletedHandler(int);
|
|
187
188
|
#endif
|
|
188
189
|
|
|
189
|
-
class ICE_API
|
|
190
|
+
class ICE_API ReadyCallback : public virtual ::IceUtil::Shared
|
|
190
191
|
{
|
|
191
192
|
public:
|
|
192
193
|
|
|
194
|
+
virtual ~ReadyCallback();
|
|
195
|
+
|
|
196
|
+
virtual void ready(SocketOperation, bool) = 0;
|
|
197
|
+
};
|
|
198
|
+
typedef IceUtil::Handle<ReadyCallback> ReadyCallbackPtr;
|
|
199
|
+
|
|
200
|
+
class ICE_API NativeInfo : public virtual IceUtil::Shared
|
|
201
|
+
{
|
|
202
|
+
public:
|
|
203
|
+
|
|
204
|
+
virtual ~NativeInfo();
|
|
205
|
+
|
|
193
206
|
NativeInfo(SOCKET socketFd = INVALID_SOCKET) : _fd(socketFd)
|
|
207
|
+
#if !defined(ICE_USE_IOCP) && !defined(ICE_OS_UWP)
|
|
208
|
+
, _newFd(INVALID_SOCKET)
|
|
209
|
+
#endif
|
|
194
210
|
{
|
|
195
211
|
}
|
|
196
212
|
|
|
@@ -199,27 +215,55 @@ public:
|
|
|
199
215
|
return _fd;
|
|
200
216
|
}
|
|
201
217
|
|
|
218
|
+
void setReadyCallback(const ReadyCallbackPtr& callback);
|
|
219
|
+
|
|
220
|
+
void ready(SocketOperation operation, bool value)
|
|
221
|
+
{
|
|
222
|
+
assert(_readyCallback);
|
|
223
|
+
_readyCallback->ready(operation, value);
|
|
224
|
+
}
|
|
225
|
+
|
|
202
226
|
//
|
|
203
227
|
// This is implemented by transceiver and acceptor implementations.
|
|
204
228
|
//
|
|
205
229
|
#if defined(ICE_USE_IOCP)
|
|
206
230
|
virtual AsyncInfo* getAsyncInfo(SocketOperation) = 0;
|
|
207
231
|
void initialize(HANDLE, ULONG_PTR);
|
|
208
|
-
void completed(SocketOperation
|
|
209
|
-
#elif defined(
|
|
210
|
-
virtual
|
|
211
|
-
void
|
|
232
|
+
void completed(SocketOperation);
|
|
233
|
+
#elif defined(ICE_OS_UWP)
|
|
234
|
+
virtual AsyncInfo* getAsyncInfo(SocketOperation) = 0;
|
|
235
|
+
void queueAction(SocketOperation, Windows::Foundation::IAsyncAction^, bool = false);
|
|
236
|
+
void queueOperation(SocketOperation, Windows::Foundation::IAsyncOperation<unsigned int>^);
|
|
237
|
+
void setCompletedHandler(SocketOperationCompletedHandler^);
|
|
238
|
+
void completed(SocketOperation);
|
|
239
|
+
#else
|
|
240
|
+
bool newFd();
|
|
241
|
+
void setNewFd(SOCKET);
|
|
212
242
|
#endif
|
|
213
243
|
|
|
214
244
|
protected:
|
|
215
245
|
|
|
216
246
|
SOCKET _fd;
|
|
247
|
+
ReadyCallbackPtr _readyCallback;
|
|
217
248
|
|
|
218
249
|
#if defined(ICE_USE_IOCP)
|
|
219
250
|
HANDLE _handle;
|
|
220
251
|
ULONG_PTR _key;
|
|
221
|
-
#elif defined(
|
|
252
|
+
#elif defined(ICE_OS_UWP)
|
|
253
|
+
bool checkIfErrorOrCompleted(SocketOperation, Windows::Foundation::IAsyncInfo^, bool = false);
|
|
222
254
|
SocketOperationCompletedHandler^ _completedHandler;
|
|
255
|
+
#else
|
|
256
|
+
SOCKET _newFd;
|
|
257
|
+
#endif
|
|
258
|
+
|
|
259
|
+
private:
|
|
260
|
+
|
|
261
|
+
#if defined(ICE_OS_UWP)
|
|
262
|
+
void queueActionCompleted(SocketOperation, AsyncInfo* asyncInfo, Windows::Foundation::IAsyncAction^,
|
|
263
|
+
Windows::Foundation::AsyncStatus);
|
|
264
|
+
void queueOperationCompleted(SocketOperation, AsyncInfo* asyncInfo,
|
|
265
|
+
Windows::Foundation::IAsyncOperation<unsigned int>^,
|
|
266
|
+
Windows::Foundation::AsyncStatus);
|
|
223
267
|
#endif
|
|
224
268
|
};
|
|
225
269
|
typedef IceUtil::Handle<NativeInfo> NativeInfoPtr;
|
|
@@ -229,7 +273,7 @@ ICE_API std::string errorToStringDNS(int);
|
|
|
229
273
|
ICE_API std::vector<Address> getAddresses(const std::string&, int, ProtocolSupport, Ice::EndpointSelectionType, bool,
|
|
230
274
|
bool);
|
|
231
275
|
ICE_API ProtocolSupport getProtocolSupport(const Address&);
|
|
232
|
-
ICE_API Address getAddressForServer(const std::string&, int, ProtocolSupport, bool);
|
|
276
|
+
ICE_API Address getAddressForServer(const std::string&, int, ProtocolSupport, bool, bool);
|
|
233
277
|
ICE_API int compareAddress(const Address&, const Address&);
|
|
234
278
|
|
|
235
279
|
ICE_API bool isIPv6Supported();
|
|
@@ -249,6 +293,7 @@ ICE_API std::string addressesToString(const Address&, const Address&, bool);
|
|
|
249
293
|
ICE_API bool isAddressValid(const Address&);
|
|
250
294
|
|
|
251
295
|
ICE_API std::vector<std::string> getHostsForEndpointExpand(const std::string&, ProtocolSupport, bool);
|
|
296
|
+
ICE_API std::vector<std::string> getInterfacesForMulticast(const std::string&, ProtocolSupport);
|
|
252
297
|
|
|
253
298
|
ICE_API std::string inetAddrToString(const Address&);
|
|
254
299
|
ICE_API int getPort(const Address&);
|
|
@@ -268,10 +313,10 @@ ICE_API void setMcastGroup(SOCKET, const Address&, const std::string&);
|
|
|
268
313
|
ICE_API void setMcastInterface(SOCKET, const std::string&, const Address&);
|
|
269
314
|
ICE_API void setMcastTtl(SOCKET, int, const Address&);
|
|
270
315
|
ICE_API void setReuseAddress(SOCKET, bool);
|
|
316
|
+
ICE_API Address doBind(SOCKET, const Address&, const std::string& intf = "");
|
|
317
|
+
ICE_API void doListen(SOCKET, int);
|
|
271
318
|
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
#ifndef ICE_OS_WINRT
|
|
319
|
+
#ifndef ICE_OS_UWP
|
|
275
320
|
ICE_API bool interrupted();
|
|
276
321
|
ICE_API bool acceptInterrupted();
|
|
277
322
|
ICE_API bool noBuffers();
|
|
@@ -284,7 +329,6 @@ ICE_API bool connectionRefused();
|
|
|
284
329
|
ICE_API bool connectInProgress();
|
|
285
330
|
ICE_API bool connectionLost();
|
|
286
331
|
|
|
287
|
-
ICE_API void doListen(SOCKET, int);
|
|
288
332
|
ICE_API bool doConnect(SOCKET, const Address&, const Address&);
|
|
289
333
|
ICE_API void doFinishConnect(SOCKET);
|
|
290
334
|
ICE_API SOCKET doAccept(SOCKET);
|
|
@@ -295,14 +339,47 @@ ICE_API int getSocketErrno();
|
|
|
295
339
|
|
|
296
340
|
ICE_API Address getNumericAddress(const std::string&);
|
|
297
341
|
#else
|
|
298
|
-
ICE_API void checkConnectErrorCode(const char*, int, HRESULT
|
|
342
|
+
ICE_API void checkConnectErrorCode(const char*, int, HRESULT);
|
|
299
343
|
ICE_API void checkErrorCode(const char*, int, HRESULT);
|
|
344
|
+
|
|
345
|
+
//
|
|
346
|
+
// UWP impose some restriction on operations that block when run from
|
|
347
|
+
// STA thread and throws concurrency::invalid_operation. We cannot
|
|
348
|
+
// directly call task::get or task::way, this helper method is used to
|
|
349
|
+
// workaround this limitation.
|
|
350
|
+
//
|
|
351
|
+
template<typename T>
|
|
352
|
+
T runSync(Windows::Foundation::IAsyncOperation<T>^ operation)
|
|
353
|
+
{
|
|
354
|
+
std::promise<T> p;
|
|
355
|
+
concurrency::create_task(operation).then(
|
|
356
|
+
[&p](concurrency::task<T> t)
|
|
357
|
+
{
|
|
358
|
+
try
|
|
359
|
+
{
|
|
360
|
+
p.set_value(t.get());
|
|
361
|
+
}
|
|
362
|
+
catch(...)
|
|
363
|
+
{
|
|
364
|
+
p.set_exception(std::current_exception());
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
concurrency::task_continuation_context::use_arbitrary());
|
|
368
|
+
|
|
369
|
+
return p.get_future().get();
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
ICE_API void runSync(Windows::Foundation::IAsyncAction^ action);
|
|
373
|
+
|
|
300
374
|
#endif
|
|
301
375
|
|
|
302
376
|
#if defined(ICE_USE_IOCP)
|
|
303
377
|
ICE_API void doConnectAsync(SOCKET, const Address&, const Address&, AsyncInfo&);
|
|
304
378
|
ICE_API void doFinishConnectAsync(SOCKET, AsyncInfo&);
|
|
305
379
|
#endif
|
|
380
|
+
|
|
381
|
+
ICE_API bool isIpAddress(const std::string&);
|
|
382
|
+
|
|
306
383
|
}
|
|
307
384
|
|
|
308
385
|
#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.
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
namespace IceInternal
|
|
18
18
|
{
|
|
19
19
|
|
|
20
|
-
#ifdef
|
|
20
|
+
#ifdef ICE_OS_UWP
|
|
21
21
|
struct ICE_API Address;
|
|
22
22
|
#else
|
|
23
23
|
union Address;
|
|
@@ -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.
|
|
@@ -17,7 +17,12 @@ using namespace IceInternal;
|
|
|
17
17
|
|
|
18
18
|
IceUtil::Shared* IceInternal::upCast(NetworkProxy* p) { return p; }
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
NetworkProxy::~NetworkProxy()
|
|
21
|
+
{
|
|
22
|
+
// Out of line to avoid weak vtable
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
#ifndef ICE_OS_UWP
|
|
21
26
|
|
|
22
27
|
namespace
|
|
23
28
|
{
|
|
@@ -76,6 +81,7 @@ private:
|
|
|
76
81
|
SOCKSNetworkProxy::SOCKSNetworkProxy(const string& host, int port) : _host(host), _port(port)
|
|
77
82
|
{
|
|
78
83
|
assert(!host.empty());
|
|
84
|
+
memset(&_address, 0, sizeof(_address));
|
|
79
85
|
}
|
|
80
86
|
|
|
81
87
|
SOCKSNetworkProxy::SOCKSNetworkProxy(const Address& addr) : _port(0), _address(addr)
|
|
@@ -118,7 +124,7 @@ SOCKSNetworkProxy::beginWrite(const Address& addr, Buffer& buf)
|
|
|
118
124
|
SocketOperation
|
|
119
125
|
SOCKSNetworkProxy::endWrite(Buffer& buf)
|
|
120
126
|
{
|
|
121
|
-
// Once the request is sent, read the response
|
|
127
|
+
// Once the request is sent, read the response
|
|
122
128
|
return buf.i != buf.b.end() ? SocketOperationWrite : SocketOperationRead;
|
|
123
129
|
}
|
|
124
130
|
|
|
@@ -162,7 +168,7 @@ NetworkProxyPtr
|
|
|
162
168
|
SOCKSNetworkProxy::resolveHost(ProtocolSupport protocol) const
|
|
163
169
|
{
|
|
164
170
|
assert(!_host.empty());
|
|
165
|
-
return new SOCKSNetworkProxy(getAddresses(_host, _port, protocol, Ice::Random, false, true)[0]);
|
|
171
|
+
return new SOCKSNetworkProxy(getAddresses(_host, _port, protocol, Ice::ICE_ENUM(EndpointSelectionType, Random), false, true)[0]);
|
|
166
172
|
}
|
|
167
173
|
|
|
168
174
|
Address
|
|
@@ -184,13 +190,14 @@ SOCKSNetworkProxy::getProtocolSupport() const
|
|
|
184
190
|
return EnableIPv4;
|
|
185
191
|
}
|
|
186
192
|
|
|
187
|
-
HTTPNetworkProxy::HTTPNetworkProxy(const string& host, int port) :
|
|
193
|
+
HTTPNetworkProxy::HTTPNetworkProxy(const string& host, int port) :
|
|
188
194
|
_host(host), _port(port), _protocol(EnableBoth)
|
|
189
195
|
{
|
|
190
196
|
assert(!host.empty());
|
|
197
|
+
memset(&_address, 0, sizeof(_address));
|
|
191
198
|
}
|
|
192
199
|
|
|
193
|
-
HTTPNetworkProxy::HTTPNetworkProxy(const Address& addr, ProtocolSupport protocol) :
|
|
200
|
+
HTTPNetworkProxy::HTTPNetworkProxy(const Address& addr, ProtocolSupport protocol) :
|
|
194
201
|
_port(0), _address(addr), _protocol(protocol)
|
|
195
202
|
{
|
|
196
203
|
}
|
|
@@ -212,7 +219,7 @@ HTTPNetworkProxy::beginWrite(const Address& addr, Buffer& buf)
|
|
|
212
219
|
SocketOperation
|
|
213
220
|
HTTPNetworkProxy::endWrite(Buffer& buf)
|
|
214
221
|
{
|
|
215
|
-
// Once the request is sent, read the response
|
|
222
|
+
// Once the request is sent, read the response
|
|
216
223
|
return buf.i != buf.b.end() ? SocketOperationWrite : SocketOperationRead;
|
|
217
224
|
}
|
|
218
225
|
|
|
@@ -240,7 +247,7 @@ HTTPNetworkProxy::endRead(Buffer& buf)
|
|
|
240
247
|
// Read one more byte, we can't easily read bytes in advance
|
|
241
248
|
// since the transport implenentation might be be able to read
|
|
242
249
|
// the data from the memory instead of the socket. This is for
|
|
243
|
-
// instance the case with the OpenSSL transport (or we would
|
|
250
|
+
// instance the case with the OpenSSL transport (or we would
|
|
244
251
|
// have to use a buffering BIO).
|
|
245
252
|
//
|
|
246
253
|
buf.b.resize(buf.b.size() + 1);
|
|
@@ -265,7 +272,7 @@ NetworkProxyPtr
|
|
|
265
272
|
HTTPNetworkProxy::resolveHost(ProtocolSupport protocol) const
|
|
266
273
|
{
|
|
267
274
|
assert(!_host.empty());
|
|
268
|
-
return new HTTPNetworkProxy(getAddresses(_host, _port, protocol, Ice::Random, false, true)[0], protocol);
|
|
275
|
+
return new HTTPNetworkProxy(getAddresses(_host, _port, protocol, Ice::ICE_ENUM(EndpointSelectionType, Random), false, true)[0], protocol);
|
|
269
276
|
}
|
|
270
277
|
|
|
271
278
|
Address
|
|
@@ -297,8 +304,8 @@ IceInternal::createNetworkProxy(const Ice::PropertiesPtr& properties, ProtocolSu
|
|
|
297
304
|
proxyHost = properties->getProperty("Ice.SOCKSProxyHost");
|
|
298
305
|
if(!proxyHost.empty())
|
|
299
306
|
{
|
|
300
|
-
#ifdef
|
|
301
|
-
throw Ice::InitializationException(__FILE__, __LINE__, "SOCKS proxy not supported with
|
|
307
|
+
#ifdef ICE_OS_UWP
|
|
308
|
+
throw Ice::InitializationException(__FILE__, __LINE__, "SOCKS proxy not supported with UWP");
|
|
302
309
|
#else
|
|
303
310
|
if(protocolSupport == EnableIPv6)
|
|
304
311
|
{
|
|
@@ -312,12 +319,12 @@ IceInternal::createNetworkProxy(const Ice::PropertiesPtr& properties, ProtocolSu
|
|
|
312
319
|
proxyHost = properties->getProperty("Ice.HTTPProxyHost");
|
|
313
320
|
if(!proxyHost.empty())
|
|
314
321
|
{
|
|
315
|
-
#ifdef
|
|
316
|
-
throw Ice::InitializationException(__FILE__, __LINE__, "HTTP proxy not supported with
|
|
322
|
+
#ifdef ICE_OS_UWP
|
|
323
|
+
throw Ice::InitializationException(__FILE__, __LINE__, "HTTP proxy not supported with UWP");
|
|
317
324
|
#else
|
|
318
325
|
return new HTTPNetworkProxy(proxyHost, properties->getPropertyAsIntWithDefault("Ice.HTTPProxyPort", 1080));
|
|
319
326
|
#endif
|
|
320
327
|
}
|
|
321
|
-
|
|
328
|
+
|
|
322
329
|
return 0;
|
|
323
330
|
}
|
|
@@ -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.
|
|
@@ -11,14 +11,17 @@
|
|
|
11
11
|
#define ICE_NETWORK_PROXY_H
|
|
12
12
|
|
|
13
13
|
#include <Ice/Network.h>
|
|
14
|
+
#include <Ice/Buffer.h>
|
|
14
15
|
|
|
15
16
|
namespace IceInternal
|
|
16
17
|
{
|
|
17
18
|
|
|
18
|
-
class ICE_API NetworkProxy : virtual
|
|
19
|
+
class ICE_API NetworkProxy : public virtual IceUtil::Shared
|
|
19
20
|
{
|
|
20
21
|
public:
|
|
21
22
|
|
|
23
|
+
virtual ~NetworkProxy();
|
|
24
|
+
|
|
22
25
|
//
|
|
23
26
|
// Write the connection request on the connection established
|
|
24
27
|
// with the network proxy server. This is called right after
|
|
@@ -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.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
|
|
4
4
|
//
|
|
5
5
|
// This copy of Ice is licensed to you under the terms described in the
|
|
6
6
|
// ICE_LICENSE file included in this distribution.
|
|
@@ -12,17 +12,22 @@
|
|
|
12
12
|
#include <Ice/IncomingAsync.h>
|
|
13
13
|
#include <Ice/IncomingRequest.h>
|
|
14
14
|
#include <Ice/LocalException.h>
|
|
15
|
-
#include <Ice/Stream.h>
|
|
16
15
|
#include <Ice/SlicedData.h>
|
|
17
16
|
|
|
18
17
|
using namespace std;
|
|
19
18
|
using namespace Ice;
|
|
20
19
|
using namespace IceInternal;
|
|
21
20
|
|
|
21
|
+
namespace Ice
|
|
22
|
+
{
|
|
23
|
+
const Current emptyCurrent = Current();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
#ifndef ICE_CPP11_MAPPING
|
|
22
27
|
Object* Ice::upCast(Object* p) { return p; }
|
|
23
28
|
|
|
24
|
-
void
|
|
25
|
-
Ice::
|
|
29
|
+
void
|
|
30
|
+
Ice::_icePatchObjectPtr(ObjectPtr& obj, const ObjectPtr& v)
|
|
26
31
|
{
|
|
27
32
|
obj = v;
|
|
28
33
|
}
|
|
@@ -38,22 +43,46 @@ Ice::Object::operator<(const Object& r) const
|
|
|
38
43
|
{
|
|
39
44
|
return this < &r;
|
|
40
45
|
}
|
|
41
|
-
|
|
46
|
+
#endif
|
|
42
47
|
|
|
43
48
|
namespace
|
|
44
49
|
{
|
|
45
50
|
|
|
46
|
-
const string
|
|
51
|
+
const string object_ids[] =
|
|
47
52
|
{
|
|
48
53
|
"::Ice::Object"
|
|
49
54
|
};
|
|
50
55
|
|
|
56
|
+
const string object_all[] =
|
|
57
|
+
{
|
|
58
|
+
"ice_id",
|
|
59
|
+
"ice_ids",
|
|
60
|
+
"ice_isA",
|
|
61
|
+
"ice_ping"
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#ifndef ICE_CPP11_MAPPING
|
|
67
|
+
Ice::DispatchInterceptorAsyncCallback::~DispatchInterceptorAsyncCallback()
|
|
68
|
+
{
|
|
69
|
+
// Out of line to avoid weak vtable
|
|
70
|
+
}
|
|
71
|
+
#endif
|
|
72
|
+
|
|
73
|
+
Ice::Request::~Request()
|
|
74
|
+
{
|
|
75
|
+
// Out of line to avoid weak vtable
|
|
51
76
|
}
|
|
52
77
|
|
|
53
78
|
bool
|
|
79
|
+
#ifdef ICE_CPP11_MAPPING
|
|
80
|
+
Ice::Object::ice_isA(string s, const Current&) const
|
|
81
|
+
#else
|
|
54
82
|
Ice::Object::ice_isA(const string& s, const Current&) const
|
|
83
|
+
#endif
|
|
55
84
|
{
|
|
56
|
-
return s ==
|
|
85
|
+
return s == object_ids[0];
|
|
57
86
|
}
|
|
58
87
|
|
|
59
88
|
void
|
|
@@ -65,21 +94,26 @@ Ice::Object::ice_ping(const Current&) const
|
|
|
65
94
|
vector<string>
|
|
66
95
|
Ice::Object::ice_ids(const Current&) const
|
|
67
96
|
{
|
|
68
|
-
return vector<string>(&
|
|
97
|
+
return vector<string>(&object_ids[0], &object_ids[1]);
|
|
69
98
|
}
|
|
70
99
|
|
|
100
|
+
#ifdef ICE_CPP11_MAPPING
|
|
101
|
+
string
|
|
102
|
+
#else
|
|
71
103
|
const string&
|
|
104
|
+
#endif
|
|
72
105
|
Ice::Object::ice_id(const Current&) const
|
|
73
106
|
{
|
|
74
|
-
return
|
|
107
|
+
return object_ids[0];
|
|
75
108
|
}
|
|
76
109
|
|
|
77
110
|
const ::std::string&
|
|
78
111
|
Ice::Object::ice_staticId()
|
|
79
112
|
{
|
|
80
|
-
return
|
|
113
|
+
return object_ids[0];
|
|
81
114
|
}
|
|
82
115
|
|
|
116
|
+
#ifndef ICE_CPP11_MAPPING
|
|
83
117
|
Ice::ObjectPtr
|
|
84
118
|
Ice::Object::ice_clone() const
|
|
85
119
|
{
|
|
@@ -87,191 +121,167 @@ Ice::Object::ice_clone() const
|
|
|
87
121
|
return 0; // avoid warning with some compilers
|
|
88
122
|
}
|
|
89
123
|
|
|
90
|
-
|
|
91
|
-
Ice::Object::
|
|
92
|
-
{
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
void
|
|
96
|
-
Ice::Object::ice_postUnmarshal()
|
|
97
|
-
{
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
DispatchStatus
|
|
101
|
-
Ice::Object::___ice_isA(Incoming& __inS, const Current& __current)
|
|
124
|
+
Ice::SlicedDataPtr
|
|
125
|
+
Ice::Object::ice_getSlicedData() const
|
|
102
126
|
{
|
|
103
|
-
|
|
104
|
-
string __id;
|
|
105
|
-
__is->read(__id, false);
|
|
106
|
-
__inS.endReadParams();
|
|
107
|
-
bool __ret = ice_isA(__id, __current);
|
|
108
|
-
BasicStream* __os = __inS.__startWriteParams(DefaultFormat);
|
|
109
|
-
__os->write(__ret);
|
|
110
|
-
__inS.__endWriteParams(true);
|
|
111
|
-
return DispatchOK;
|
|
127
|
+
return 0;
|
|
112
128
|
}
|
|
129
|
+
#endif
|
|
113
130
|
|
|
114
|
-
|
|
115
|
-
Ice::Object::
|
|
116
|
-
{
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
131
|
+
bool
|
|
132
|
+
Ice::Object::_iceD_ice_isA(Incoming& inS, const Current& current)
|
|
133
|
+
{
|
|
134
|
+
InputStream* istr = inS.startReadParams();
|
|
135
|
+
string iceP_id;
|
|
136
|
+
istr->read(iceP_id, false);
|
|
137
|
+
inS.endReadParams();
|
|
138
|
+
#ifdef ICE_CPP11_MAPPING
|
|
139
|
+
bool ret = ice_isA(move(iceP_id), current);
|
|
140
|
+
#else
|
|
141
|
+
bool ret = ice_isA(iceP_id, current);
|
|
142
|
+
#endif
|
|
143
|
+
OutputStream* ostr = inS.startWriteParams();
|
|
144
|
+
ostr->write(ret);
|
|
145
|
+
inS.endWriteParams();
|
|
146
|
+
return true;
|
|
121
147
|
}
|
|
122
148
|
|
|
123
|
-
|
|
124
|
-
Ice::Object::
|
|
149
|
+
bool
|
|
150
|
+
Ice::Object::_iceD_ice_ping(Incoming& inS, const Current& current)
|
|
125
151
|
{
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
__inS.__endWriteParams(true);
|
|
131
|
-
return DispatchOK;
|
|
152
|
+
inS.readEmptyParams();
|
|
153
|
+
ice_ping(current);
|
|
154
|
+
inS.writeEmptyParams();
|
|
155
|
+
return true;
|
|
132
156
|
}
|
|
133
157
|
|
|
134
|
-
|
|
135
|
-
Ice::Object::
|
|
158
|
+
bool
|
|
159
|
+
Ice::Object::_iceD_ice_ids(Incoming& inS, const Current& current)
|
|
136
160
|
{
|
|
137
|
-
|
|
138
|
-
string
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return
|
|
161
|
+
inS.readEmptyParams();
|
|
162
|
+
vector<string> ret = ice_ids(current);
|
|
163
|
+
OutputStream* ostr = inS.startWriteParams();
|
|
164
|
+
ostr->write(&ret[0], &ret[0] + ret.size(), false);
|
|
165
|
+
inS.endWriteParams();
|
|
166
|
+
return true;
|
|
143
167
|
}
|
|
144
168
|
|
|
145
|
-
|
|
146
|
-
Ice::Object::
|
|
169
|
+
bool
|
|
170
|
+
Ice::Object::_iceD_ice_id(Incoming& inS, const Current& current)
|
|
147
171
|
{
|
|
148
|
-
|
|
172
|
+
inS.readEmptyParams();
|
|
173
|
+
string ret = ice_id(current);
|
|
174
|
+
OutputStream* ostr = inS.startWriteParams();
|
|
175
|
+
ostr->write(ret, false);
|
|
176
|
+
inS.endWriteParams();
|
|
177
|
+
return true;
|
|
149
178
|
}
|
|
150
179
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
"ice_ids",
|
|
156
|
-
"ice_isA",
|
|
157
|
-
"ice_ping"
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
DispatchStatus
|
|
180
|
+
bool
|
|
181
|
+
#ifdef ICE_CPP11_MAPPING
|
|
182
|
+
Ice::Object::ice_dispatch(Request& request, std::function<bool()> r, std::function<bool(std::exception_ptr)> e)
|
|
183
|
+
#else
|
|
162
184
|
Ice::Object::ice_dispatch(Request& request, const DispatchInterceptorAsyncCallbackPtr& cb)
|
|
185
|
+
#endif
|
|
163
186
|
{
|
|
164
|
-
|
|
187
|
+
IceInternal::Incoming& in = dynamic_cast<IceInternal::IncomingRequest&>(request)._in;
|
|
188
|
+
in.startOver();
|
|
189
|
+
#ifdef ICE_CPP11_MAPPING
|
|
190
|
+
if(r || e)
|
|
191
|
+
{
|
|
192
|
+
in.push(r, e);
|
|
193
|
+
#else
|
|
194
|
+
if(cb)
|
|
165
195
|
{
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
_cb(cb)
|
|
196
|
+
in.push(cb);
|
|
197
|
+
#endif
|
|
198
|
+
try
|
|
170
199
|
{
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}
|
|
200
|
+
bool sync = _iceDispatch(in, in.getCurrent());
|
|
201
|
+
in.pop();
|
|
202
|
+
return sync;
|
|
175
203
|
}
|
|
176
|
-
|
|
177
|
-
~PushCb()
|
|
204
|
+
catch(...)
|
|
178
205
|
{
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
_in.pop();
|
|
182
|
-
}
|
|
206
|
+
in.pop();
|
|
207
|
+
throw;
|
|
183
208
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
IceInternal::Incoming& in = dynamic_cast<IceInternal::IncomingRequest&>(request)._in;
|
|
191
|
-
|
|
192
|
-
PushCb pusbCb(in, cb);
|
|
193
|
-
in.startOver(); // may raise ResponseSentException
|
|
194
|
-
return __dispatch(in, in.getCurrent());
|
|
209
|
+
}
|
|
210
|
+
else
|
|
211
|
+
{
|
|
212
|
+
return _iceDispatch(in, in.getCurrent());
|
|
213
|
+
}
|
|
195
214
|
}
|
|
196
215
|
|
|
197
|
-
|
|
198
|
-
Ice::Object::
|
|
216
|
+
bool
|
|
217
|
+
Ice::Object::_iceDispatch(Incoming& in, const Current& current)
|
|
199
218
|
{
|
|
200
|
-
pair<string*, string*> r =
|
|
201
|
-
equal_range(__all, __all + sizeof(__all) / sizeof(string), current.operation);
|
|
219
|
+
pair<const string*, const string*> r = equal_range(object_all, object_all + sizeof(object_all) / sizeof(string), current.operation);
|
|
202
220
|
|
|
203
221
|
if(r.first == r.second)
|
|
204
222
|
{
|
|
205
223
|
throw OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
|
|
206
|
-
}
|
|
224
|
+
}
|
|
207
225
|
|
|
208
|
-
switch(r.first -
|
|
226
|
+
switch(r.first - object_all)
|
|
209
227
|
{
|
|
210
228
|
case 0:
|
|
211
229
|
{
|
|
212
|
-
return
|
|
230
|
+
return _iceD_ice_id(in, current);
|
|
213
231
|
}
|
|
214
232
|
case 1:
|
|
215
233
|
{
|
|
216
|
-
return
|
|
234
|
+
return _iceD_ice_ids(in, current);
|
|
217
235
|
}
|
|
218
236
|
case 2:
|
|
219
237
|
{
|
|
220
|
-
return
|
|
238
|
+
return _iceD_ice_isA(in, current);
|
|
221
239
|
}
|
|
222
240
|
case 3:
|
|
223
241
|
{
|
|
224
|
-
return
|
|
242
|
+
return _iceD_ice_ping(in, current);
|
|
243
|
+
}
|
|
244
|
+
default:
|
|
245
|
+
{
|
|
246
|
+
assert(false);
|
|
247
|
+
throw OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
|
|
225
248
|
}
|
|
226
249
|
}
|
|
227
|
-
|
|
228
|
-
assert(false);
|
|
229
|
-
throw OperationNotExistException(__FILE__, __LINE__, current.id, current.facet, current.operation);
|
|
230
250
|
}
|
|
231
251
|
|
|
252
|
+
#ifndef ICE_CPP11_MAPPING
|
|
232
253
|
void
|
|
233
|
-
Ice::Object::
|
|
234
|
-
{
|
|
235
|
-
os->startWriteObject(0);
|
|
236
|
-
__writeImpl(os);
|
|
237
|
-
os->endWriteObject();
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
void
|
|
241
|
-
Ice::Object::__read(IceInternal::BasicStream* is)
|
|
254
|
+
Ice::Object::ice_preMarshal()
|
|
242
255
|
{
|
|
243
|
-
is->startReadObject();
|
|
244
|
-
__readImpl(is);
|
|
245
|
-
is->endReadObject(false);
|
|
246
256
|
}
|
|
247
|
-
|
|
248
|
-
void
|
|
249
|
-
Ice::Object::
|
|
257
|
+
|
|
258
|
+
void
|
|
259
|
+
Ice::Object::ice_postUnmarshal()
|
|
250
260
|
{
|
|
251
|
-
os->startObject(0);
|
|
252
|
-
__writeImpl(os);
|
|
253
|
-
os->endObject();
|
|
254
261
|
}
|
|
255
|
-
|
|
256
|
-
void
|
|
257
|
-
Ice::Object::
|
|
262
|
+
|
|
263
|
+
void
|
|
264
|
+
Ice::Object::_iceWrite(Ice::OutputStream* os) const
|
|
258
265
|
{
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
266
|
+
os->startValue(0);
|
|
267
|
+
_iceWriteImpl(os);
|
|
268
|
+
os->endValue();
|
|
262
269
|
}
|
|
263
|
-
|
|
264
|
-
void
|
|
265
|
-
Ice::Object::
|
|
270
|
+
|
|
271
|
+
void
|
|
272
|
+
Ice::Object::_iceRead(Ice::InputStream* is)
|
|
266
273
|
{
|
|
267
|
-
|
|
274
|
+
is->startValue();
|
|
275
|
+
_iceReadImpl(is);
|
|
276
|
+
is->endValue(false);
|
|
268
277
|
}
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
Ice::Object::
|
|
278
|
+
|
|
279
|
+
Ice::Int
|
|
280
|
+
Ice::Object::ice_operationAttributes(const string&) const
|
|
272
281
|
{
|
|
273
|
-
|
|
282
|
+
return 0;
|
|
274
283
|
}
|
|
284
|
+
#endif
|
|
275
285
|
|
|
276
286
|
namespace
|
|
277
287
|
{
|
|
@@ -281,34 +291,41 @@ operationModeToString(OperationMode mode)
|
|
|
281
291
|
{
|
|
282
292
|
switch(mode)
|
|
283
293
|
{
|
|
284
|
-
case Normal:
|
|
294
|
+
case ICE_ENUM(OperationMode, Normal):
|
|
285
295
|
return "::Ice::Normal";
|
|
286
296
|
|
|
287
|
-
case Nonmutating:
|
|
297
|
+
case ICE_ENUM(OperationMode, Nonmutating):
|
|
288
298
|
return "::Ice::Nonmutating";
|
|
289
299
|
|
|
290
|
-
case Idempotent:
|
|
300
|
+
case ICE_ENUM(OperationMode, Idempotent):
|
|
291
301
|
return "::Ice::Idempotent";
|
|
292
302
|
}
|
|
293
|
-
|
|
303
|
+
//
|
|
304
|
+
// This could not happen with C++11 strong type enums
|
|
305
|
+
//
|
|
306
|
+
#ifdef ICE_CPP11_MAPPING
|
|
307
|
+
assert(false);
|
|
308
|
+
return "";
|
|
309
|
+
#else
|
|
294
310
|
ostringstream os;
|
|
295
311
|
os << "unknown value (" << mode << ")";
|
|
296
312
|
return os.str();
|
|
313
|
+
#endif
|
|
297
314
|
}
|
|
298
315
|
|
|
299
316
|
}
|
|
300
317
|
|
|
301
318
|
void
|
|
302
|
-
Ice::Object::
|
|
319
|
+
Ice::Object::_iceCheckMode(OperationMode expected, OperationMode received)
|
|
303
320
|
{
|
|
304
321
|
if(expected != received)
|
|
305
322
|
{
|
|
306
|
-
if(expected == Idempotent && received == Nonmutating)
|
|
323
|
+
if(expected == ICE_ENUM(OperationMode, Idempotent) && received == ICE_ENUM(OperationMode, Nonmutating))
|
|
307
324
|
{
|
|
308
|
-
//
|
|
325
|
+
//
|
|
309
326
|
// Fine: typically an old client still using the deprecated nonmutating keyword
|
|
310
327
|
//
|
|
311
|
-
|
|
328
|
+
|
|
312
329
|
//
|
|
313
330
|
// Note that expected == Nonmutating and received == Idempotent is not ok:
|
|
314
331
|
// the server may still use the deprecated nonmutating keyword to detect updates
|
|
@@ -318,19 +335,19 @@ Ice::Object::__checkMode(OperationMode expected, OperationMode received)
|
|
|
318
335
|
else
|
|
319
336
|
{
|
|
320
337
|
Ice::MarshalException ex(__FILE__, __LINE__);
|
|
321
|
-
std::ostringstream
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
ex.reason =
|
|
338
|
+
std::ostringstream reason;
|
|
339
|
+
reason << "unexpected operation mode. expected = "
|
|
340
|
+
<< operationModeToString(expected)
|
|
341
|
+
<< " received = "
|
|
342
|
+
<< operationModeToString(received);
|
|
343
|
+
ex.reason = reason.str();
|
|
327
344
|
throw ex;
|
|
328
345
|
}
|
|
329
346
|
}
|
|
330
347
|
}
|
|
331
348
|
|
|
332
|
-
|
|
333
|
-
Ice::Blobject::
|
|
349
|
+
bool
|
|
350
|
+
Ice::Blobject::_iceDispatch(Incoming& in, const Current& current)
|
|
334
351
|
{
|
|
335
352
|
const Byte* inEncaps;
|
|
336
353
|
Int sz;
|
|
@@ -339,24 +356,17 @@ Ice::Blobject::__dispatch(Incoming& in, const Current& current)
|
|
|
339
356
|
bool ok = ice_invoke(vector<Byte>(inEncaps, inEncaps + sz), outEncaps, current);
|
|
340
357
|
if(outEncaps.empty())
|
|
341
358
|
{
|
|
342
|
-
in.
|
|
343
|
-
}
|
|
344
|
-
else
|
|
345
|
-
{
|
|
346
|
-
in.__writeParamEncaps(&outEncaps[0], static_cast<Ice::Int>(outEncaps.size()), ok);
|
|
347
|
-
}
|
|
348
|
-
if(ok)
|
|
349
|
-
{
|
|
350
|
-
return DispatchOK;
|
|
359
|
+
in.writeParamEncaps(0, 0, ok);
|
|
351
360
|
}
|
|
352
361
|
else
|
|
353
362
|
{
|
|
354
|
-
|
|
363
|
+
in.writeParamEncaps(&outEncaps[0], static_cast<Ice::Int>(outEncaps.size()), ok);
|
|
355
364
|
}
|
|
365
|
+
return true;
|
|
356
366
|
}
|
|
357
367
|
|
|
358
|
-
|
|
359
|
-
Ice::BlobjectArray::
|
|
368
|
+
bool
|
|
369
|
+
Ice::BlobjectArray::_iceDispatch(Incoming& in, const Current& current)
|
|
360
370
|
{
|
|
361
371
|
pair<const Byte*, const Byte*> inEncaps;
|
|
362
372
|
Int sz;
|
|
@@ -366,75 +376,61 @@ Ice::BlobjectArray::__dispatch(Incoming& in, const Current& current)
|
|
|
366
376
|
bool ok = ice_invoke(inEncaps, outEncaps, current);
|
|
367
377
|
if(outEncaps.empty())
|
|
368
378
|
{
|
|
369
|
-
in.
|
|
370
|
-
}
|
|
371
|
-
else
|
|
372
|
-
{
|
|
373
|
-
in.__writeParamEncaps(&outEncaps[0], static_cast<Ice::Int>(outEncaps.size()), ok);
|
|
374
|
-
}
|
|
375
|
-
if(ok)
|
|
376
|
-
{
|
|
377
|
-
return DispatchOK;
|
|
379
|
+
in.writeParamEncaps(0, 0, ok);
|
|
378
380
|
}
|
|
379
381
|
else
|
|
380
382
|
{
|
|
381
|
-
|
|
383
|
+
in.writeParamEncaps(&outEncaps[0], static_cast<Ice::Int>(outEncaps.size()), ok);
|
|
382
384
|
}
|
|
385
|
+
return true;
|
|
383
386
|
}
|
|
384
387
|
|
|
385
|
-
|
|
386
|
-
Ice::BlobjectAsync::
|
|
388
|
+
bool
|
|
389
|
+
Ice::BlobjectAsync::_iceDispatch(Incoming& in, const Current& current)
|
|
387
390
|
{
|
|
388
391
|
const Byte* inEncaps;
|
|
389
392
|
Int sz;
|
|
390
393
|
in.readParamEncaps(inEncaps, sz);
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
394
|
+
#ifdef ICE_CPP11_MAPPING
|
|
395
|
+
auto async = IncomingAsync::create(in);
|
|
396
|
+
ice_invokeAsync(vector<Byte>(inEncaps, inEncaps + sz),
|
|
397
|
+
[async](bool ok, const vector<Byte>& outEncaps)
|
|
398
|
+
{
|
|
399
|
+
if(outEncaps.empty())
|
|
400
|
+
{
|
|
401
|
+
async->writeParamEncaps(0, 0, ok);
|
|
402
|
+
}
|
|
403
|
+
else
|
|
404
|
+
{
|
|
405
|
+
async->writeParamEncaps(&outEncaps[0], static_cast<Int>(outEncaps.size()), ok);
|
|
406
|
+
}
|
|
407
|
+
async->completed();
|
|
408
|
+
},
|
|
409
|
+
async->exception(), current);
|
|
410
|
+
#else
|
|
411
|
+
ice_invoke_async(new ::IceAsync::Ice::AMD_Object_ice_invoke(in), vector<Byte>(inEncaps, inEncaps + sz), current);
|
|
412
|
+
#endif
|
|
413
|
+
return false;
|
|
405
414
|
}
|
|
406
415
|
|
|
407
|
-
|
|
408
|
-
Ice::BlobjectArrayAsync::
|
|
416
|
+
bool
|
|
417
|
+
Ice::BlobjectArrayAsync::_iceDispatch(Incoming& in, const Current& current)
|
|
409
418
|
{
|
|
410
419
|
pair<const Byte*, const Byte*> inEncaps;
|
|
411
420
|
Int sz;
|
|
412
421
|
in.readParamEncaps(inEncaps.first, sz);
|
|
413
422
|
inEncaps.second = inEncaps.first + sz;
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
return DispatchAsync;
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
void
|
|
431
|
-
Ice::ice_writeObject(const OutputStreamPtr& out, const ObjectPtr& p)
|
|
432
|
-
{
|
|
433
|
-
out->write(p);
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
void
|
|
437
|
-
Ice::ice_readObject(const InputStreamPtr& in, ObjectPtr& p)
|
|
438
|
-
{
|
|
439
|
-
in->read(p);
|
|
423
|
+
#ifdef ICE_CPP11_MAPPING
|
|
424
|
+
auto async = IncomingAsync::create(in);
|
|
425
|
+
ice_invokeAsync(inEncaps,
|
|
426
|
+
[async](bool ok, const pair<const Byte*, const Byte*>& outE)
|
|
427
|
+
{
|
|
428
|
+
async->writeParamEncaps(outE.first, static_cast<Int>(outE.second - outE.first), ok);
|
|
429
|
+
async->completed();
|
|
430
|
+
},
|
|
431
|
+
async->exception(), current);
|
|
432
|
+
#else
|
|
433
|
+
ice_invoke_async(new ::IceAsync::Ice::AMD_Object_ice_invoke(in), inEncaps, current);
|
|
434
|
+
#endif
|
|
435
|
+
return false;
|
|
440
436
|
}
|