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.
|
|
@@ -12,14 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
#include <IceUtil/Monitor.h>
|
|
14
14
|
#include <IceUtil/Mutex.h>
|
|
15
|
-
#include <
|
|
15
|
+
#include <Ice/UniquePtr.h>
|
|
16
16
|
|
|
17
17
|
#include <Ice/ConnectRequestHandlerF.h>
|
|
18
18
|
#include <Ice/RequestHandler.h>
|
|
19
19
|
#include <Ice/Reference.h>
|
|
20
20
|
#include <Ice/RouterInfo.h>
|
|
21
21
|
#include <Ice/ProxyF.h>
|
|
22
|
-
#include <Ice/BasicStream.h>
|
|
23
22
|
|
|
24
23
|
#include <deque>
|
|
25
24
|
#include <set>
|
|
@@ -31,19 +30,19 @@ class ConnectRequestHandler : public RequestHandler,
|
|
|
31
30
|
public Reference::GetConnectionCallback,
|
|
32
31
|
public RouterInfo::AddProxyCallback,
|
|
33
32
|
public IceUtil::Monitor<IceUtil::Mutex>
|
|
33
|
+
#ifdef ICE_CPP11_MAPPING
|
|
34
|
+
, public std::enable_shared_from_this<ConnectRequestHandler>
|
|
35
|
+
#endif
|
|
34
36
|
{
|
|
35
37
|
public:
|
|
36
38
|
|
|
37
|
-
ConnectRequestHandler(const ReferencePtr&, const Ice::
|
|
38
|
-
virtual ~ConnectRequestHandler();
|
|
39
|
+
ConnectRequestHandler(const ReferencePtr&, const Ice::ObjectPrxPtr&);
|
|
39
40
|
|
|
40
|
-
RequestHandlerPtr connect(const Ice::
|
|
41
|
+
RequestHandlerPtr connect(const Ice::ObjectPrxPtr&);
|
|
41
42
|
virtual RequestHandlerPtr update(const RequestHandlerPtr&, const RequestHandlerPtr&);
|
|
42
43
|
|
|
43
|
-
virtual bool sendRequest(ProxyOutgoingBase*);
|
|
44
44
|
virtual AsyncStatus sendAsyncRequest(const ProxyOutgoingAsyncBasePtr&);
|
|
45
45
|
|
|
46
|
-
virtual void requestCanceled(OutgoingBase*, const Ice::LocalException&);
|
|
47
46
|
virtual void asyncRequestCanceled(const OutgoingAsyncBasePtr&, const Ice::LocalException&);
|
|
48
47
|
|
|
49
48
|
virtual Ice::ConnectionIPtr getConnection();
|
|
@@ -59,26 +58,16 @@ private:
|
|
|
59
58
|
bool initialized();
|
|
60
59
|
void flushRequests();
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
Request() : out(0)
|
|
65
|
-
{
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
ProxyOutgoingBase* out;
|
|
69
|
-
ProxyOutgoingAsyncBasePtr outAsync;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
Ice::ObjectPrx _proxy;
|
|
73
|
-
std::set<Ice::ObjectPrx> _proxies;
|
|
61
|
+
Ice::ObjectPrxPtr _proxy;
|
|
62
|
+
std::set<Ice::ObjectPrxPtr> _proxies;
|
|
74
63
|
|
|
75
64
|
Ice::ConnectionIPtr _connection;
|
|
76
65
|
bool _compress;
|
|
77
|
-
|
|
66
|
+
IceInternal::UniquePtr<Ice::LocalException> _exception;
|
|
78
67
|
bool _initialized;
|
|
79
68
|
bool _flushing;
|
|
80
69
|
|
|
81
|
-
std::deque<
|
|
70
|
+
std::deque<ProxyOutgoingAsyncBasePtr> _requests;
|
|
82
71
|
|
|
83
72
|
RequestHandlerPtr _requestHandler;
|
|
84
73
|
};
|
|
@@ -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,8 +17,12 @@ namespace IceInternal
|
|
|
17
17
|
{
|
|
18
18
|
|
|
19
19
|
class ConnectRequestHandler;
|
|
20
|
-
|
|
20
|
+
#ifdef ICE_CPP11_MAPPING
|
|
21
|
+
using ConnectRequestHandlerPtr = ::std::shared_ptr<ConnectRequestHandler>;
|
|
22
|
+
#else
|
|
23
|
+
IceUtil::Shared* upCast(ConnectRequestHandler*);
|
|
21
24
|
typedef IceInternal::Handle<ConnectRequestHandler> ConnectRequestHandlerPtr;
|
|
25
|
+
#endif
|
|
22
26
|
|
|
23
27
|
}
|
|
24
28
|
|
|
@@ -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,42 +23,122 @@
|
|
|
23
23
|
#endif
|
|
24
24
|
#include <Ice/Connection.h>
|
|
25
25
|
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
-
#include <Ice/
|
|
27
|
-
#include <Ice/
|
|
28
|
-
#include <IceUtil/Iterator.h>
|
|
26
|
+
#include <Ice/InputStream.h>
|
|
27
|
+
#include <Ice/OutputStream.h>
|
|
29
28
|
#include <IceUtil/PopDisableWarnings.h>
|
|
30
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
|
+
|
|
31
38
|
#ifndef ICE_IGNORE_VERSION
|
|
32
|
-
# if ICE_INT_VERSION / 100 !=
|
|
39
|
+
# if ICE_INT_VERSION / 100 != 307
|
|
33
40
|
# error Ice version mismatch!
|
|
34
41
|
# endif
|
|
35
42
|
# if ICE_INT_VERSION % 100 > 50
|
|
36
43
|
# error Beta header file detected
|
|
37
44
|
# endif
|
|
38
|
-
# if ICE_INT_VERSION % 100 <
|
|
45
|
+
# if ICE_INT_VERSION % 100 < 0
|
|
39
46
|
# error Ice patch level mismatch!
|
|
40
47
|
# endif
|
|
41
48
|
#endif
|
|
42
49
|
|
|
50
|
+
#ifdef ICE_CPP11_MAPPING // C++11 mapping
|
|
51
|
+
|
|
43
52
|
namespace
|
|
44
53
|
{
|
|
45
54
|
|
|
46
55
|
}
|
|
47
56
|
|
|
57
|
+
Ice::ConnectionInfo::~ConnectionInfo()
|
|
58
|
+
{
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Ice::Connection::~Connection()
|
|
62
|
+
{
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
Ice::IPConnectionInfo::~IPConnectionInfo()
|
|
66
|
+
{
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
Ice::TCPConnectionInfo::~TCPConnectionInfo()
|
|
70
|
+
{
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
Ice::UDPConnectionInfo::~UDPConnectionInfo()
|
|
74
|
+
{
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
Ice::WSConnectionInfo::~WSConnectionInfo()
|
|
78
|
+
{
|
|
79
|
+
}
|
|
80
|
+
|
|
48
81
|
namespace Ice
|
|
49
82
|
{
|
|
50
83
|
}
|
|
51
84
|
|
|
85
|
+
#else // C++98 mapping
|
|
86
|
+
|
|
87
|
+
namespace
|
|
88
|
+
{
|
|
89
|
+
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
Ice::ConnectionInfo::~ConnectionInfo()
|
|
93
|
+
{
|
|
94
|
+
}
|
|
95
|
+
|
|
52
96
|
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::ConnectionInfo* p) { return p; }
|
|
53
97
|
|
|
54
|
-
|
|
98
|
+
Ice::CloseCallback::~CloseCallback()
|
|
99
|
+
{
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::CloseCallback* p) { return p; }
|
|
103
|
+
|
|
104
|
+
Ice::HeartbeatCallback::~HeartbeatCallback()
|
|
105
|
+
{
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::HeartbeatCallback* p) { return p; }
|
|
109
|
+
|
|
110
|
+
Ice::Connection::~Connection()
|
|
111
|
+
{
|
|
112
|
+
}
|
|
55
113
|
|
|
56
114
|
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::Connection* p) { return p; }
|
|
57
115
|
|
|
116
|
+
Ice::IPConnectionInfo::~IPConnectionInfo()
|
|
117
|
+
{
|
|
118
|
+
}
|
|
119
|
+
|
|
58
120
|
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::IPConnectionInfo* p) { return p; }
|
|
59
121
|
|
|
122
|
+
Ice::TCPConnectionInfo::~TCPConnectionInfo()
|
|
123
|
+
{
|
|
124
|
+
}
|
|
125
|
+
|
|
60
126
|
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::TCPConnectionInfo* p) { return p; }
|
|
61
127
|
|
|
128
|
+
Ice::UDPConnectionInfo::~UDPConnectionInfo()
|
|
129
|
+
{
|
|
130
|
+
}
|
|
131
|
+
|
|
62
132
|
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::UDPConnectionInfo* p) { return p; }
|
|
63
133
|
|
|
134
|
+
Ice::WSConnectionInfo::~WSConnectionInfo()
|
|
135
|
+
{
|
|
136
|
+
}
|
|
137
|
+
|
|
64
138
|
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::WSConnectionInfo* p) { return p; }
|
|
139
|
+
|
|
140
|
+
namespace Ice
|
|
141
|
+
{
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
#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/ConnectionF.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.
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
#include <Ice/LocalException.h>
|
|
26
26
|
#include <Ice/Functional.h>
|
|
27
27
|
#include <Ice/OutgoingAsync.h>
|
|
28
|
+
#include <Ice/CommunicatorI.h>
|
|
28
29
|
#include <IceUtil/Random.h>
|
|
29
30
|
#include <iterator>
|
|
30
31
|
|
|
@@ -32,8 +33,8 @@
|
|
|
32
33
|
namespace IceInternal
|
|
33
34
|
{
|
|
34
35
|
|
|
35
|
-
bool registerForBackgroundNotification(IceInternal::
|
|
36
|
-
void unregisterForBackgroundNotification(IceInternal::
|
|
36
|
+
bool registerForBackgroundNotification(const IceInternal::IncomingConnectionFactoryPtr&);
|
|
37
|
+
void unregisterForBackgroundNotification(const IceInternal::IncomingConnectionFactoryPtr&);
|
|
37
38
|
|
|
38
39
|
}
|
|
39
40
|
#endif
|
|
@@ -44,7 +45,10 @@ using namespace Ice::Instrumentation;
|
|
|
44
45
|
using namespace IceInternal;
|
|
45
46
|
|
|
46
47
|
IceUtil::Shared* IceInternal::upCast(OutgoingConnectionFactory* p) { return p; }
|
|
48
|
+
|
|
49
|
+
#ifndef ICE_CPP11_MAPPING
|
|
47
50
|
IceUtil::Shared* IceInternal::upCast(IncomingConnectionFactory* p) { return p; }
|
|
51
|
+
#endif
|
|
48
52
|
|
|
49
53
|
namespace
|
|
50
54
|
{
|
|
@@ -57,6 +61,38 @@ struct RandomNumberGenerator : public std::unary_function<ptrdiff_t, ptrdiff_t>
|
|
|
57
61
|
}
|
|
58
62
|
};
|
|
59
63
|
|
|
64
|
+
#ifdef ICE_CPP11_MAPPING
|
|
65
|
+
template <typename Map> void
|
|
66
|
+
remove(Map& m, const typename Map::key_type& k, const typename Map::mapped_type& v)
|
|
67
|
+
{
|
|
68
|
+
auto pr = m.equal_range(k);
|
|
69
|
+
assert(pr.first != pr.second);
|
|
70
|
+
for(auto q = pr.first; q != pr.second; ++q)
|
|
71
|
+
{
|
|
72
|
+
if(q->second.get() == v.get())
|
|
73
|
+
{
|
|
74
|
+
m.erase(q);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
assert(false); // Nothing was removed which is an error.
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
template<typename Map, typename Predicate> typename Map::mapped_type
|
|
82
|
+
find(const Map& m, const typename Map::key_type& k, Predicate predicate)
|
|
83
|
+
{
|
|
84
|
+
auto pr = m.equal_range(k);
|
|
85
|
+
for(auto q = pr.first; q != pr.second; ++q)
|
|
86
|
+
{
|
|
87
|
+
if(predicate(q->second))
|
|
88
|
+
{
|
|
89
|
+
return q->second;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return nullptr;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
#else
|
|
60
96
|
template <typename K, typename V> void
|
|
61
97
|
remove(multimap<K, V>& m, K k, V v)
|
|
62
98
|
{
|
|
@@ -89,6 +125,26 @@ find(const multimap<K,::IceInternal::Handle<V> >& m,
|
|
|
89
125
|
}
|
|
90
126
|
return IceInternal::Handle<V>();
|
|
91
127
|
}
|
|
128
|
+
#endif
|
|
129
|
+
|
|
130
|
+
class StartAcceptor : public IceUtil::TimerTask
|
|
131
|
+
{
|
|
132
|
+
public:
|
|
133
|
+
|
|
134
|
+
StartAcceptor(const IncomingConnectionFactoryPtr& factory) : _factory(factory)
|
|
135
|
+
{
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
void
|
|
139
|
+
runTimerTask()
|
|
140
|
+
{
|
|
141
|
+
_factory->startAcceptor();
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
private:
|
|
145
|
+
|
|
146
|
+
IncomingConnectionFactoryPtr _factory;
|
|
147
|
+
};
|
|
92
148
|
|
|
93
149
|
}
|
|
94
150
|
|
|
@@ -173,7 +229,8 @@ IceInternal::OutgoingConnectionFactory::waitUntilFinished()
|
|
|
173
229
|
}
|
|
174
230
|
|
|
175
231
|
void
|
|
176
|
-
IceInternal::OutgoingConnectionFactory::create(const vector<EndpointIPtr>& endpts,
|
|
232
|
+
IceInternal::OutgoingConnectionFactory::create(const vector<EndpointIPtr>& endpts,
|
|
233
|
+
bool hasMore,
|
|
177
234
|
Ice::EndpointSelectionType selType,
|
|
178
235
|
const CreateConnectionCallbackPtr& callback)
|
|
179
236
|
{
|
|
@@ -203,7 +260,11 @@ IceInternal::OutgoingConnectionFactory::create(const vector<EndpointIPtr>& endpt
|
|
|
203
260
|
return;
|
|
204
261
|
}
|
|
205
262
|
|
|
263
|
+
#ifdef ICE_CPP11_MAPPING
|
|
264
|
+
auto cb = make_shared<ConnectCallback>(_instance, this, endpoints, hasMore, callback, selType);
|
|
265
|
+
#else
|
|
206
266
|
ConnectCallbackPtr cb = new ConnectCallback(_instance, this, endpoints, hasMore, callback, selType);
|
|
267
|
+
#endif
|
|
207
268
|
cb->getConnectors();
|
|
208
269
|
}
|
|
209
270
|
|
|
@@ -281,7 +342,8 @@ IceInternal::OutgoingConnectionFactory::removeAdapter(const ObjectAdapterPtr& ad
|
|
|
281
342
|
}
|
|
282
343
|
|
|
283
344
|
void
|
|
284
|
-
IceInternal::OutgoingConnectionFactory::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr& outAsync
|
|
345
|
+
IceInternal::OutgoingConnectionFactory::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr& outAsync,
|
|
346
|
+
Ice::CompressBatch compress)
|
|
285
347
|
{
|
|
286
348
|
list<ConnectionIPtr> c;
|
|
287
349
|
|
|
@@ -301,7 +363,7 @@ IceInternal::OutgoingConnectionFactory::flushAsyncBatchRequests(const Communicat
|
|
|
301
363
|
{
|
|
302
364
|
try
|
|
303
365
|
{
|
|
304
|
-
outAsync->flushConnection(*p);
|
|
366
|
+
outAsync->flushConnection(*p, compress);
|
|
305
367
|
}
|
|
306
368
|
catch(const LocalException&)
|
|
307
369
|
{
|
|
@@ -550,8 +612,8 @@ IceInternal::OutgoingConnectionFactory::createConnection(const TransceiverPtr& t
|
|
|
550
612
|
throw Ice::CommunicatorDestroyedException(__FILE__, __LINE__);
|
|
551
613
|
}
|
|
552
614
|
|
|
553
|
-
connection =
|
|
554
|
-
|
|
615
|
+
connection = ConnectionI::create(_communicator, _instance, _monitor, transceiver, ci.connector,
|
|
616
|
+
ci.endpoint->compress(false), ICE_NULLPTR);
|
|
555
617
|
}
|
|
556
618
|
catch(const Ice::LocalException&)
|
|
557
619
|
{
|
|
@@ -752,9 +814,9 @@ void
|
|
|
752
814
|
IceInternal::OutgoingConnectionFactory::handleException(const LocalException& ex, bool hasMore)
|
|
753
815
|
{
|
|
754
816
|
TraceLevelsPtr traceLevels = _instance->traceLevels();
|
|
755
|
-
if(traceLevels->
|
|
817
|
+
if(traceLevels->network >= 2)
|
|
756
818
|
{
|
|
757
|
-
Trace out(_instance->initializationData().logger, traceLevels->
|
|
819
|
+
Trace out(_instance->initializationData().logger, traceLevels->networkCat);
|
|
758
820
|
|
|
759
821
|
out << "couldn't resolve endpoint host";
|
|
760
822
|
if(dynamic_cast<const CommunicatorDestroyedException*>(&ex))
|
|
@@ -780,9 +842,9 @@ void
|
|
|
780
842
|
IceInternal::OutgoingConnectionFactory::handleConnectionException(const LocalException& ex, bool hasMore)
|
|
781
843
|
{
|
|
782
844
|
TraceLevelsPtr traceLevels = _instance->traceLevels();
|
|
783
|
-
if(traceLevels->
|
|
845
|
+
if(traceLevels->network >= 2)
|
|
784
846
|
{
|
|
785
|
-
Trace out(_instance->initializationData().logger, traceLevels->
|
|
847
|
+
Trace out(_instance->initializationData().logger, traceLevels->networkCat);
|
|
786
848
|
|
|
787
849
|
out << "connection to endpoint failed";
|
|
788
850
|
if(dynamic_cast<const CommunicatorDestroyedException*>(&ex))
|
|
@@ -832,7 +894,7 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartComplete
|
|
|
832
894
|
}
|
|
833
895
|
|
|
834
896
|
connection->activate();
|
|
835
|
-
_factory->finishGetConnection(_connectors, *_iter, connection,
|
|
897
|
+
_factory->finishGetConnection(_connectors, *_iter, connection, ICE_SHARED_FROM_THIS);
|
|
836
898
|
}
|
|
837
899
|
|
|
838
900
|
void
|
|
@@ -925,7 +987,8 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::nextEndpoint()
|
|
|
925
987
|
try
|
|
926
988
|
{
|
|
927
989
|
assert(_endpointsIter != _endpoints.end());
|
|
928
|
-
(*_endpointsIter)->connectors_async(_selType,
|
|
990
|
+
(*_endpointsIter)->connectors_async(_selType, ICE_SHARED_FROM_THIS);
|
|
991
|
+
|
|
929
992
|
}
|
|
930
993
|
catch(const Ice::LocalException& ex)
|
|
931
994
|
{
|
|
@@ -943,7 +1006,7 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::getConnection()
|
|
|
943
1006
|
// connection.
|
|
944
1007
|
//
|
|
945
1008
|
bool compress;
|
|
946
|
-
Ice::ConnectionIPtr connection = _factory->getConnection(_connectors,
|
|
1009
|
+
Ice::ConnectionIPtr connection = _factory->getConnection(_connectors, ICE_SHARED_FROM_THIS, compress);
|
|
947
1010
|
if(!connection)
|
|
948
1011
|
{
|
|
949
1012
|
//
|
|
@@ -991,7 +1054,7 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::nextConnector()
|
|
|
991
1054
|
<< _iter->connector->toString();
|
|
992
1055
|
}
|
|
993
1056
|
Ice::ConnectionIPtr connection = _factory->createConnection(_iter->connector->connect(), *_iter);
|
|
994
|
-
connection->start(
|
|
1057
|
+
connection->start(ICE_SHARED_FROM_THIS);
|
|
995
1058
|
}
|
|
996
1059
|
catch(const Ice::LocalException& ex)
|
|
997
1060
|
{
|
|
@@ -1057,7 +1120,7 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::removeConnectors(const
|
|
|
1057
1120
|
void
|
|
1058
1121
|
IceInternal::OutgoingConnectionFactory::ConnectCallback::removeFromPending()
|
|
1059
1122
|
{
|
|
1060
|
-
_factory->removeFromPending(
|
|
1123
|
+
_factory->removeFromPending(ICE_SHARED_FROM_THIS, _connectors);
|
|
1061
1124
|
}
|
|
1062
1125
|
|
|
1063
1126
|
bool
|
|
@@ -1071,14 +1134,14 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartFailedIm
|
|
|
1071
1134
|
{
|
|
1072
1135
|
if(_observer)
|
|
1073
1136
|
{
|
|
1074
|
-
_observer->failed(ex.
|
|
1137
|
+
_observer->failed(ex.ice_id());
|
|
1075
1138
|
_observer->detach();
|
|
1076
1139
|
}
|
|
1077
1140
|
|
|
1078
1141
|
_factory->handleConnectionException(ex, _hasMore || _iter != _connectors.end() - 1);
|
|
1079
1142
|
if(dynamic_cast<const Ice::CommunicatorDestroyedException*>(&ex)) // No need to continue.
|
|
1080
1143
|
{
|
|
1081
|
-
_factory->finishGetConnection(_connectors, ex,
|
|
1144
|
+
_factory->finishGetConnection(_connectors, ex, ICE_SHARED_FROM_THIS);
|
|
1082
1145
|
}
|
|
1083
1146
|
else if(++_iter != _connectors.end()) // Try the next connector.
|
|
1084
1147
|
{
|
|
@@ -1086,7 +1149,7 @@ IceInternal::OutgoingConnectionFactory::ConnectCallback::connectionStartFailedIm
|
|
|
1086
1149
|
}
|
|
1087
1150
|
else
|
|
1088
1151
|
{
|
|
1089
|
-
_factory->finishGetConnection(_connectors, ex,
|
|
1152
|
+
_factory->finishGetConnection(_connectors, ex, ICE_SHARED_FROM_THIS);
|
|
1090
1153
|
}
|
|
1091
1154
|
return false;
|
|
1092
1155
|
}
|
|
@@ -1202,10 +1265,25 @@ IceInternal::IncomingConnectionFactory::waitUntilFinished()
|
|
|
1202
1265
|
_monitor->destroy();
|
|
1203
1266
|
}
|
|
1204
1267
|
|
|
1268
|
+
bool
|
|
1269
|
+
IceInternal::IncomingConnectionFactory::isLocal(const EndpointIPtr& endpoint) const
|
|
1270
|
+
{
|
|
1271
|
+
if(_publishedEndpoint && endpoint->equivalent(_publishedEndpoint))
|
|
1272
|
+
{
|
|
1273
|
+
return true;
|
|
1274
|
+
}
|
|
1275
|
+
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
1276
|
+
return endpoint->equivalent(_endpoint);
|
|
1277
|
+
}
|
|
1278
|
+
|
|
1205
1279
|
EndpointIPtr
|
|
1206
1280
|
IceInternal::IncomingConnectionFactory::endpoint() const
|
|
1207
1281
|
{
|
|
1208
|
-
|
|
1282
|
+
if(_publishedEndpoint)
|
|
1283
|
+
{
|
|
1284
|
+
return _publishedEndpoint;
|
|
1285
|
+
}
|
|
1286
|
+
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
1209
1287
|
return _endpoint;
|
|
1210
1288
|
}
|
|
1211
1289
|
|
|
@@ -1226,7 +1304,8 @@ IceInternal::IncomingConnectionFactory::connections() const
|
|
|
1226
1304
|
}
|
|
1227
1305
|
|
|
1228
1306
|
void
|
|
1229
|
-
IceInternal::IncomingConnectionFactory::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr& outAsync
|
|
1307
|
+
IceInternal::IncomingConnectionFactory::flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr& outAsync,
|
|
1308
|
+
Ice::CompressBatch compress)
|
|
1230
1309
|
{
|
|
1231
1310
|
list<ConnectionIPtr> c = connections(); // connections() is synchronized, so no need to synchronize here.
|
|
1232
1311
|
|
|
@@ -1234,7 +1313,7 @@ IceInternal::IncomingConnectionFactory::flushAsyncBatchRequests(const Communicat
|
|
|
1234
1313
|
{
|
|
1235
1314
|
try
|
|
1236
1315
|
{
|
|
1237
|
-
outAsync->flushConnection(*p);
|
|
1316
|
+
outAsync->flushConnection(*p, compress);
|
|
1238
1317
|
}
|
|
1239
1318
|
catch(const LocalException&)
|
|
1240
1319
|
{
|
|
@@ -1243,7 +1322,7 @@ IceInternal::IncomingConnectionFactory::flushAsyncBatchRequests(const Communicat
|
|
|
1243
1322
|
}
|
|
1244
1323
|
}
|
|
1245
1324
|
|
|
1246
|
-
#if defined(ICE_USE_IOCP) || defined(
|
|
1325
|
+
#if defined(ICE_USE_IOCP) || defined(ICE_OS_UWP)
|
|
1247
1326
|
bool
|
|
1248
1327
|
IceInternal::IncomingConnectionFactory::startAsync(SocketOperation)
|
|
1249
1328
|
{
|
|
@@ -1259,11 +1338,8 @@ IceInternal::IncomingConnectionFactory::startAsync(SocketOperation)
|
|
|
1259
1338
|
}
|
|
1260
1339
|
catch(const Ice::LocalException& ex)
|
|
1261
1340
|
{
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
out << "can't accept connections:\n" << ex << '\n' << _acceptor->toString();
|
|
1265
|
-
}
|
|
1266
|
-
abort();
|
|
1341
|
+
ICE_SET_EXCEPTION_FROM_CLONE(_acceptorException, ex.ice_clone());
|
|
1342
|
+
_acceptor->getNativeInfo()->completed(SocketOperationRead);
|
|
1267
1343
|
}
|
|
1268
1344
|
return true;
|
|
1269
1345
|
}
|
|
@@ -1274,13 +1350,22 @@ IceInternal::IncomingConnectionFactory::finishAsync(SocketOperation)
|
|
|
1274
1350
|
assert(_acceptor);
|
|
1275
1351
|
try
|
|
1276
1352
|
{
|
|
1353
|
+
if(_acceptorException)
|
|
1354
|
+
{
|
|
1355
|
+
_acceptorException->ice_throw();
|
|
1356
|
+
}
|
|
1277
1357
|
_acceptor->finishAccept();
|
|
1278
1358
|
}
|
|
1279
1359
|
catch(const LocalException& ex)
|
|
1280
1360
|
{
|
|
1361
|
+
_acceptorException.reset(ICE_NULLPTR);
|
|
1362
|
+
|
|
1281
1363
|
Error out(_instance->initializationData().logger);
|
|
1282
1364
|
out << "couldn't accept connection:\n" << ex << '\n' << _acceptor->toString();
|
|
1283
|
-
|
|
1365
|
+
if(_adapter->getThreadPool()->finish(ICE_SHARED_FROM_THIS, true))
|
|
1366
|
+
{
|
|
1367
|
+
closeAcceptor();
|
|
1368
|
+
}
|
|
1284
1369
|
}
|
|
1285
1370
|
return _state < StateClosed;
|
|
1286
1371
|
}
|
|
@@ -1322,7 +1407,7 @@ IceInternal::IncomingConnectionFactory::message(ThreadPoolCurrent& current)
|
|
|
1322
1407
|
_connections.erase(*p);
|
|
1323
1408
|
}
|
|
1324
1409
|
|
|
1325
|
-
if(!
|
|
1410
|
+
if(!_acceptorStarted)
|
|
1326
1411
|
{
|
|
1327
1412
|
return;
|
|
1328
1413
|
}
|
|
@@ -1345,11 +1430,13 @@ IceInternal::IncomingConnectionFactory::message(ThreadPoolCurrent& current)
|
|
|
1345
1430
|
{
|
|
1346
1431
|
if(noMoreFds(ex.error))
|
|
1347
1432
|
{
|
|
1433
|
+
Error out(_instance->initializationData().logger);
|
|
1434
|
+
out << "can't accept more connections:\n" << ex << '\n' << _acceptor->toString();
|
|
1435
|
+
|
|
1436
|
+
if(_adapter->getThreadPool()->finish(ICE_SHARED_FROM_THIS, true))
|
|
1348
1437
|
{
|
|
1349
|
-
|
|
1350
|
-
out << "fatal error: can't accept more connections:\n" << ex << '\n' << _acceptor->toString();
|
|
1438
|
+
closeAcceptor();
|
|
1351
1439
|
}
|
|
1352
|
-
abort();
|
|
1353
1440
|
}
|
|
1354
1441
|
|
|
1355
1442
|
// Ignore socket exceptions.
|
|
@@ -1370,8 +1457,8 @@ IceInternal::IncomingConnectionFactory::message(ThreadPoolCurrent& current)
|
|
|
1370
1457
|
|
|
1371
1458
|
try
|
|
1372
1459
|
{
|
|
1373
|
-
connection =
|
|
1374
|
-
|
|
1460
|
+
connection = ConnectionI::create(_adapter->getCommunicator(), _instance, _monitor, transceiver, 0,
|
|
1461
|
+
_endpoint, _adapter);
|
|
1375
1462
|
}
|
|
1376
1463
|
catch(const LocalException& ex)
|
|
1377
1464
|
{
|
|
@@ -1396,41 +1483,34 @@ IceInternal::IncomingConnectionFactory::message(ThreadPoolCurrent& current)
|
|
|
1396
1483
|
}
|
|
1397
1484
|
|
|
1398
1485
|
assert(connection);
|
|
1399
|
-
|
|
1486
|
+
|
|
1487
|
+
connection->start(ICE_SHARED_FROM_THIS);
|
|
1400
1488
|
}
|
|
1401
1489
|
|
|
1402
1490
|
void
|
|
1403
1491
|
IceInternal::IncomingConnectionFactory::finished(ThreadPoolCurrent&, bool close)
|
|
1404
1492
|
{
|
|
1405
1493
|
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
1406
|
-
|
|
1407
|
-
#if TARGET_OS_IPHONE != 0
|
|
1408
1494
|
if(_state < StateClosed)
|
|
1409
1495
|
{
|
|
1410
|
-
//
|
|
1411
|
-
// Finished has been called by stopAcceptor if the state isn't
|
|
1412
|
-
// closed.
|
|
1413
|
-
//
|
|
1414
1496
|
if(_acceptorStarted && close)
|
|
1415
1497
|
{
|
|
1416
|
-
_acceptorStarted = false;
|
|
1417
1498
|
closeAcceptor();
|
|
1418
1499
|
}
|
|
1419
1500
|
return;
|
|
1420
1501
|
}
|
|
1421
|
-
#endif
|
|
1422
1502
|
|
|
1423
1503
|
assert(_state == StateClosed);
|
|
1424
1504
|
setState(StateFinished);
|
|
1425
1505
|
|
|
1426
|
-
if(close)
|
|
1506
|
+
if(_acceptorStarted && close)
|
|
1427
1507
|
{
|
|
1428
1508
|
closeAcceptor();
|
|
1429
1509
|
}
|
|
1430
1510
|
|
|
1431
1511
|
#if TARGET_OS_IPHONE != 0
|
|
1432
1512
|
sync.release();
|
|
1433
|
-
unregisterForBackgroundNotification(
|
|
1513
|
+
unregisterForBackgroundNotification(ICE_SHARED_FROM_THIS);
|
|
1434
1514
|
#endif
|
|
1435
1515
|
}
|
|
1436
1516
|
|
|
@@ -1438,7 +1518,6 @@ string
|
|
|
1438
1518
|
IceInternal::IncomingConnectionFactory::toString() const
|
|
1439
1519
|
{
|
|
1440
1520
|
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
1441
|
-
|
|
1442
1521
|
if(_transceiver)
|
|
1443
1522
|
{
|
|
1444
1523
|
return _transceiver->toString();
|
|
@@ -1507,17 +1586,20 @@ IceInternal::IncomingConnectionFactory::connectionStartFailed(const Ice::Connect
|
|
|
1507
1586
|
//
|
|
1508
1587
|
IceInternal::IncomingConnectionFactory::IncomingConnectionFactory(const InstancePtr& instance,
|
|
1509
1588
|
const EndpointIPtr& endpoint,
|
|
1589
|
+
const EndpointIPtr& publishedEndpoint,
|
|
1510
1590
|
const ObjectAdapterIPtr& adapter) :
|
|
1511
1591
|
_instance(instance),
|
|
1512
1592
|
_monitor(new FactoryACMMonitor(instance, dynamic_cast<ObjectAdapterI*>(adapter.get())->getACM())),
|
|
1513
1593
|
_endpoint(endpoint),
|
|
1594
|
+
_publishedEndpoint(publishedEndpoint),
|
|
1595
|
+
_acceptorStarted(false),
|
|
1596
|
+
_acceptorStopped(false),
|
|
1514
1597
|
_adapter(adapter),
|
|
1515
1598
|
_warn(_instance->initializationData().properties->getPropertyAsInt("Ice.Warn.Connections") > 0),
|
|
1516
1599
|
_state(StateHolding)
|
|
1517
1600
|
{
|
|
1518
1601
|
}
|
|
1519
1602
|
|
|
1520
|
-
#if TARGET_OS_IPHONE != 0
|
|
1521
1603
|
void
|
|
1522
1604
|
IceInternal::IncomingConnectionFactory::startAcceptor()
|
|
1523
1605
|
{
|
|
@@ -1527,18 +1609,17 @@ IceInternal::IncomingConnectionFactory::startAcceptor()
|
|
|
1527
1609
|
return;
|
|
1528
1610
|
}
|
|
1529
1611
|
|
|
1612
|
+
_acceptorStopped = false;
|
|
1613
|
+
|
|
1530
1614
|
try
|
|
1531
1615
|
{
|
|
1532
1616
|
createAcceptor();
|
|
1533
|
-
_acceptorStarted = true;
|
|
1534
1617
|
}
|
|
1535
1618
|
catch(const Ice::Exception& ex)
|
|
1536
1619
|
{
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
out << "unable to create acceptor:\n" << ex;
|
|
1541
|
-
}
|
|
1620
|
+
Error out(_instance->initializationData().logger);
|
|
1621
|
+
out << "acceptor creation failed:\n" << ex << '\n' << _acceptor->toString();
|
|
1622
|
+
_instance->timer()->schedule(ICE_MAKE_SHARED(StartAcceptor, ICE_SHARED_FROM_THIS), IceUtil::Time::seconds(1));
|
|
1542
1623
|
}
|
|
1543
1624
|
}
|
|
1544
1625
|
|
|
@@ -1551,13 +1632,13 @@ IceInternal::IncomingConnectionFactory::stopAcceptor()
|
|
|
1551
1632
|
return;
|
|
1552
1633
|
}
|
|
1553
1634
|
|
|
1554
|
-
|
|
1635
|
+
_acceptorStopped = true;
|
|
1636
|
+
|
|
1637
|
+
if(_adapter->getThreadPool()->finish(ICE_SHARED_FROM_THIS, true))
|
|
1555
1638
|
{
|
|
1556
|
-
_acceptorStarted = false;
|
|
1557
1639
|
closeAcceptor();
|
|
1558
1640
|
}
|
|
1559
1641
|
}
|
|
1560
|
-
#endif
|
|
1561
1642
|
|
|
1562
1643
|
void
|
|
1563
1644
|
IceInternal::IncomingConnectionFactory::initialize()
|
|
@@ -1571,7 +1652,6 @@ IceInternal::IncomingConnectionFactory::initialize()
|
|
|
1571
1652
|
{
|
|
1572
1653
|
_endpoint = _endpoint->compress(_instance->defaultsAndOverrides()->overrideCompressValue);
|
|
1573
1654
|
}
|
|
1574
|
-
|
|
1575
1655
|
try
|
|
1576
1656
|
{
|
|
1577
1657
|
const_cast<TransceiverPtr&>(_transceiver) = _endpoint->transceiver();
|
|
@@ -1583,9 +1663,8 @@ IceInternal::IncomingConnectionFactory::initialize()
|
|
|
1583
1663
|
out << "attempting to bind to " << _endpoint->protocol() << " socket\n" << _transceiver->toString();
|
|
1584
1664
|
}
|
|
1585
1665
|
const_cast<EndpointIPtr&>(_endpoint) = _transceiver->bind();
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
_endpoint, _adapter);
|
|
1666
|
+
ConnectionIPtr connection(ConnectionI::create(_adapter->getCommunicator(), _instance, 0, _transceiver, 0,
|
|
1667
|
+
_endpoint, _adapter));
|
|
1589
1668
|
connection->start(0);
|
|
1590
1669
|
_connections.insert(connection);
|
|
1591
1670
|
}
|
|
@@ -1596,8 +1675,7 @@ IceInternal::IncomingConnectionFactory::initialize()
|
|
|
1596
1675
|
// The notification center will call back on the factory to
|
|
1597
1676
|
// start the acceptor if necessary.
|
|
1598
1677
|
//
|
|
1599
|
-
|
|
1600
|
-
registerForBackgroundNotification(this);
|
|
1678
|
+
registerForBackgroundNotification(ICE_SHARED_FROM_THIS);
|
|
1601
1679
|
#else
|
|
1602
1680
|
createAcceptor();
|
|
1603
1681
|
#endif
|
|
@@ -1653,7 +1731,7 @@ IceInternal::IncomingConnectionFactory::setState(State state)
|
|
|
1653
1731
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
|
|
1654
1732
|
out << "accepting " << _endpoint->protocol() << " connections at " << _acceptor->toString();
|
|
1655
1733
|
}
|
|
1656
|
-
_adapter->getThreadPool()->_register(
|
|
1734
|
+
_adapter->getThreadPool()->_register(ICE_SHARED_FROM_THIS, SocketOperationRead);
|
|
1657
1735
|
}
|
|
1658
1736
|
for_each(_connections.begin(), _connections.end(), Ice::voidMemFun(&ConnectionI::activate));
|
|
1659
1737
|
break;
|
|
@@ -1672,7 +1750,7 @@ IceInternal::IncomingConnectionFactory::setState(State state)
|
|
|
1672
1750
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
|
|
1673
1751
|
out << "holding " << _endpoint->protocol() << " connections at " << _acceptor->toString();
|
|
1674
1752
|
}
|
|
1675
|
-
_adapter->getThreadPool()->unregister(
|
|
1753
|
+
_adapter->getThreadPool()->unregister(ICE_SHARED_FROM_THIS, SocketOperationRead);
|
|
1676
1754
|
}
|
|
1677
1755
|
for_each(_connections.begin(), _connections.end(), Ice::voidMemFun(&ConnectionI::hold));
|
|
1678
1756
|
break;
|
|
@@ -1680,7 +1758,7 @@ IceInternal::IncomingConnectionFactory::setState(State state)
|
|
|
1680
1758
|
|
|
1681
1759
|
case StateClosed:
|
|
1682
1760
|
{
|
|
1683
|
-
if(
|
|
1761
|
+
if(_acceptorStarted)
|
|
1684
1762
|
{
|
|
1685
1763
|
//
|
|
1686
1764
|
// If possible, close the acceptor now to prevent new connections from
|
|
@@ -1689,7 +1767,7 @@ IceInternal::IncomingConnectionFactory::setState(State state)
|
|
|
1689
1767
|
// the finish() call. Not all selector implementations do support this
|
|
1690
1768
|
// however.
|
|
1691
1769
|
//
|
|
1692
|
-
if(_adapter->getThreadPool()->finish(
|
|
1770
|
+
if(_adapter->getThreadPool()->finish(ICE_SHARED_FROM_THIS, true))
|
|
1693
1771
|
{
|
|
1694
1772
|
closeAcceptor();
|
|
1695
1773
|
}
|
|
@@ -1720,9 +1798,9 @@ IceInternal::IncomingConnectionFactory::createAcceptor()
|
|
|
1720
1798
|
{
|
|
1721
1799
|
try
|
|
1722
1800
|
{
|
|
1801
|
+
assert(!_acceptorStarted);
|
|
1723
1802
|
_acceptor = _endpoint->acceptor(_adapter->getName());
|
|
1724
1803
|
assert(_acceptor);
|
|
1725
|
-
|
|
1726
1804
|
if(_instance->traceLevels()->network >= 2)
|
|
1727
1805
|
{
|
|
1728
1806
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
|
|
@@ -1730,26 +1808,25 @@ IceInternal::IncomingConnectionFactory::createAcceptor()
|
|
|
1730
1808
|
}
|
|
1731
1809
|
|
|
1732
1810
|
_endpoint = _acceptor->listen();
|
|
1733
|
-
|
|
1734
1811
|
if(_instance->traceLevels()->network >= 1)
|
|
1735
1812
|
{
|
|
1736
1813
|
Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat);
|
|
1737
1814
|
out << "listening for " << _endpoint->protocol() << " connections\n" << _acceptor->toDetailedString();
|
|
1738
1815
|
}
|
|
1739
1816
|
|
|
1740
|
-
_adapter->getThreadPool()->initialize(
|
|
1741
|
-
|
|
1817
|
+
_adapter->getThreadPool()->initialize(ICE_SHARED_FROM_THIS);
|
|
1742
1818
|
if(_state == StateActive)
|
|
1743
1819
|
{
|
|
1744
|
-
_adapter->getThreadPool()->_register(
|
|
1820
|
+
_adapter->getThreadPool()->_register(ICE_SHARED_FROM_THIS, SocketOperationRead);
|
|
1745
1821
|
}
|
|
1822
|
+
|
|
1823
|
+
_acceptorStarted = true;
|
|
1746
1824
|
}
|
|
1747
1825
|
catch(const Ice::Exception&)
|
|
1748
1826
|
{
|
|
1749
1827
|
if(_acceptor)
|
|
1750
1828
|
{
|
|
1751
1829
|
_acceptor->close();
|
|
1752
|
-
_acceptor = 0;
|
|
1753
1830
|
}
|
|
1754
1831
|
throw;
|
|
1755
1832
|
}
|
|
@@ -1766,14 +1843,15 @@ IceInternal::IncomingConnectionFactory::closeAcceptor()
|
|
|
1766
1843
|
out << "stopping to accept " << _endpoint->protocol() << " connections at " << _acceptor->toString();
|
|
1767
1844
|
}
|
|
1768
1845
|
|
|
1846
|
+
_acceptorStarted = false;
|
|
1769
1847
|
_acceptor->close();
|
|
1770
1848
|
|
|
1771
|
-
#if TARGET_OS_IPHONE != 0
|
|
1772
1849
|
//
|
|
1773
|
-
//
|
|
1774
|
-
//
|
|
1775
|
-
// finishAsync can be called after the acceptor is closed.
|
|
1850
|
+
// If the acceptor hasn't been explicitly stopped (which is the case if the acceptor got closed
|
|
1851
|
+
// because of an unexpected error), try to restart the acceptor in 1 second.
|
|
1776
1852
|
//
|
|
1777
|
-
|
|
1778
|
-
|
|
1853
|
+
if(!_acceptorStopped && (_state == StateHolding || _state == StateActive))
|
|
1854
|
+
{
|
|
1855
|
+
_instance->timer()->schedule(ICE_MAKE_SHARED(StartAcceptor, ICE_SHARED_FROM_THIS), IceUtil::Time::seconds(1));
|
|
1856
|
+
}
|
|
1779
1857
|
}
|