zeroc-ice 3.6b1 → 3.6.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/{ext/ice/BZIP_LICENSE → BZIP2_LICENSE} +0 -0
- data/ICE_LICENSE +8 -14
- data/LICENSE +2 -1
- data/{ext/ice/MCPP_LICENSE → MCPP_LICENSE} +2 -9
- data/bin/slice2rb +1 -1
- data/ext/Communicator.cpp +1 -1
- data/ext/Communicator.h +1 -1
- data/ext/Config.h +1 -22
- data/ext/Connection.cpp +125 -13
- data/ext/Connection.h +1 -1
- data/ext/Endpoint.cpp +62 -3
- data/ext/Endpoint.h +1 -1
- data/ext/ImplicitContext.cpp +1 -1
- data/ext/ImplicitContext.h +1 -1
- data/ext/Init.cpp +8 -1
- data/ext/Logger.cpp +1 -1
- data/ext/Logger.h +1 -1
- data/ext/ObjectFactory.cpp +1 -1
- data/ext/ObjectFactory.h +1 -1
- data/ext/Operation.cpp +1 -1
- data/ext/Operation.h +1 -1
- data/ext/Properties.cpp +1 -1
- data/ext/Properties.h +1 -1
- data/ext/Proxy.cpp +1 -1
- data/ext/Proxy.h +1 -1
- data/ext/Slice.cpp +1 -1
- data/ext/Slice.h +1 -1
- data/ext/Types.cpp +65 -17
- data/ext/Types.h +4 -1
- data/ext/Util.cpp +49 -58
- data/ext/Util.h +1 -1
- data/ext/extconf.rb +17 -15
- data/ext/ice/cpp/include/Ice/ACMF.h +1 -1
- data/ext/ice/cpp/include/Ice/Application.h +1 -1
- data/ext/ice/cpp/include/Ice/AsyncResult.h +1 -1
- data/ext/ice/cpp/include/Ice/AsyncResultF.h +1 -1
- data/ext/ice/cpp/include/Ice/BasicStream.h +1 -1
- data/ext/ice/cpp/include/Ice/BatchRequestInterceptor.h +52 -0
- data/ext/ice/cpp/include/Ice/BatchRequestQueueF.h +25 -0
- data/ext/ice/cpp/include/Ice/Buffer.h +1 -1
- data/ext/ice/cpp/include/Ice/BuiltinSequences.h +12 -4
- data/ext/ice/cpp/include/Ice/Communicator.h +12 -4
- data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +1 -1
- data/ext/ice/cpp/include/Ice/CommunicatorF.h +12 -4
- data/ext/ice/cpp/include/Ice/Config.h +13 -8
- data/ext/ice/cpp/include/Ice/Connection.h +41 -16
- data/ext/ice/cpp/include/Ice/ConnectionAsync.h +1 -1
- data/ext/ice/cpp/include/Ice/ConnectionF.h +12 -4
- data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +1 -1
- data/ext/ice/cpp/include/Ice/ConnectionIF.h +1 -1
- data/ext/ice/cpp/include/Ice/Current.h +12 -4
- data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +1 -1
- data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +1 -1
- data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +1 -1
- data/ext/ice/cpp/include/Ice/Dispatcher.h +1 -1
- data/ext/ice/cpp/include/Ice/DynamicLibrary.h +1 -1
- data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +1 -1
- data/ext/ice/cpp/include/Ice/Endpoint.h +16 -6
- data/ext/ice/cpp/include/Ice/EndpointF.h +12 -4
- data/ext/ice/cpp/include/Ice/EndpointTypes.h +12 -4
- data/ext/ice/cpp/include/Ice/Exception.h +3 -3
- data/ext/ice/cpp/include/Ice/FacetMap.h +12 -4
- data/ext/ice/cpp/include/Ice/FactoryTable.h +1 -1
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
- data/ext/ice/cpp/include/Ice/Format.h +1 -1
- data/ext/ice/cpp/include/Ice/Functional.h +1 -1
- data/ext/ice/cpp/include/Ice/GCObject.h +5 -1
- data/ext/ice/cpp/include/Ice/Handle.h +1 -1
- data/ext/ice/cpp/include/Ice/Ice.h +4 -3
- data/ext/ice/cpp/include/Ice/Identity.h +13 -5
- data/ext/ice/cpp/include/Ice/ImplicitContext.h +12 -4
- data/ext/ice/cpp/include/Ice/ImplicitContextF.h +12 -4
- data/ext/ice/cpp/include/Ice/Incoming.h +1 -1
- data/ext/ice/cpp/include/Ice/IncomingAsync.h +1 -1
- data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +1 -1
- data/ext/ice/cpp/include/Ice/Initialize.h +4 -2
- data/ext/ice/cpp/include/Ice/InstanceF.h +1 -1
- data/ext/ice/cpp/include/Ice/Instrumentation.h +12 -4
- data/ext/ice/cpp/include/Ice/InstrumentationF.h +12 -4
- data/ext/ice/cpp/include/Ice/LocalException.h +12 -4
- data/ext/ice/cpp/include/Ice/LocalObject.h +1 -1
- data/ext/ice/cpp/include/Ice/LocalObjectF.h +1 -1
- data/ext/ice/cpp/include/Ice/Locator.h +137 -129
- data/ext/ice/cpp/include/Ice/LocatorF.h +12 -4
- data/ext/ice/cpp/include/Ice/Logger.h +12 -4
- data/ext/ice/cpp/include/Ice/LoggerF.h +12 -4
- data/ext/ice/cpp/include/Ice/LoggerUtil.h +1 -1
- data/ext/ice/cpp/include/Ice/Metrics.h +144 -136
- data/ext/ice/cpp/include/Ice/MetricsAdminI.h +1 -1
- data/ext/ice/cpp/include/Ice/MetricsFunctional.h +1 -1
- data/ext/ice/cpp/include/Ice/MetricsObserverI.h +35 -26
- data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +1 -1
- data/ext/ice/cpp/include/Ice/Object.h +1 -1
- data/ext/ice/cpp/include/Ice/ObjectAdapter.h +12 -4
- data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +12 -4
- data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +1 -1
- data/ext/ice/cpp/include/Ice/ObjectF.h +1 -1
- data/ext/ice/cpp/include/Ice/ObjectFactory.h +12 -4
- data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +12 -4
- data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +1 -1
- data/ext/ice/cpp/include/Ice/ObserverHelper.h +1 -1
- data/ext/ice/cpp/include/Ice/Outgoing.h +67 -39
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +31 -34
- data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +4 -4
- data/ext/ice/cpp/include/Ice/Plugin.h +12 -4
- data/ext/ice/cpp/include/Ice/PluginF.h +12 -4
- data/ext/ice/cpp/include/Ice/Process.h +36 -28
- data/ext/ice/cpp/include/Ice/ProcessF.h +12 -4
- data/ext/ice/cpp/include/Ice/Properties.h +12 -4
- data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +86 -78
- data/ext/ice/cpp/include/Ice/PropertiesF.h +12 -4
- data/ext/ice/cpp/include/Ice/Protocol.h +1 -1
- data/ext/ice/cpp/include/Ice/Proxy.h +6 -2
- data/ext/ice/cpp/include/Ice/ProxyF.h +1 -1
- data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +1 -1
- data/ext/ice/cpp/include/Ice/ProxyHandle.h +1 -1
- data/ext/ice/cpp/include/Ice/ReferenceF.h +1 -1
- data/ext/ice/cpp/include/Ice/RemoteLogger.h +137 -129
- data/ext/ice/cpp/include/Ice/RequestHandlerF.h +1 -1
- data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +1 -1
- data/ext/ice/cpp/include/Ice/Router.h +37 -29
- data/ext/ice/cpp/include/Ice/RouterF.h +12 -4
- data/ext/ice/cpp/include/Ice/ServantLocator.h +12 -4
- data/ext/ice/cpp/include/Ice/ServantLocatorF.h +12 -4
- data/ext/ice/cpp/include/Ice/ServantManagerF.h +1 -1
- data/ext/ice/cpp/include/Ice/Service.h +1 -1
- data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +12 -4
- data/ext/ice/cpp/include/Ice/SliceChecksums.h +1 -1
- data/ext/ice/cpp/include/Ice/SlicedData.h +1 -6
- data/ext/ice/cpp/include/Ice/SlicedDataF.h +1 -1
- data/ext/ice/cpp/include/Ice/Stream.h +3 -5
- data/ext/ice/cpp/include/Ice/StreamF.h +1 -1
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
- data/ext/ice/cpp/include/Ice/ThreadPoolF.h +1 -1
- data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +1 -1
- data/ext/ice/cpp/include/Ice/Version.h +14 -6
- data/ext/ice/cpp/include/IceSSL/Config.h +19 -1
- data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +61 -7
- data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +52 -5
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +2 -2
- data/ext/ice/cpp/include/IceSSL/Plugin.h +32 -26
- data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Atomic.h +186 -0
- data/ext/ice/cpp/include/IceUtil/Cache.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Cond.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Config.h +31 -20
- data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +1 -1
- data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +1 -1
- data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +9 -2
- data/ext/ice/cpp/include/IceUtil/Exception.h +4 -3
- data/ext/ice/cpp/include/IceUtil/Functional.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Handle.h +1 -1
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +2 -2
- data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +1 -1
- data/ext/ice/cpp/include/IceUtil/InputUtil.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Iterator.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Lock.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Monitor.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Mutex.h +1 -1
- data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +1 -1
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +1 -1
- data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Optional.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Options.h +1 -1
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +8 -11
- data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +1 -1
- data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +5 -1
- data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
- data/ext/ice/cpp/include/IceUtil/RecMutex.h +1 -1
- data/ext/ice/cpp/include/IceUtil/SHA1.h +8 -26
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +5 -5
- data/ext/ice/cpp/include/IceUtil/ScopedArray.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Shared.h +3 -37
- data/ext/ice/cpp/include/IceUtil/StringUtil.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Thread.h +1 -1
- data/ext/ice/cpp/include/IceUtil/ThreadException.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Time.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Timer.h +1 -1
- data/ext/ice/cpp/include/IceUtil/UUID.h +1 -1
- data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +1 -1
- data/ext/ice/cpp/include/IceUtil/UniquePtr.h +1 -1
- data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +7 -6
- data/ext/ice/cpp/include/Slice/Checksum.h +1 -1
- data/ext/ice/cpp/include/Slice/CsUtil.h +1 -1
- data/ext/ice/cpp/include/Slice/DotNetNames.h +1 -1
- data/ext/ice/cpp/include/Slice/FileTracker.h +1 -1
- data/ext/ice/cpp/include/Slice/JavaUtil.h +3 -1
- data/ext/ice/cpp/include/Slice/ObjCUtil.h +127 -0
- data/ext/ice/cpp/include/Slice/PHPUtil.h +1 -1
- data/ext/ice/cpp/include/Slice/Parser.h +18 -12
- data/ext/ice/cpp/include/Slice/Preprocessor.h +6 -4
- data/ext/ice/cpp/include/Slice/PythonUtil.h +1 -1
- data/ext/ice/cpp/include/Slice/RubyUtil.h +1 -1
- data/ext/ice/cpp/include/Slice/Util.h +20 -2
- data/ext/ice/cpp/src/Ice/ACM.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ACM.h +1 -1
- data/ext/ice/cpp/src/Ice/Acceptor.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Acceptor.h +1 -1
- data/ext/ice/cpp/src/Ice/AcceptorF.h +1 -1
- data/ext/ice/cpp/src/Ice/AsyncResult.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Base64.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Base64.h +1 -1
- data/ext/ice/cpp/src/Ice/BasicStream.cpp +7 -5
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +227 -0
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.h +59 -0
- data/ext/ice/cpp/src/Ice/Buffer.cpp +3 -3
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +10 -4
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +82 -282
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +8 -21
- data/ext/ice/cpp/src/Ice/Communicator.cpp +11 -5
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +6 -6
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +1 -1
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +42 -180
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +10 -19
- data/ext/ice/cpp/src/Ice/ConnectRequestHandlerF.h +25 -0
- data/ext/ice/cpp/src/Ice/Connection.cpp +17 -11
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +137 -51
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +18 -8
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +105 -391
- data/ext/ice/cpp/src/Ice/ConnectionI.h +25 -23
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +5 -29
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +3 -8
- data/ext/ice/cpp/src/Ice/Connector.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Connector.h +1 -1
- data/ext/ice/cpp/src/Ice/ConnectorF.h +1 -1
- data/ext/ice/cpp/src/Ice/Current.cpp +10 -4
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +1 -1
- 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/DeprecatedStringConverter.cpp +1 -1
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +1 -1
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +17 -11
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +19 -1
- data/ext/ice/cpp/src/Ice/EndpointFactory.h +13 -1
- data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +1 -1
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +1 -1
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +1 -1
- data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +1 -1
- data/ext/ice/cpp/src/Ice/EndpointI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/EndpointI.h +33 -1
- data/ext/ice/cpp/src/Ice/EndpointIF.h +1 -1
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +10 -4
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +1 -1
- data/ext/ice/cpp/src/Ice/EventHandler.h +4 -1
- data/ext/ice/cpp/src/Ice/EventHandlerF.h +1 -1
- data/ext/ice/cpp/src/Ice/Exception.cpp +20 -11
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +10 -4
- data/ext/ice/cpp/src/Ice/FactoryTable.cpp +1 -1
- data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +2 -2
- data/ext/ice/cpp/src/Ice/GCObject.cpp +1 -1
- data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +27 -15
- data/ext/ice/cpp/src/Ice/HttpParser.h +4 -6
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +7 -1
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +2 -1
- data/ext/ice/cpp/src/Ice/IPEndpointIF.h +1 -1
- data/ext/ice/cpp/src/Ice/Identity.cpp +11 -5
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +11 -5
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ImplicitContextI.h +1 -1
- data/ext/ice/cpp/src/Ice/Incoming.cpp +22 -20
- data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +1 -1
- data/ext/ice/cpp/src/Ice/IncomingRequest.h +1 -1
- data/ext/ice/cpp/src/Ice/Initialize.cpp +31 -5
- data/ext/ice/cpp/src/Ice/Instance.cpp +102 -59
- data/ext/ice/cpp/src/Ice/Instance.h +28 -2
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +20 -14
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/InstrumentationI.h +1 -1
- data/ext/ice/cpp/src/Ice/LocalException.cpp +10 -4
- data/ext/ice/cpp/src/Ice/LocalObject.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Locator.cpp +83 -77
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +77 -69
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +1 -1
- data/ext/ice/cpp/src/Ice/LocatorInfoF.h +1 -1
- data/ext/ice/cpp/src/Ice/Logger.cpp +11 -5
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/LoggerAdminI.h +1 -1
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +10 -8
- data/ext/ice/cpp/src/Ice/LoggerI.h +1 -1
- data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Metrics.cpp +122 -116
- data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Network.cpp +63 -19
- data/ext/ice/cpp/src/Ice/Network.h +10 -3
- data/ext/ice/cpp/src/Ice/NetworkF.h +1 -1
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +1 -1
- data/ext/ice/cpp/src/Ice/NetworkProxy.h +1 -1
- data/ext/ice/cpp/src/Ice/NetworkProxyF.h +1 -1
- data/ext/ice/cpp/src/Ice/Object.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +11 -5
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +9 -9
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +2 -2
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +5 -5
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +11 -5
- data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +9 -10
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +1 -1
- data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +1 -1
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +6 -5
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +1 -1
- data/ext/ice/cpp/src/Ice/Outgoing.cpp +209 -254
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +120 -106
- data/ext/ice/cpp/src/Ice/Plugin.cpp +12 -6
- data/ext/ice/cpp/src/Ice/PluginF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +21 -2
- data/ext/ice/cpp/src/Ice/Process.cpp +25 -19
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/Properties.cpp +11 -5
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +39 -33
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +1 -1
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/PropertiesI.h +1 -1
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +12 -8
- data/ext/ice/cpp/src/Ice/PropertyNames.h +2 -2
- data/ext/ice/cpp/src/Ice/Protocol.cpp +7 -7
- data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +9 -6
- data/ext/ice/cpp/src/Ice/ProtocolInstance.h +25 -7
- data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +1 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +1 -1
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +1 -1
- data/ext/ice/cpp/src/Ice/Proxy.cpp +32 -13
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ProxyFactory.h +1 -1
- data/ext/ice/cpp/src/Ice/Reference.cpp +101 -86
- data/ext/ice/cpp/src/Ice/Reference.h +16 -9
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ReferenceFactory.h +1 -1
- data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +1 -1
- data/ext/ice/cpp/src/Ice/RegisterPlugins.cpp +28 -0
- data/ext/ice/cpp/src/Ice/RegisterPlugins.h +25 -0
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +92 -86
- data/ext/ice/cpp/src/Ice/ReplyStatus.h +1 -1
- data/ext/ice/cpp/src/Ice/RequestHandler.cpp +1 -1
- data/ext/ice/cpp/src/Ice/RequestHandler.h +4 -8
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +24 -16
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +5 -4
- data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ResponseHandler.h +3 -3
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +16 -5
- data/ext/ice/cpp/src/Ice/RetryQueue.h +3 -2
- data/ext/ice/cpp/src/Ice/RetryQueueF.h +1 -1
- data/ext/ice/cpp/src/Ice/Router.cpp +27 -21
- data/ext/ice/cpp/src/Ice/RouterF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +1 -1
- data/ext/ice/cpp/src/Ice/RouterInfo.h +1 -1
- data/ext/ice/cpp/src/Ice/RouterInfoF.h +1 -1
- data/ext/ice/cpp/src/Ice/Selector.cpp +480 -1
- data/ext/ice/cpp/src/Ice/Selector.h +130 -1
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +11 -5
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +10 -4
- data/ext/ice/cpp/src/Ice/ServantManager.cpp +29 -23
- data/ext/ice/cpp/src/Ice/ServantManager.h +1 -1
- data/ext/ice/cpp/src/Ice/SharedContext.h +1 -1
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +10 -4
- data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +1 -1
- data/ext/ice/cpp/src/Ice/SlicedData.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Stream.cpp +1 -1
- data/ext/ice/cpp/src/Ice/StreamI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/StreamI.h +1 -1
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +30 -22
- data/ext/ice/cpp/src/Ice/StreamSocket.h +7 -4
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +1 -1
- data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +1 -1
- data/ext/ice/cpp/src/Ice/SysLoggerI.h +1 -1
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +8 -8
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +1 -1
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +1 -1
- data/ext/ice/cpp/src/Ice/TcpConnector.h +1 -1
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +21 -38
- data/ext/ice/cpp/src/Ice/TcpEndpointI.h +5 -6
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +29 -4
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +7 -2
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +2 -2
- data/ext/ice/cpp/src/Ice/ThreadPool.h +1 -1
- 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 +1 -1
- data/ext/ice/cpp/src/Ice/TraceUtil.cpp +16 -7
- data/ext/ice/cpp/src/Ice/TraceUtil.h +1 -1
- data/ext/ice/cpp/src/Ice/Transceiver.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Transceiver.h +2 -1
- data/ext/ice/cpp/src/Ice/TransceiverF.h +1 -1
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +1 -1
- data/ext/ice/cpp/src/Ice/UdpConnector.h +1 -1
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +13 -39
- data/ext/ice/cpp/src/Ice/UdpEndpointI.h +2 -5
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +46 -10
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +3 -2
- data/ext/ice/cpp/src/Ice/Version.cpp +12 -6
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +1 -1
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +1 -1
- data/ext/ice/cpp/src/Ice/WSConnector.cpp +1 -1
- data/ext/ice/cpp/src/Ice/WSConnector.h +1 -1
- data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +6 -38
- data/ext/ice/cpp/src/Ice/WSEndpoint.h +12 -1
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +31 -35
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +13 -1
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +66 -60
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +106 -100
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +1 -1
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +1 -1
- data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +76 -36
- data/ext/ice/cpp/src/IceDiscovery/LookupI.h +1 -1
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +19 -6
- data/ext/ice/cpp/src/IceDiscovery/PluginI.h +1 -1
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +452 -0
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +732 -0
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +520 -0
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.h +36 -0
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +8 -8
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +1 -1
- data/ext/ice/cpp/src/IceSSL/Certificate.cpp +49 -47
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +13 -5
- data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +1 -1
- data/ext/ice/cpp/src/IceSSL/ConnectorI.h +1 -1
- data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +10 -38
- data/ext/ice/cpp/src/IceSSL/EndpointI.h +4 -3
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +13 -5
- data/ext/ice/cpp/src/IceSSL/Instance.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/Instance.h +1 -1
- data/ext/ice/cpp/src/IceSSL/InstanceF.h +1 -1
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +107 -111
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +130 -47
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +11 -3
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +8 -14
- data/ext/ice/cpp/src/IceSSL/PluginI.h +1 -1
- data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +1 -1
- data/ext/ice/cpp/src/IceSSL/RFC2253.h +1 -1
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +238 -156
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +93 -66
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +7 -3
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +2 -2
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +32 -35
- data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +1 -1
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +244 -360
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +59 -29
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +8 -4
- data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +1 -1
- data/ext/ice/cpp/src/IceSSL/TrustManager.h +1 -1
- data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +1 -1
- data/ext/ice/cpp/src/IceSSL/Util.cpp +427 -620
- data/ext/ice/cpp/src/IceSSL/Util.h +72 -15
- data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/ArgVector.h +1 -1
- data/ext/ice/cpp/src/IceUtil/Cond.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +1 -1
- data/ext/ice/cpp/src/IceUtil/CountDownLatch.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Exception.cpp +105 -96
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +2 -1
- data/ext/ice/cpp/src/IceUtil/FileUtil.h +9 -1
- 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 +1 -1
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +12 -25
- data/ext/ice/cpp/src/IceUtil/Random.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/SHA1.cpp +72 -10
- data/ext/ice/cpp/src/IceUtil/Shared.cpp +3 -132
- data/ext/ice/cpp/src/IceUtil/StopWatch.h +1 -1
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Thread.cpp +16 -1
- data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Time.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Timer.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Unicode.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Unicode.h +1 -1
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +62 -55
- data/ext/ice/cpp/src/Slice/Checksum.cpp +1 -1
- data/ext/ice/cpp/src/Slice/CsUtil.cpp +8 -29
- data/ext/ice/cpp/src/Slice/DotNetNames.cpp +1 -1
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +1 -1
- data/ext/ice/cpp/src/Slice/Grammar.cpp +1 -1
- data/ext/ice/cpp/src/Slice/GrammarUtil.h +1 -1
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +145 -172
- 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/ObjCUtil.cpp +1310 -0
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +1 -1
- data/ext/ice/cpp/src/Slice/Parser.cpp +65 -187
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +61 -9
- data/ext/ice/cpp/src/Slice/Python.cpp +36 -3
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +10 -10
- data/ext/ice/cpp/src/Slice/Ruby.cpp +34 -3
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +8 -7
- data/ext/ice/cpp/src/Slice/Scanner.cpp +1 -1
- data/ext/ice/cpp/src/Slice/Util.cpp +137 -30
- data/ext/ice/mcpp/LICENSE +29 -0
- data/ext/ice/mcpp/Makefile +60 -0
- data/ext/ice/mcpp/Makefile.mak +46 -0
- data/ext/ice/mcpp/README.md +30 -0
- data/ext/ice/mcpp/config.h +89 -0
- data/ext/ice/mcpp/configed.H +1 -146
- data/ext/ice/mcpp/directive.c +115 -410
- data/ext/ice/mcpp/eval.c +38 -377
- data/ext/ice/mcpp/expand.c +155 -852
- data/ext/ice/mcpp/internal.H +10 -44
- data/ext/ice/mcpp/main.c +6 -345
- data/ext/ice/mcpp/mbchar.c +17 -654
- data/ext/ice/mcpp/mcpp.gyp +62 -0
- data/ext/ice/mcpp/support.c +116 -943
- data/ext/ice/mcpp/system.H +0 -23
- data/ext/ice/mcpp/system.c +81 -2321
- data/ice.gemspec +3 -4
- data/lib/Glacier2.rb +1 -1
- data/lib/Glacier2/Metrics.rb +2 -2
- data/lib/Glacier2/PermissionsVerifier.rb +2 -2
- data/lib/Glacier2/PermissionsVerifierF.rb +2 -2
- data/lib/Glacier2/Router.rb +2 -2
- data/lib/Glacier2/RouterF.rb +2 -2
- data/lib/Glacier2/SSLInfo.rb +2 -2
- data/lib/Glacier2/Session.rb +2 -2
- data/lib/Ice.rb +1 -1
- data/lib/Ice/BuiltinSequences.rb +2 -2
- data/lib/Ice/Communicator.rb +2 -2
- data/lib/Ice/CommunicatorF.rb +2 -2
- data/lib/Ice/Connection.rb +26 -14
- data/lib/Ice/ConnectionF.rb +2 -2
- data/lib/Ice/Current.rb +2 -2
- data/lib/Ice/Endpoint.rb +4 -2
- data/lib/Ice/EndpointF.rb +2 -2
- data/lib/Ice/EndpointTypes.rb +2 -2
- data/lib/Ice/FacetMap.rb +2 -2
- data/lib/Ice/Identity.rb +2 -2
- data/lib/Ice/ImplicitContext.rb +2 -2
- data/lib/Ice/ImplicitContextF.rb +2 -2
- data/lib/Ice/Instrumentation.rb +2 -2
- data/lib/Ice/InstrumentationF.rb +2 -2
- data/lib/Ice/LocalException.rb +2 -2
- data/lib/Ice/Locator.rb +2 -2
- data/lib/Ice/LocatorF.rb +2 -2
- data/lib/Ice/Logger.rb +2 -2
- data/lib/Ice/LoggerF.rb +2 -2
- data/lib/Ice/Metrics.rb +2 -2
- data/lib/Ice/ObjectAdapterF.rb +2 -2
- data/lib/Ice/ObjectFactory.rb +2 -2
- data/lib/Ice/ObjectFactoryF.rb +2 -2
- data/lib/Ice/Plugin.rb +2 -2
- data/lib/Ice/PluginF.rb +2 -2
- data/lib/Ice/Process.rb +2 -2
- data/lib/Ice/ProcessF.rb +2 -2
- data/lib/Ice/Properties.rb +2 -2
- data/lib/Ice/PropertiesAdmin.rb +2 -2
- data/lib/Ice/PropertiesF.rb +2 -2
- data/lib/Ice/Router.rb +2 -2
- data/lib/Ice/RouterF.rb +2 -2
- data/lib/Ice/SliceChecksumDict.rb +2 -2
- data/lib/Ice/Version.rb +2 -2
- data/lib/IceBox.rb +1 -1
- data/lib/IceBox/IceBox.rb +2 -2
- data/lib/IceGrid.rb +1 -1
- data/lib/IceGrid/Admin.rb +2 -2
- data/lib/IceGrid/Descriptor.rb +2 -2
- data/lib/IceGrid/Exception.rb +2 -2
- data/lib/IceGrid/FileParser.rb +2 -2
- data/lib/IceGrid/Locator.rb +2 -2
- data/lib/IceGrid/Observer.rb +2 -2
- data/lib/IceGrid/Query.rb +2 -2
- data/lib/IceGrid/Registry.rb +2 -2
- data/lib/IceGrid/Session.rb +2 -2
- data/lib/IceGrid/UserAccountMapper.rb +2 -2
- data/lib/IcePatch2.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +52 -2
- data/lib/IcePatch2/FileServer.rb +33 -4
- data/lib/IceStorm.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +2 -2
- data/lib/IceStorm/Metrics.rb +2 -2
- data/slice/Freeze/BackgroundSaveEvictor.ice +2 -2
- data/slice/Freeze/CatalogData.ice +2 -2
- data/slice/Freeze/Connection.ice +2 -2
- data/slice/Freeze/ConnectionF.ice +2 -2
- data/slice/Freeze/DB.ice +2 -2
- data/slice/Freeze/Evictor.ice +2 -2
- data/slice/Freeze/EvictorF.ice +2 -2
- data/slice/Freeze/EvictorStorage.ice +2 -2
- data/slice/Freeze/Exception.ice +2 -2
- data/slice/Freeze/Transaction.ice +2 -2
- data/slice/Freeze/TransactionalEvictor.ice +2 -2
- data/slice/Glacier2/Metrics.ice +7 -6
- data/slice/Glacier2/PermissionsVerifier.ice +4 -3
- data/slice/Glacier2/PermissionsVerifierF.ice +3 -2
- data/slice/Glacier2/Router.ice +4 -3
- data/slice/Glacier2/RouterF.ice +3 -2
- data/slice/Glacier2/SSLInfo.ice +3 -2
- data/slice/Glacier2/Session.ice +12 -11
- data/slice/Ice/BuiltinSequences.ice +4 -3
- data/slice/Ice/Communicator.ice +22 -25
- data/slice/Ice/CommunicatorF.ice +3 -2
- data/slice/Ice/Connection.ice +39 -11
- data/slice/Ice/ConnectionF.ice +3 -2
- data/slice/Ice/Current.ice +4 -3
- data/slice/Ice/Endpoint.ice +11 -3
- data/slice/Ice/EndpointF.ice +3 -2
- data/slice/Ice/EndpointTypes.ice +3 -2
- data/slice/Ice/FacetMap.ice +3 -2
- data/slice/Ice/Identity.ice +3 -2
- data/slice/Ice/ImplicitContext.ice +3 -2
- data/slice/Ice/ImplicitContextF.ice +3 -2
- data/slice/Ice/Instrumentation.ice +4 -2
- data/slice/Ice/InstrumentationF.ice +4 -2
- data/slice/Ice/LocalException.ice +29 -10
- data/slice/Ice/Locator.ice +5 -3
- data/slice/Ice/LocatorF.ice +3 -2
- data/slice/Ice/Logger.ice +3 -2
- data/slice/Ice/LoggerF.ice +3 -2
- data/slice/Ice/Metrics.ice +15 -14
- data/slice/Ice/ObjectAdapter.ice +5 -4
- data/slice/Ice/ObjectAdapterF.ice +3 -2
- data/slice/Ice/ObjectFactory.ice +3 -2
- data/slice/Ice/ObjectFactoryF.ice +3 -2
- data/slice/Ice/Plugin.ice +3 -2
- data/slice/Ice/PluginF.ice +3 -2
- data/slice/Ice/Process.ice +3 -2
- data/slice/Ice/ProcessF.ice +3 -2
- data/slice/Ice/Properties.ice +3 -2
- data/slice/Ice/PropertiesAdmin.ice +3 -2
- data/slice/Ice/PropertiesF.ice +3 -2
- data/slice/Ice/RemoteLogger.ice +3 -2
- data/slice/Ice/Router.ice +3 -2
- data/slice/Ice/RouterF.ice +3 -2
- data/slice/Ice/ServantLocator.ice +3 -2
- data/slice/Ice/ServantLocatorF.ice +3 -2
- data/slice/Ice/SliceChecksumDict.ice +3 -2
- data/slice/Ice/Version.ice +3 -2
- data/slice/IceBox/IceBox.ice +2 -2
- data/slice/IceDiscovery/IceDiscovery.ice +2 -2
- data/slice/IceGrid/Admin.ice +49 -48
- data/slice/IceGrid/Descriptor.ice +3 -2
- data/slice/IceGrid/Exception.ice +6 -5
- data/slice/IceGrid/FileParser.ice +4 -3
- data/slice/IceGrid/Locator.ice +4 -3
- data/slice/IceGrid/Observer.ice +28 -27
- data/slice/IceGrid/PluginFacade.ice +3 -2
- data/slice/IceGrid/Query.ice +3 -2
- data/slice/IceGrid/Registry.ice +4 -3
- data/slice/IceGrid/Session.ice +9 -8
- data/slice/IceGrid/UserAccountMapper.ice +4 -3
- data/slice/{IceGrid/Discovery.ice → IceLocatorDiscovery/IceLocatorDiscovery.ice} +12 -14
- data/slice/IcePatch2/FileInfo.ice +31 -2
- data/slice/IcePatch2/FileServer.ice +63 -5
- data/slice/IceSSL/ConnectionInfo.ice +17 -2
- data/slice/IceSSL/EndpointInfo.ice +21 -3
- data/slice/IceStorm/IceStorm.ice +3 -2
- data/slice/IceStorm/Metrics.ice +4 -3
- metadata +27 -23
- data/ext/ice/cpp/include/Ice/Makefile +0 -26
- data/ext/ice/cpp/include/IceSSL/Makefile +0 -26
- data/ext/ice/cpp/include/IceUtil/Makefile +0 -26
- data/ext/ice/cpp/include/Slice/Makefile +0 -26
- data/ext/ice/cpp/src/Ice/Application.cpp +0 -760
- data/ext/ice/cpp/src/Ice/EventLoggerMsg.h +0 -53
- data/ext/ice/cpp/src/Ice/Makefile +0 -190
- data/ext/ice/cpp/src/Ice/Service.cpp +0 -1897
- data/ext/ice/cpp/src/IceDiscovery/Makefile +0 -61
- data/ext/ice/cpp/src/IceSSL/Makefile +0 -82
- data/ext/ice/cpp/src/IceUtil/Makefile +0 -68
- data/ext/ice/cpp/src/Slice/Makefile +0 -65
- data/ext/ice/mcpp/config.h.Darwin +0 -227
- data/ext/ice/mcpp/config.h.Linux +0 -227
- data/ext/ice/mcpp/config.h.MINGW +0 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2015 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.
|
|
@@ -66,7 +66,7 @@ public:
|
|
|
66
66
|
const CreateConnectionCallbackPtr&);
|
|
67
67
|
void setRouterInfo(const RouterInfoPtr&);
|
|
68
68
|
void removeAdapter(const Ice::ObjectAdapterPtr&);
|
|
69
|
-
void flushAsyncBatchRequests(const
|
|
69
|
+
void flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr&);
|
|
70
70
|
|
|
71
71
|
private:
|
|
72
72
|
|
|
@@ -163,7 +163,6 @@ private:
|
|
|
163
163
|
class IncomingConnectionFactory : public EventHandler,
|
|
164
164
|
public Ice::ConnectionI::StartCallback,
|
|
165
165
|
public IceUtil::Monitor<IceUtil::Mutex>
|
|
166
|
-
|
|
167
166
|
{
|
|
168
167
|
public:
|
|
169
168
|
|
|
@@ -171,6 +170,11 @@ public:
|
|
|
171
170
|
void hold();
|
|
172
171
|
void destroy();
|
|
173
172
|
|
|
173
|
+
#if TARGET_OS_IPHONE != 0
|
|
174
|
+
void startAcceptor();
|
|
175
|
+
void stopAcceptor();
|
|
176
|
+
#endif
|
|
177
|
+
|
|
174
178
|
void updateConnectionObservers();
|
|
175
179
|
|
|
176
180
|
void waitUntilHolding() const;
|
|
@@ -178,7 +182,7 @@ public:
|
|
|
178
182
|
|
|
179
183
|
EndpointIPtr endpoint() const;
|
|
180
184
|
std::list<Ice::ConnectionIPtr> connections() const;
|
|
181
|
-
void flushAsyncBatchRequests(const
|
|
185
|
+
void flushAsyncBatchRequests(const CommunicatorFlushBatchAsyncPtr&);
|
|
182
186
|
|
|
183
187
|
//
|
|
184
188
|
// Operations from EventHandler
|
|
@@ -200,7 +204,7 @@ public:
|
|
|
200
204
|
private:
|
|
201
205
|
|
|
202
206
|
IncomingConnectionFactory(const InstancePtr&, const EndpointIPtr&, const Ice::ObjectAdapterIPtr&);
|
|
203
|
-
void initialize(
|
|
207
|
+
void initialize();
|
|
204
208
|
virtual ~IncomingConnectionFactory();
|
|
205
209
|
friend class Ice::ObjectAdapterI;
|
|
206
210
|
|
|
@@ -213,14 +217,20 @@ private:
|
|
|
213
217
|
};
|
|
214
218
|
|
|
215
219
|
void setState(State);
|
|
216
|
-
|
|
220
|
+
|
|
221
|
+
void createAcceptor();
|
|
222
|
+
void closeAcceptor();
|
|
217
223
|
|
|
218
224
|
const InstancePtr _instance;
|
|
219
225
|
const FactoryACMMonitorPtr _monitor;
|
|
220
226
|
|
|
221
|
-
|
|
227
|
+
AcceptorPtr _acceptor;
|
|
222
228
|
const TransceiverPtr _transceiver;
|
|
223
|
-
|
|
229
|
+
EndpointIPtr _endpoint;
|
|
230
|
+
|
|
231
|
+
#if TARGET_OS_IPHONE != 0
|
|
232
|
+
bool _acceptorStarted;
|
|
233
|
+
#endif
|
|
224
234
|
|
|
225
235
|
Ice::ObjectAdapterIPtr _adapter;
|
|
226
236
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// **********************************************************************
|
|
2
2
|
//
|
|
3
|
-
// Copyright (c) 2003-
|
|
3
|
+
// Copyright (c) 2003-2015 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.
|
|
@@ -27,8 +27,10 @@
|
|
|
27
27
|
#include <Ice/RequestHandler.h> // For RetryException
|
|
28
28
|
#include <Ice/ReferenceFactory.h> // For createProxy().
|
|
29
29
|
#include <Ice/ProxyFactory.h> // For createProxy().
|
|
30
|
-
#
|
|
31
|
-
|
|
30
|
+
#include <Ice/BatchRequestQueue.h>
|
|
31
|
+
|
|
32
|
+
#ifdef ICE_HAS_BZIP2
|
|
33
|
+
# include <bzlib.h>
|
|
32
34
|
#endif
|
|
33
35
|
|
|
34
36
|
using namespace std;
|
|
@@ -70,7 +72,7 @@ public:
|
|
|
70
72
|
DispatchCall(const ConnectionIPtr& connection, const ConnectionI::StartCallbackPtr& startCB,
|
|
71
73
|
const vector<ConnectionI::OutgoingMessage>& sentCBs, Byte compress, Int requestId,
|
|
72
74
|
Int invokeNum, const ServantManagerPtr& servantManager, const ObjectAdapterPtr& adapter,
|
|
73
|
-
const
|
|
75
|
+
const OutgoingAsyncBasePtr& outAsync, const ConnectionCallbackPtr& heartbeatCallback,
|
|
74
76
|
BasicStream& stream) :
|
|
75
77
|
DispatchWorkItem(connection),
|
|
76
78
|
_connection(connection),
|
|
@@ -105,7 +107,7 @@ private:
|
|
|
105
107
|
const Int _invokeNum;
|
|
106
108
|
const ServantManagerPtr _servantManager;
|
|
107
109
|
const ObjectAdapterPtr _adapter;
|
|
108
|
-
const
|
|
110
|
+
const OutgoingAsyncBasePtr _outAsync;
|
|
109
111
|
const ConnectionCallbackPtr _heartbeatCallback;
|
|
110
112
|
BasicStream _stream;
|
|
111
113
|
};
|
|
@@ -114,7 +116,7 @@ class FinishCall : public DispatchWorkItem
|
|
|
114
116
|
{
|
|
115
117
|
public:
|
|
116
118
|
|
|
117
|
-
FinishCall(const Ice::ConnectionIPtr& connection, bool close) :
|
|
119
|
+
FinishCall(const Ice::ConnectionIPtr& connection, bool close) :
|
|
118
120
|
DispatchWorkItem(connection), _connection(connection), _close(close)
|
|
119
121
|
{
|
|
120
122
|
}
|
|
@@ -126,7 +128,7 @@ public:
|
|
|
126
128
|
}
|
|
127
129
|
|
|
128
130
|
private:
|
|
129
|
-
|
|
131
|
+
|
|
130
132
|
const ConnectionIPtr _connection;
|
|
131
133
|
const bool _close;
|
|
132
134
|
};
|
|
@@ -596,7 +598,7 @@ Ice::ConnectionI::monitor(const IceUtil::Time& now, const ACMConfig& acm)
|
|
|
596
598
|
setState(StateClosed, ConnectionTimeoutException(__FILE__, __LINE__));
|
|
597
599
|
}
|
|
598
600
|
else if(acm.close != CloseOnInvocation &&
|
|
599
|
-
_dispatchCount == 0 &&
|
|
601
|
+
_dispatchCount == 0 && _batchRequestQueue->isEmpty() && _requests.empty() && _asyncRequests.empty())
|
|
600
602
|
{
|
|
601
603
|
//
|
|
602
604
|
// The connection is idle, close it.
|
|
@@ -607,7 +609,7 @@ Ice::ConnectionI::monitor(const IceUtil::Time& now, const ACMConfig& acm)
|
|
|
607
609
|
}
|
|
608
610
|
|
|
609
611
|
bool
|
|
610
|
-
Ice::ConnectionI::sendRequest(
|
|
612
|
+
Ice::ConnectionI::sendRequest(OutgoingBase* out, bool compress, bool response, int batchRequestNum)
|
|
611
613
|
{
|
|
612
614
|
BasicStream* os = out->os();
|
|
613
615
|
|
|
@@ -654,6 +656,15 @@ Ice::ConnectionI::sendRequest(Outgoing* out, bool compress, bool response)
|
|
|
654
656
|
copy(p, p + sizeof(Int), os->b.begin() + headerSize);
|
|
655
657
|
#endif
|
|
656
658
|
}
|
|
659
|
+
else if(batchRequestNum > 0)
|
|
660
|
+
{
|
|
661
|
+
const Byte* p = reinterpret_cast<const Byte*>(&batchRequestNum);
|
|
662
|
+
#ifdef ICE_BIG_ENDIAN
|
|
663
|
+
reverse_copy(p, p + sizeof(Int), os->b.begin() + headerSize);
|
|
664
|
+
#else
|
|
665
|
+
copy(p, p + sizeof(Int), os->b.begin() + headerSize);
|
|
666
|
+
#endif
|
|
667
|
+
}
|
|
657
668
|
|
|
658
669
|
out->attachRemoteObserver(initConnectionInfo(), _endpoint, requestId);
|
|
659
670
|
|
|
@@ -679,14 +690,14 @@ Ice::ConnectionI::sendRequest(Outgoing* out, bool compress, bool response)
|
|
|
679
690
|
//
|
|
680
691
|
// Add to the requests map.
|
|
681
692
|
//
|
|
682
|
-
_requestsHint = _requests.insert(_requests.end(), pair<const Int,
|
|
693
|
+
_requestsHint = _requests.insert(_requests.end(), pair<const Int, OutgoingBase*>(requestId, out));
|
|
683
694
|
}
|
|
684
695
|
|
|
685
696
|
return sent;
|
|
686
697
|
}
|
|
687
698
|
|
|
688
699
|
AsyncStatus
|
|
689
|
-
Ice::ConnectionI::sendAsyncRequest(const
|
|
700
|
+
Ice::ConnectionI::sendAsyncRequest(const OutgoingAsyncBasePtr& out, bool compress, bool response, int batchRequestNum)
|
|
690
701
|
{
|
|
691
702
|
BasicStream* os = out->getOs();
|
|
692
703
|
|
|
@@ -711,10 +722,10 @@ Ice::ConnectionI::sendAsyncRequest(const OutgoingAsyncPtr& out, bool compress, b
|
|
|
711
722
|
_transceiver->checkSendSize(*os);
|
|
712
723
|
|
|
713
724
|
//
|
|
714
|
-
// Notify the request that it's cancelable with this connection.
|
|
725
|
+
// Notify the request that it's cancelable with this connection.
|
|
715
726
|
// This will throw if the request is canceled.
|
|
716
727
|
//
|
|
717
|
-
out->cancelable(this);
|
|
728
|
+
out->cancelable(this);
|
|
718
729
|
|
|
719
730
|
Int requestId = 0;
|
|
720
731
|
if(response)
|
|
@@ -739,6 +750,15 @@ Ice::ConnectionI::sendAsyncRequest(const OutgoingAsyncPtr& out, bool compress, b
|
|
|
739
750
|
copy(p, p + sizeof(Int), os->b.begin() + headerSize);
|
|
740
751
|
#endif
|
|
741
752
|
}
|
|
753
|
+
else if(batchRequestNum > 0)
|
|
754
|
+
{
|
|
755
|
+
const Byte* p = reinterpret_cast<const Byte*>(&batchRequestNum);
|
|
756
|
+
#ifdef ICE_BIG_ENDIAN
|
|
757
|
+
reverse_copy(p, p + sizeof(Int), os->b.begin() + headerSize);
|
|
758
|
+
#else
|
|
759
|
+
copy(p, p + sizeof(Int), os->b.begin() + headerSize);
|
|
760
|
+
#endif
|
|
761
|
+
}
|
|
742
762
|
|
|
743
763
|
out->attachRemoteObserver(initConnectionInfo(), _endpoint, requestId);
|
|
744
764
|
|
|
@@ -761,211 +781,21 @@ Ice::ConnectionI::sendAsyncRequest(const OutgoingAsyncPtr& out, bool compress, b
|
|
|
761
781
|
// Add to the async requests map.
|
|
762
782
|
//
|
|
763
783
|
_asyncRequestsHint = _asyncRequests.insert(_asyncRequests.end(),
|
|
764
|
-
pair<const Int,
|
|
784
|
+
pair<const Int, OutgoingAsyncBasePtr>(requestId, out));
|
|
765
785
|
}
|
|
766
786
|
return status;
|
|
767
787
|
}
|
|
768
788
|
|
|
769
|
-
|
|
770
|
-
Ice::ConnectionI::
|
|
789
|
+
BatchRequestQueuePtr
|
|
790
|
+
Ice::ConnectionI::getBatchRequestQueue() const
|
|
771
791
|
{
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
//
|
|
775
|
-
// Wait if flushing is currently in progress.
|
|
776
|
-
//
|
|
777
|
-
while(_batchStreamInUse && !_exception.get())
|
|
778
|
-
{
|
|
779
|
-
wait();
|
|
780
|
-
}
|
|
781
|
-
|
|
782
|
-
if(_exception.get())
|
|
783
|
-
{
|
|
784
|
-
//
|
|
785
|
-
// If there were no batch requests queued when the connection failed, we can safely
|
|
786
|
-
// retry with a new connection. Otherwise, we must throw to notify the caller that
|
|
787
|
-
// some previous batch requests were not sent.
|
|
788
|
-
//
|
|
789
|
-
if(_batchStream.b.empty())
|
|
790
|
-
{
|
|
791
|
-
throw RetryException(*_exception.get());
|
|
792
|
-
}
|
|
793
|
-
else
|
|
794
|
-
{
|
|
795
|
-
_exception->ice_throw();
|
|
796
|
-
}
|
|
797
|
-
}
|
|
798
|
-
|
|
799
|
-
assert(_state > StateNotValidated);
|
|
800
|
-
assert(_state < StateClosing);
|
|
801
|
-
|
|
802
|
-
if(_batchStream.b.empty())
|
|
803
|
-
{
|
|
804
|
-
try
|
|
805
|
-
{
|
|
806
|
-
_batchStream.writeBlob(requestBatchHdr, sizeof(requestBatchHdr));
|
|
807
|
-
}
|
|
808
|
-
catch(const LocalException& ex)
|
|
809
|
-
{
|
|
810
|
-
setState(StateClosed, ex);
|
|
811
|
-
ex.ice_throw();
|
|
812
|
-
}
|
|
813
|
-
}
|
|
814
|
-
|
|
815
|
-
_batchStreamInUse = true;
|
|
816
|
-
_batchMarker = _batchStream.b.size();
|
|
817
|
-
_batchStream.swap(*os);
|
|
818
|
-
|
|
819
|
-
//
|
|
820
|
-
// The batch stream now belongs to the caller, until
|
|
821
|
-
// finishBatchRequest() or abortBatchRequest() is called.
|
|
822
|
-
//
|
|
823
|
-
}
|
|
824
|
-
|
|
825
|
-
void
|
|
826
|
-
Ice::ConnectionI::finishBatchRequest(BasicStream* os, bool compress)
|
|
827
|
-
{
|
|
828
|
-
try
|
|
829
|
-
{
|
|
830
|
-
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
831
|
-
|
|
832
|
-
//
|
|
833
|
-
// Get the batch stream back.
|
|
834
|
-
//
|
|
835
|
-
_batchStream.swap(*os);
|
|
836
|
-
|
|
837
|
-
if(_exception.get())
|
|
838
|
-
{
|
|
839
|
-
return;
|
|
840
|
-
}
|
|
841
|
-
|
|
842
|
-
bool flush = false;
|
|
843
|
-
if(_batchAutoFlushSize > 0)
|
|
844
|
-
{
|
|
845
|
-
if(_batchStream.b.size() > _batchAutoFlushSize)
|
|
846
|
-
{
|
|
847
|
-
flush = true;
|
|
848
|
-
}
|
|
849
|
-
|
|
850
|
-
//
|
|
851
|
-
// Throw memory limit exception if the first message added causes us to
|
|
852
|
-
// go over limit. Otherwise put aside the marshalled message that caused
|
|
853
|
-
// limit to be exceeded and rollback stream to the marker.
|
|
854
|
-
//
|
|
855
|
-
try
|
|
856
|
-
{
|
|
857
|
-
_transceiver->checkSendSize(_batchStream);
|
|
858
|
-
}
|
|
859
|
-
catch(const Ice::Exception&)
|
|
860
|
-
{
|
|
861
|
-
if(_batchRequestNum > 0)
|
|
862
|
-
{
|
|
863
|
-
flush = true;
|
|
864
|
-
}
|
|
865
|
-
else
|
|
866
|
-
{
|
|
867
|
-
throw;
|
|
868
|
-
}
|
|
869
|
-
}
|
|
870
|
-
}
|
|
871
|
-
|
|
872
|
-
if(flush)
|
|
873
|
-
{
|
|
874
|
-
//
|
|
875
|
-
// Temporarily save the last request.
|
|
876
|
-
//
|
|
877
|
-
vector<Ice::Byte> lastRequest(_batchStream.b.begin() + _batchMarker, _batchStream.b.end());
|
|
878
|
-
_batchStream.b.resize(_batchMarker);
|
|
879
|
-
|
|
880
|
-
//
|
|
881
|
-
// Send the batch stream without the last request.
|
|
882
|
-
//
|
|
883
|
-
try
|
|
884
|
-
{
|
|
885
|
-
//
|
|
886
|
-
// Fill in the number of requests in the batch.
|
|
887
|
-
//
|
|
888
|
-
const Byte* p = reinterpret_cast<const Byte*>(&_batchRequestNum);
|
|
889
|
-
#ifdef ICE_BIG_ENDIAN
|
|
890
|
-
reverse_copy(p, p + sizeof(Int), _batchStream.b.begin() + headerSize);
|
|
891
|
-
#else
|
|
892
|
-
copy(p, p + sizeof(Int), _batchStream.b.begin() + headerSize);
|
|
893
|
-
#endif
|
|
894
|
-
|
|
895
|
-
OutgoingMessage message(&_batchStream, _batchRequestCompress);
|
|
896
|
-
sendMessage(message);
|
|
897
|
-
}
|
|
898
|
-
catch(const Ice::LocalException& ex)
|
|
899
|
-
{
|
|
900
|
-
setState(StateClosed, ex);
|
|
901
|
-
assert(_exception.get());
|
|
902
|
-
_exception->ice_throw();
|
|
903
|
-
}
|
|
904
|
-
|
|
905
|
-
//
|
|
906
|
-
// Reset the batch.
|
|
907
|
-
//
|
|
908
|
-
BasicStream dummy(_instance.get(), currentProtocolEncoding);
|
|
909
|
-
_batchStream.swap(dummy);
|
|
910
|
-
_batchRequestNum = 0;
|
|
911
|
-
_batchRequestCompress = false;
|
|
912
|
-
_batchMarker = 0;
|
|
913
|
-
|
|
914
|
-
//
|
|
915
|
-
// Start a new batch with the last message that caused us to go over the limit.
|
|
916
|
-
//
|
|
917
|
-
_batchStream.writeBlob(requestBatchHdr, sizeof(requestBatchHdr));
|
|
918
|
-
_batchStream.writeBlob(&lastRequest[0], lastRequest.size());
|
|
919
|
-
}
|
|
920
|
-
|
|
921
|
-
//
|
|
922
|
-
// Increment the number of requests in the batch.
|
|
923
|
-
//
|
|
924
|
-
++_batchRequestNum;
|
|
925
|
-
|
|
926
|
-
//
|
|
927
|
-
// We compress the whole batch if there is at least one compressed
|
|
928
|
-
// message.
|
|
929
|
-
//
|
|
930
|
-
if(compress)
|
|
931
|
-
{
|
|
932
|
-
_batchRequestCompress = true;
|
|
933
|
-
}
|
|
934
|
-
|
|
935
|
-
//
|
|
936
|
-
// Notify about the batch stream not being in use anymore.
|
|
937
|
-
//
|
|
938
|
-
assert(_batchStreamInUse);
|
|
939
|
-
_batchStreamInUse = false;
|
|
940
|
-
notifyAll();
|
|
941
|
-
}
|
|
942
|
-
catch(const Ice::LocalException&)
|
|
943
|
-
{
|
|
944
|
-
abortBatchRequest();
|
|
945
|
-
throw;
|
|
946
|
-
}
|
|
947
|
-
}
|
|
948
|
-
|
|
949
|
-
void
|
|
950
|
-
Ice::ConnectionI::abortBatchRequest()
|
|
951
|
-
{
|
|
952
|
-
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
953
|
-
|
|
954
|
-
BasicStream dummy(_instance.get(), currentProtocolEncoding);
|
|
955
|
-
_batchStream.swap(dummy);
|
|
956
|
-
_batchRequestNum = 0;
|
|
957
|
-
_batchRequestCompress = false;
|
|
958
|
-
_batchMarker = 0;
|
|
959
|
-
|
|
960
|
-
assert(_batchStreamInUse);
|
|
961
|
-
_batchStreamInUse = false;
|
|
962
|
-
notifyAll();
|
|
792
|
+
return _batchRequestQueue;
|
|
963
793
|
}
|
|
964
794
|
|
|
965
795
|
void
|
|
966
796
|
Ice::ConnectionI::flushBatchRequests()
|
|
967
797
|
{
|
|
968
|
-
|
|
798
|
+
ConnectionFlushBatch out(this, _instance.get(), __flushBatchRequests_name);
|
|
969
799
|
out.invoke();
|
|
970
800
|
}
|
|
971
801
|
|
|
@@ -1025,18 +855,18 @@ Ice::ConnectionI::begin_flushBatchRequests(const IceInternal::Function<void (con
|
|
|
1025
855
|
#else
|
|
1026
856
|
assert(false); // Ice not built with C++11 support.
|
|
1027
857
|
return 0;
|
|
1028
|
-
#endif
|
|
858
|
+
#endif
|
|
1029
859
|
}
|
|
1030
860
|
|
|
1031
861
|
AsyncResultPtr
|
|
1032
862
|
Ice::ConnectionI::__begin_flushBatchRequests(const CallbackBasePtr& cb, const LocalObjectPtr& cookie)
|
|
1033
863
|
{
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
864
|
+
ConnectionFlushBatchAsyncPtr result = new ConnectionFlushBatchAsync(this,
|
|
865
|
+
_communicator,
|
|
866
|
+
_instance,
|
|
867
|
+
__flushBatchRequests_name,
|
|
868
|
+
cb,
|
|
869
|
+
cookie);
|
|
1040
870
|
result->invoke();
|
|
1041
871
|
return result;
|
|
1042
872
|
}
|
|
@@ -1048,136 +878,6 @@ Ice::ConnectionI::end_flushBatchRequests(const AsyncResultPtr& r)
|
|
|
1048
878
|
r->__wait();
|
|
1049
879
|
}
|
|
1050
880
|
|
|
1051
|
-
bool
|
|
1052
|
-
Ice::ConnectionI::flushBatchRequests(OutgoingBase* out)
|
|
1053
|
-
{
|
|
1054
|
-
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
1055
|
-
while(_batchStreamInUse && !_exception.get())
|
|
1056
|
-
{
|
|
1057
|
-
wait();
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
|
-
if(_exception.get())
|
|
1061
|
-
{
|
|
1062
|
-
_exception->ice_throw();
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
if(_batchRequestNum == 0)
|
|
1066
|
-
{
|
|
1067
|
-
out->sent();
|
|
1068
|
-
return true;
|
|
1069
|
-
}
|
|
1070
|
-
|
|
1071
|
-
//
|
|
1072
|
-
// Fill in the number of requests in the batch.
|
|
1073
|
-
//
|
|
1074
|
-
const Byte* p = reinterpret_cast<const Byte*>(&_batchRequestNum);
|
|
1075
|
-
#ifdef ICE_BIG_ENDIAN
|
|
1076
|
-
reverse_copy(p, p + sizeof(Int), _batchStream.b.begin() + headerSize);
|
|
1077
|
-
#else
|
|
1078
|
-
copy(p, p + sizeof(Int), _batchStream.b.begin() + headerSize);
|
|
1079
|
-
#endif
|
|
1080
|
-
_batchStream.swap(*out->os());
|
|
1081
|
-
|
|
1082
|
-
out->attachRemoteObserver(initConnectionInfo(), _endpoint, 0);
|
|
1083
|
-
|
|
1084
|
-
//
|
|
1085
|
-
// Send the batch stream.
|
|
1086
|
-
//
|
|
1087
|
-
bool sent = false;
|
|
1088
|
-
try
|
|
1089
|
-
{
|
|
1090
|
-
OutgoingMessage message(out, out->os(), _batchRequestCompress, 0);
|
|
1091
|
-
sent = sendMessage(message) & AsyncStatusSent;
|
|
1092
|
-
}
|
|
1093
|
-
catch(const Ice::LocalException& ex)
|
|
1094
|
-
{
|
|
1095
|
-
setState(StateClosed, ex);
|
|
1096
|
-
assert(_exception.get());
|
|
1097
|
-
_exception->ice_throw();
|
|
1098
|
-
}
|
|
1099
|
-
|
|
1100
|
-
//
|
|
1101
|
-
// Reset the batch stream.
|
|
1102
|
-
//
|
|
1103
|
-
BasicStream dummy(_instance.get(), Ice::currentProtocolEncoding);
|
|
1104
|
-
_batchStream.swap(dummy);
|
|
1105
|
-
_batchRequestNum = 0;
|
|
1106
|
-
_batchRequestCompress = false;
|
|
1107
|
-
_batchMarker = 0;
|
|
1108
|
-
return sent;
|
|
1109
|
-
}
|
|
1110
|
-
|
|
1111
|
-
AsyncStatus
|
|
1112
|
-
Ice::ConnectionI::flushAsyncBatchRequests(const OutgoingAsyncBasePtr& outAsync)
|
|
1113
|
-
{
|
|
1114
|
-
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
1115
|
-
while(_batchStreamInUse && !_exception.get())
|
|
1116
|
-
{
|
|
1117
|
-
wait();
|
|
1118
|
-
}
|
|
1119
|
-
|
|
1120
|
-
if(_exception.get())
|
|
1121
|
-
{
|
|
1122
|
-
_exception->ice_throw();
|
|
1123
|
-
}
|
|
1124
|
-
|
|
1125
|
-
if(_batchRequestNum == 0)
|
|
1126
|
-
{
|
|
1127
|
-
AsyncStatus status = AsyncStatusSent;
|
|
1128
|
-
if(outAsync->sent())
|
|
1129
|
-
{
|
|
1130
|
-
status = static_cast<AsyncStatus>(status | AsyncStatusInvokeSentCallback);
|
|
1131
|
-
}
|
|
1132
|
-
return status;
|
|
1133
|
-
}
|
|
1134
|
-
|
|
1135
|
-
//
|
|
1136
|
-
// Notify the request that it's cancelable with this connection.
|
|
1137
|
-
// This will throw if the request is canceled.
|
|
1138
|
-
//
|
|
1139
|
-
outAsync->cancelable(this);
|
|
1140
|
-
|
|
1141
|
-
//
|
|
1142
|
-
// Fill in the number of requests in the batch.
|
|
1143
|
-
//
|
|
1144
|
-
const Byte* p = reinterpret_cast<const Byte*>(&_batchRequestNum);
|
|
1145
|
-
#ifdef ICE_BIG_ENDIAN
|
|
1146
|
-
reverse_copy(p, p + sizeof(Int), _batchStream.b.begin() + headerSize);
|
|
1147
|
-
#else
|
|
1148
|
-
copy(p, p + sizeof(Int), _batchStream.b.begin() + headerSize);
|
|
1149
|
-
#endif
|
|
1150
|
-
_batchStream.swap(*outAsync->getOs());
|
|
1151
|
-
|
|
1152
|
-
outAsync->attachRemoteObserver(initConnectionInfo(), _endpoint, 0);
|
|
1153
|
-
|
|
1154
|
-
//
|
|
1155
|
-
// Send the batch stream.
|
|
1156
|
-
//
|
|
1157
|
-
AsyncStatus status = AsyncStatusQueued;
|
|
1158
|
-
try
|
|
1159
|
-
{
|
|
1160
|
-
OutgoingMessage message(outAsync, outAsync->getOs(), _batchRequestCompress, 0);
|
|
1161
|
-
status = sendMessage(message);
|
|
1162
|
-
}
|
|
1163
|
-
catch(const Ice::LocalException& ex)
|
|
1164
|
-
{
|
|
1165
|
-
setState(StateClosed, ex);
|
|
1166
|
-
assert(_exception.get());
|
|
1167
|
-
_exception->ice_throw();
|
|
1168
|
-
}
|
|
1169
|
-
|
|
1170
|
-
//
|
|
1171
|
-
// Reset the batch stream.
|
|
1172
|
-
//
|
|
1173
|
-
BasicStream dummy(_instance.get(), Ice::currentProtocolEncoding);
|
|
1174
|
-
_batchStream.swap(dummy);
|
|
1175
|
-
_batchRequestNum = 0;
|
|
1176
|
-
_batchRequestCompress = false;
|
|
1177
|
-
_batchMarker = 0;
|
|
1178
|
-
return status;
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
881
|
void
|
|
1182
882
|
Ice::ConnectionI::setCallback(const ConnectionCallbackPtr& callback)
|
|
1183
883
|
{
|
|
@@ -1294,7 +994,7 @@ Ice::ConnectionI::requestCanceled(OutgoingBase* out, const Ice::LocalException&
|
|
|
1294
994
|
{
|
|
1295
995
|
if(o->requestId)
|
|
1296
996
|
{
|
|
1297
|
-
if(_requestsHint != _requests.end() && _requestsHint->second ==
|
|
997
|
+
if(_requestsHint != _requests.end() && _requestsHint->second == out)
|
|
1298
998
|
{
|
|
1299
999
|
_requests.erase(_requestsHint);
|
|
1300
1000
|
_requestsHint = _requests.end();
|
|
@@ -1330,10 +1030,9 @@ Ice::ConnectionI::requestCanceled(OutgoingBase* out, const Ice::LocalException&
|
|
|
1330
1030
|
}
|
|
1331
1031
|
}
|
|
1332
1032
|
|
|
1333
|
-
|
|
1334
|
-
if(o)
|
|
1033
|
+
if(dynamic_cast<Outgoing*>(out))
|
|
1335
1034
|
{
|
|
1336
|
-
if(_requestsHint != _requests.end() && _requestsHint->second ==
|
|
1035
|
+
if(_requestsHint != _requests.end() && _requestsHint->second == out)
|
|
1337
1036
|
{
|
|
1338
1037
|
if(dynamic_cast<const Ice::ConnectionTimeoutException*>(&ex))
|
|
1339
1038
|
{
|
|
@@ -1341,7 +1040,7 @@ Ice::ConnectionI::requestCanceled(OutgoingBase* out, const Ice::LocalException&
|
|
|
1341
1040
|
}
|
|
1342
1041
|
else
|
|
1343
1042
|
{
|
|
1344
|
-
|
|
1043
|
+
out->completed(ex);
|
|
1345
1044
|
_requests.erase(_requestsHint);
|
|
1346
1045
|
_requestsHint = _requests.end();
|
|
1347
1046
|
}
|
|
@@ -1349,9 +1048,9 @@ Ice::ConnectionI::requestCanceled(OutgoingBase* out, const Ice::LocalException&
|
|
|
1349
1048
|
}
|
|
1350
1049
|
else
|
|
1351
1050
|
{
|
|
1352
|
-
for(map<Int,
|
|
1051
|
+
for(map<Int, OutgoingBase*>::iterator p = _requests.begin(); p != _requests.end(); ++p)
|
|
1353
1052
|
{
|
|
1354
|
-
if(p->second ==
|
|
1053
|
+
if(p->second == out)
|
|
1355
1054
|
{
|
|
1356
1055
|
if(dynamic_cast<const Ice::ConnectionTimeoutException*>(&ex))
|
|
1357
1056
|
{
|
|
@@ -1359,7 +1058,7 @@ Ice::ConnectionI::requestCanceled(OutgoingBase* out, const Ice::LocalException&
|
|
|
1359
1058
|
}
|
|
1360
1059
|
else
|
|
1361
1060
|
{
|
|
1362
|
-
|
|
1061
|
+
p->second->completed(ex);
|
|
1363
1062
|
assert(p != _requestsHint);
|
|
1364
1063
|
_requests.erase(p);
|
|
1365
1064
|
}
|
|
@@ -1382,7 +1081,7 @@ Ice::ConnectionI::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, con
|
|
|
1382
1081
|
{
|
|
1383
1082
|
return; // The request has already been or will be shortly notified of the failure.
|
|
1384
1083
|
}
|
|
1385
|
-
|
|
1084
|
+
|
|
1386
1085
|
for(deque<OutgoingMessage>::iterator o = _sendStreams.begin(); o != _sendStreams.end(); ++o)
|
|
1387
1086
|
{
|
|
1388
1087
|
if(o->outAsync.get() == outAsync.get())
|
|
@@ -1400,7 +1099,7 @@ Ice::ConnectionI::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, con
|
|
|
1400
1099
|
_asyncRequests.erase(o->requestId);
|
|
1401
1100
|
}
|
|
1402
1101
|
}
|
|
1403
|
-
|
|
1102
|
+
|
|
1404
1103
|
if(dynamic_cast<const Ice::ConnectionTimeoutException*>(&ex))
|
|
1405
1104
|
{
|
|
1406
1105
|
setState(StateClosed, ex);
|
|
@@ -1428,13 +1127,12 @@ Ice::ConnectionI::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, con
|
|
|
1428
1127
|
return;
|
|
1429
1128
|
}
|
|
1430
1129
|
}
|
|
1431
|
-
|
|
1432
|
-
OutgoingAsyncPtr
|
|
1433
|
-
if(o)
|
|
1130
|
+
|
|
1131
|
+
if(OutgoingAsyncPtr::dynamicCast(outAsync))
|
|
1434
1132
|
{
|
|
1435
1133
|
if(_asyncRequestsHint != _asyncRequests.end())
|
|
1436
1134
|
{
|
|
1437
|
-
if(_asyncRequestsHint->second ==
|
|
1135
|
+
if(_asyncRequestsHint->second == outAsync)
|
|
1438
1136
|
{
|
|
1439
1137
|
if(dynamic_cast<const Ice::ConnectionTimeoutException*>(&ex))
|
|
1440
1138
|
{
|
|
@@ -1443,7 +1141,7 @@ Ice::ConnectionI::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, con
|
|
|
1443
1141
|
else
|
|
1444
1142
|
{
|
|
1445
1143
|
_asyncRequests.erase(_asyncRequestsHint);
|
|
1446
|
-
_asyncRequestsHint = _asyncRequests.end();
|
|
1144
|
+
_asyncRequestsHint = _asyncRequests.end();
|
|
1447
1145
|
if(outAsync->completed(ex))
|
|
1448
1146
|
{
|
|
1449
1147
|
outAsync->invokeCompletedAsync();
|
|
@@ -1452,10 +1150,10 @@ Ice::ConnectionI::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, con
|
|
|
1452
1150
|
return;
|
|
1453
1151
|
}
|
|
1454
1152
|
}
|
|
1455
|
-
|
|
1456
|
-
for(map<Int,
|
|
1153
|
+
|
|
1154
|
+
for(map<Int, OutgoingAsyncBasePtr>::iterator p = _asyncRequests.begin(); p != _asyncRequests.end(); ++p)
|
|
1457
1155
|
{
|
|
1458
|
-
if(p->second.get() ==
|
|
1156
|
+
if(p->second.get() == outAsync.get())
|
|
1459
1157
|
{
|
|
1460
1158
|
if(dynamic_cast<const Ice::ConnectionTimeoutException*>(&ex))
|
|
1461
1159
|
{
|
|
@@ -1768,7 +1466,7 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current)
|
|
|
1768
1466
|
Int invokeNum = 0;
|
|
1769
1467
|
ServantManagerPtr servantManager;
|
|
1770
1468
|
ObjectAdapterPtr adapter;
|
|
1771
|
-
|
|
1469
|
+
OutgoingAsyncBasePtr outAsync;
|
|
1772
1470
|
ConnectionCallbackPtr heartbeatCallback;
|
|
1773
1471
|
int dispatchCount = 0;
|
|
1774
1472
|
|
|
@@ -2038,7 +1736,7 @@ Ice::ConnectionI::message(ThreadPoolCurrent& current)
|
|
|
2038
1736
|
void
|
|
2039
1737
|
ConnectionI::dispatch(const StartCallbackPtr& startCB, const vector<OutgoingMessage>& sentCBs,
|
|
2040
1738
|
Byte compress, Int requestId, Int invokeNum, const ServantManagerPtr& servantManager,
|
|
2041
|
-
const ObjectAdapterPtr& adapter, const
|
|
1739
|
+
const ObjectAdapterPtr& adapter, const OutgoingAsyncBasePtr& outAsync,
|
|
2042
1740
|
const ConnectionCallbackPtr& heartbeatCallback, BasicStream& stream)
|
|
2043
1741
|
{
|
|
2044
1742
|
int dispatchedCount = 0;
|
|
@@ -2289,13 +1987,13 @@ Ice::ConnectionI::finish(bool close)
|
|
|
2289
1987
|
_sendStreams.clear(); // Must be cleared before _requests because of Outgoing* references in OutgoingMessage
|
|
2290
1988
|
}
|
|
2291
1989
|
|
|
2292
|
-
for(map<Int,
|
|
1990
|
+
for(map<Int, OutgoingBase*>::const_iterator p = _requests.begin(); p != _requests.end(); ++p)
|
|
2293
1991
|
{
|
|
2294
1992
|
p->second->completed(*_exception.get());
|
|
2295
1993
|
}
|
|
2296
1994
|
_requests.clear();
|
|
2297
1995
|
|
|
2298
|
-
for(map<Int,
|
|
1996
|
+
for(map<Int, OutgoingAsyncBasePtr>::const_iterator q = _asyncRequests.begin(); q != _asyncRequests.end(); ++q)
|
|
2299
1997
|
{
|
|
2300
1998
|
if(q->second->completed(*_exception.get()))
|
|
2301
1999
|
{
|
|
@@ -2378,6 +2076,18 @@ Ice::ConnectionI::getInfo() const
|
|
|
2378
2076
|
return initConnectionInfo();
|
|
2379
2077
|
}
|
|
2380
2078
|
|
|
2079
|
+
void
|
|
2080
|
+
Ice::ConnectionI::setBufferSize(Ice::Int rcvSize, Ice::Int sndSize)
|
|
2081
|
+
{
|
|
2082
|
+
IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*this);
|
|
2083
|
+
if(_state >= StateClosed)
|
|
2084
|
+
{
|
|
2085
|
+
_exception->ice_throw();
|
|
2086
|
+
}
|
|
2087
|
+
_transceiver->setBufferSize(rcvSize, sndSize);
|
|
2088
|
+
_info = 0; // Invalidate the cached connection info
|
|
2089
|
+
}
|
|
2090
|
+
|
|
2381
2091
|
void
|
|
2382
2092
|
Ice::ConnectionI::exception(const LocalException& ex)
|
|
2383
2093
|
{
|
|
@@ -2416,12 +2126,7 @@ Ice::ConnectionI::ConnectionI(const CommunicatorPtr& communicator,
|
|
|
2416
2126
|
_requestsHint(_requests.end()),
|
|
2417
2127
|
_asyncRequestsHint(_asyncRequests.end()),
|
|
2418
2128
|
_messageSizeMax(adapter ? adapter->messageSizeMax() : _instance->messageSizeMax()),
|
|
2419
|
-
|
|
2420
|
-
_batchStream(_instance.get(), Ice::currentProtocolEncoding),
|
|
2421
|
-
_batchStreamInUse(false),
|
|
2422
|
-
_batchRequestNum(0),
|
|
2423
|
-
_batchRequestCompress(false),
|
|
2424
|
-
_batchMarker(0),
|
|
2129
|
+
_batchRequestQueue(new BatchRequestQueue(instance, endpoint->datagram())),
|
|
2425
2130
|
_readStream(_instance.get(), Ice::currentProtocolEncoding),
|
|
2426
2131
|
_readHeader(false),
|
|
2427
2132
|
_writeStream(_instance.get(), Ice::currentProtocolEncoding),
|
|
@@ -2634,6 +2339,8 @@ Ice::ConnectionI::setState(State state)
|
|
|
2634
2339
|
return;
|
|
2635
2340
|
}
|
|
2636
2341
|
|
|
2342
|
+
_batchRequestQueue->destroy(*_exception.get());
|
|
2343
|
+
|
|
2637
2344
|
//
|
|
2638
2345
|
// Don't need to close now for connections so only close the transceiver
|
|
2639
2346
|
// if the selector request it.
|
|
@@ -3014,7 +2721,7 @@ Ice::ConnectionI::sendNextMessage(vector<OutgoingMessage>& callbacks)
|
|
|
3014
2721
|
//
|
|
3015
2722
|
message = &_sendStreams.front();
|
|
3016
2723
|
assert(!message->stream->i);
|
|
3017
|
-
#
|
|
2724
|
+
#ifdef ICE_HAS_BZIP2
|
|
3018
2725
|
if(message->compress && message->stream->b.size() >= 100) // Only compress messages > 100 bytes.
|
|
3019
2726
|
{
|
|
3020
2727
|
//
|
|
@@ -3070,7 +2777,7 @@ Ice::ConnectionI::sendNextMessage(vector<OutgoingMessage>& callbacks)
|
|
|
3070
2777
|
{
|
|
3071
2778
|
traceSend(*message->stream, _logger, _traceLevels);
|
|
3072
2779
|
}
|
|
3073
|
-
#
|
|
2780
|
+
#ifdef ICE_HAS_BZIP2
|
|
3074
2781
|
}
|
|
3075
2782
|
#endif
|
|
3076
2783
|
_writeStream.swap(*message->stream);
|
|
@@ -3139,7 +2846,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message)
|
|
|
3139
2846
|
|
|
3140
2847
|
message.stream->i = message.stream->b.begin();
|
|
3141
2848
|
SocketOperation op;
|
|
3142
|
-
#
|
|
2849
|
+
#ifdef ICE_HAS_BZIP2
|
|
3143
2850
|
if(message.compress && message.stream->b.size() >= 100) // Only compress messages larger than 100 bytes.
|
|
3144
2851
|
{
|
|
3145
2852
|
//
|
|
@@ -3253,7 +2960,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message)
|
|
|
3253
2960
|
|
|
3254
2961
|
_sendStreams.push_back(message);
|
|
3255
2962
|
_sendStreams.back().adopt(0); // Adopt the stream.
|
|
3256
|
-
#
|
|
2963
|
+
#ifdef ICE_HAS_BZIP2
|
|
3257
2964
|
}
|
|
3258
2965
|
#endif
|
|
3259
2966
|
|
|
@@ -3263,7 +2970,7 @@ Ice::ConnectionI::sendMessage(OutgoingMessage& message)
|
|
|
3263
2970
|
return AsyncStatusQueued;
|
|
3264
2971
|
}
|
|
3265
2972
|
|
|
3266
|
-
#
|
|
2973
|
+
#ifdef ICE_HAS_BZIP2
|
|
3267
2974
|
static string
|
|
3268
2975
|
getBZ2Error(int bzError)
|
|
3269
2976
|
{
|
|
@@ -3418,7 +3125,7 @@ Ice::ConnectionI::doUncompress(BasicStream& compressed, BasicStream& uncompresse
|
|
|
3418
3125
|
SocketOperation
|
|
3419
3126
|
Ice::ConnectionI::parseMessage(BasicStream& stream, Int& invokeNum, Int& requestId, Byte& compress,
|
|
3420
3127
|
ServantManagerPtr& servantManager, ObjectAdapterPtr& adapter,
|
|
3421
|
-
|
|
3128
|
+
OutgoingAsyncBasePtr& outAsync, ConnectionCallbackPtr& heartbeatCallback,
|
|
3422
3129
|
int& dispatchCount)
|
|
3423
3130
|
{
|
|
3424
3131
|
assert(_state > StateNotValidated && _state < StateClosed);
|
|
@@ -3451,14 +3158,18 @@ Ice::ConnectionI::parseMessage(BasicStream& stream, Int& invokeNum, Int& request
|
|
|
3451
3158
|
stream.read(messageType);
|
|
3452
3159
|
stream.read(compress);
|
|
3453
3160
|
|
|
3454
|
-
#ifndef ICE_OS_WINRT
|
|
3455
3161
|
if(compress == 2)
|
|
3456
3162
|
{
|
|
3163
|
+
#ifdef ICE_HAS_BZIP2
|
|
3457
3164
|
BasicStream ustream(_instance.get(), Ice::currentProtocolEncoding);
|
|
3458
3165
|
doUncompress(stream, ustream);
|
|
3459
3166
|
stream.b.swap(ustream.b);
|
|
3460
|
-
|
|
3167
|
+
#else
|
|
3168
|
+
FeatureNotSupportedException ex(__FILE__, __LINE__);
|
|
3169
|
+
ex.unsupportedFeature = "Cannot uncompress compressed message";
|
|
3170
|
+
throw ex;
|
|
3461
3171
|
#endif
|
|
3172
|
+
}
|
|
3462
3173
|
stream.i = stream.b.begin() + headerSize;
|
|
3463
3174
|
|
|
3464
3175
|
switch(messageType)
|
|
@@ -3539,8 +3250,8 @@ Ice::ConnectionI::parseMessage(BasicStream& stream, Int& invokeNum, Int& request
|
|
|
3539
3250
|
|
|
3540
3251
|
stream.read(requestId);
|
|
3541
3252
|
|
|
3542
|
-
map<Int,
|
|
3543
|
-
map<Int,
|
|
3253
|
+
map<Int, OutgoingBase*>::iterator p = _requests.end();
|
|
3254
|
+
map<Int, OutgoingAsyncBasePtr>::iterator q = _asyncRequests.end();
|
|
3544
3255
|
|
|
3545
3256
|
if(_requestsHint != _requests.end())
|
|
3546
3257
|
{
|
|
@@ -3800,20 +3511,23 @@ Ice::ConnectionI::unscheduleTimeout(SocketOperation status)
|
|
|
3800
3511
|
Ice::ConnectionInfoPtr
|
|
3801
3512
|
Ice::ConnectionI::initConnectionInfo() const
|
|
3802
3513
|
{
|
|
3803
|
-
if(_info)
|
|
3514
|
+
if(_state > StateNotInitialized && _info) // Update the connection information until it's initialized
|
|
3804
3515
|
{
|
|
3805
3516
|
return _info;
|
|
3806
3517
|
}
|
|
3807
3518
|
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
|
|
3811
|
-
|
|
3812
|
-
|
|
3519
|
+
try
|
|
3520
|
+
{
|
|
3521
|
+
_info = _transceiver->getInfo();
|
|
3522
|
+
}
|
|
3523
|
+
catch(const Ice::LocalException&)
|
|
3813
3524
|
{
|
|
3814
|
-
_info =
|
|
3525
|
+
_info = new ConnectionInfo();
|
|
3815
3526
|
}
|
|
3816
|
-
|
|
3527
|
+
_info->connectionId = _endpoint->connectionId();
|
|
3528
|
+
_info->incoming = _connector == 0;
|
|
3529
|
+
_info->adapterName = _adapter ? _adapter->getName() : string();
|
|
3530
|
+
return _info;
|
|
3817
3531
|
}
|
|
3818
3532
|
|
|
3819
3533
|
ConnectionState
|