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
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
|
|
4
|
+
//
|
|
5
|
+
// This copy of Ice is licensed to you under the terms described in the
|
|
6
|
+
// ICE_LICENSE file included in this distribution.
|
|
7
|
+
//
|
|
8
|
+
// **********************************************************************
|
|
9
|
+
|
|
10
|
+
#ifndef ICE_BATCH_REQUEST_QUEUE_H
|
|
11
|
+
#define ICE_BATCH_REQUEST_QUEUE_H
|
|
12
|
+
|
|
13
|
+
#include <IceUtil/Shared.h>
|
|
14
|
+
#include <IceUtil/Mutex.h>
|
|
15
|
+
#include <IceUtil/Monitor.h>
|
|
16
|
+
#include <IceUtil/UniquePtr.h>
|
|
17
|
+
|
|
18
|
+
#include <Ice/BatchRequestInterceptor.h>
|
|
19
|
+
#include <Ice/BatchRequestQueueF.h>
|
|
20
|
+
#include <Ice/InstanceF.h>
|
|
21
|
+
#include <Ice/BasicStream.h>
|
|
22
|
+
|
|
23
|
+
namespace IceInternal
|
|
24
|
+
{
|
|
25
|
+
|
|
26
|
+
class BatchRequestQueue : public IceUtil::Shared, private IceUtil::Monitor<IceUtil::Mutex>
|
|
27
|
+
{
|
|
28
|
+
public:
|
|
29
|
+
|
|
30
|
+
BatchRequestQueue(const InstancePtr&, bool);
|
|
31
|
+
|
|
32
|
+
void prepareBatchRequest(BasicStream*);
|
|
33
|
+
void finishBatchRequest(BasicStream*, const Ice::ObjectPrx&, const std::string&);
|
|
34
|
+
void abortBatchRequest(BasicStream*);
|
|
35
|
+
|
|
36
|
+
int swap(BasicStream*);
|
|
37
|
+
|
|
38
|
+
void destroy(const Ice::LocalException&);
|
|
39
|
+
bool isEmpty();
|
|
40
|
+
|
|
41
|
+
void enqueueBatchRequest();
|
|
42
|
+
|
|
43
|
+
private:
|
|
44
|
+
|
|
45
|
+
void waitStreamInUse(bool);
|
|
46
|
+
|
|
47
|
+
Ice::BatchRequestInterceptorPtr _interceptor;
|
|
48
|
+
BasicStream _batchStream;
|
|
49
|
+
bool _batchStreamInUse;
|
|
50
|
+
bool _batchStreamCanFlush;
|
|
51
|
+
int _batchRequestNum;
|
|
52
|
+
size_t _batchMarker;
|
|
53
|
+
IceUtil::UniquePtr<Ice::LocalException> _exception;
|
|
54
|
+
size_t _maxSize;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
#endif
|
|
@@ -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.
|
|
@@ -18,7 +18,7 @@ void
|
|
|
18
18
|
IceInternal::Buffer::swapBuffer(Buffer& other)
|
|
19
19
|
{
|
|
20
20
|
b.swap(other.b);
|
|
21
|
-
std::swap(i, other.i);
|
|
21
|
+
std::swap(i, other.i);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
IceInternal::Buffer::Container::Container() :
|
|
@@ -87,7 +87,7 @@ IceInternal::Buffer::Container::reserve(size_type n)
|
|
|
87
87
|
{
|
|
88
88
|
return;
|
|
89
89
|
}
|
|
90
|
-
|
|
90
|
+
|
|
91
91
|
pointer p = reinterpret_cast<pointer>(::realloc(_buf, _capacity));
|
|
92
92
|
if(!p)
|
|
93
93
|
{
|
|
@@ -1,13 +1,13 @@
|
|
|
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.
|
|
7
7
|
//
|
|
8
8
|
// **********************************************************************
|
|
9
9
|
//
|
|
10
|
-
// Ice version 3.
|
|
10
|
+
// Ice version 3.6.0
|
|
11
11
|
//
|
|
12
12
|
// <auto-generated>
|
|
13
13
|
//
|
|
@@ -28,7 +28,13 @@
|
|
|
28
28
|
#include <IceUtil/PopDisableWarnings.h>
|
|
29
29
|
|
|
30
30
|
#ifndef ICE_IGNORE_VERSION
|
|
31
|
-
# if ICE_INT_VERSION
|
|
32
|
-
# error Ice version mismatch
|
|
31
|
+
# if ICE_INT_VERSION / 100 != 306
|
|
32
|
+
# error Ice version mismatch!
|
|
33
|
+
# endif
|
|
34
|
+
# if ICE_INT_VERSION % 100 > 50
|
|
35
|
+
# error Beta header file detected
|
|
36
|
+
# endif
|
|
37
|
+
# if ICE_INT_VERSION % 100 < 0
|
|
38
|
+
# error Ice patch level mismatch!
|
|
33
39
|
# endif
|
|
34
40
|
#endif
|
|
@@ -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.
|
|
@@ -29,14 +29,13 @@ namespace
|
|
|
29
29
|
class InvokeAll : public DispatchWorkItem
|
|
30
30
|
{
|
|
31
31
|
public:
|
|
32
|
-
|
|
32
|
+
|
|
33
33
|
InvokeAll(OutgoingBase* out,
|
|
34
34
|
BasicStream* os,
|
|
35
|
-
CollocatedRequestHandler* handler,
|
|
35
|
+
CollocatedRequestHandler* handler,
|
|
36
36
|
Int requestId,
|
|
37
|
-
Int
|
|
38
|
-
|
|
39
|
-
_out(out), _os(os), _handler(handler), _requestId(requestId), _invokeNum(invokeNum), _batch(batch)
|
|
37
|
+
Int batchRequestNum) :
|
|
38
|
+
_out(out), _os(os), _handler(handler), _requestId(requestId), _batchRequestNum(batchRequestNum)
|
|
40
39
|
{
|
|
41
40
|
}
|
|
42
41
|
|
|
@@ -45,31 +44,29 @@ public:
|
|
|
45
44
|
{
|
|
46
45
|
if(_handler->sent(_out))
|
|
47
46
|
{
|
|
48
|
-
_handler->invokeAll(_os, _requestId,
|
|
47
|
+
_handler->invokeAll(_os, _requestId, _batchRequestNum);
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
|
-
|
|
50
|
+
|
|
52
51
|
private:
|
|
53
|
-
|
|
52
|
+
|
|
54
53
|
OutgoingBase* _out;
|
|
55
54
|
BasicStream* _os;
|
|
56
55
|
CollocatedRequestHandlerPtr _handler;
|
|
57
56
|
Int _requestId;
|
|
58
|
-
Int
|
|
59
|
-
bool _batch;
|
|
57
|
+
Int _batchRequestNum;
|
|
60
58
|
};
|
|
61
59
|
|
|
62
60
|
class InvokeAllAsync : public DispatchWorkItem
|
|
63
61
|
{
|
|
64
62
|
public:
|
|
65
|
-
|
|
63
|
+
|
|
66
64
|
InvokeAllAsync(const OutgoingAsyncBasePtr& outAsync,
|
|
67
65
|
BasicStream* os,
|
|
68
|
-
CollocatedRequestHandler* handler,
|
|
66
|
+
CollocatedRequestHandler* handler,
|
|
69
67
|
Int requestId,
|
|
70
|
-
Int
|
|
71
|
-
|
|
72
|
-
_outAsync(outAsync), _os(os), _handler(handler), _requestId(requestId), _invokeNum(invokeNum), _batch(batch)
|
|
68
|
+
Int batchRequestNum) :
|
|
69
|
+
_outAsync(outAsync), _os(os), _handler(handler), _requestId(requestId), _batchRequestNum(batchRequestNum)
|
|
73
70
|
{
|
|
74
71
|
}
|
|
75
72
|
|
|
@@ -78,46 +75,17 @@ public:
|
|
|
78
75
|
{
|
|
79
76
|
if(_handler->sentAsync(_outAsync.get()))
|
|
80
77
|
{
|
|
81
|
-
_handler->invokeAll(_os, _requestId,
|
|
78
|
+
_handler->invokeAll(_os, _requestId, _batchRequestNum);
|
|
82
79
|
}
|
|
83
80
|
}
|
|
84
|
-
|
|
81
|
+
|
|
85
82
|
private:
|
|
86
|
-
|
|
83
|
+
|
|
87
84
|
OutgoingAsyncBasePtr _outAsync;
|
|
88
85
|
BasicStream* _os;
|
|
89
86
|
CollocatedRequestHandlerPtr _handler;
|
|
90
87
|
Int _requestId;
|
|
91
|
-
Int
|
|
92
|
-
bool _batch;
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
class InvokeBatchRequests : public DispatchWorkItem
|
|
96
|
-
{
|
|
97
|
-
public:
|
|
98
|
-
|
|
99
|
-
InvokeBatchRequests(const CollocatedRequestHandlerPtr& handler,
|
|
100
|
-
BasicStream& stream,
|
|
101
|
-
Int invokeNum) :
|
|
102
|
-
_handler(handler),
|
|
103
|
-
_stream(stream.instance(), currentProtocolEncoding),
|
|
104
|
-
_invokeNum(invokeNum)
|
|
105
|
-
{
|
|
106
|
-
_stream.swap(stream);
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
virtual void
|
|
110
|
-
run()
|
|
111
|
-
{
|
|
112
|
-
_handler->invokeAll(&_stream, 0, _invokeNum, true);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
private:
|
|
116
|
-
|
|
117
|
-
const CollocatedRequestHandlerPtr _handler;
|
|
118
|
-
const OutgoingAsyncBasePtr _outAsync;
|
|
119
|
-
BasicStream _stream;
|
|
120
|
-
Int _invokeNum;
|
|
88
|
+
Int _batchRequestNum;
|
|
121
89
|
};
|
|
122
90
|
|
|
123
91
|
void
|
|
@@ -134,16 +102,12 @@ fillInValue(BasicStream* os, int pos, Int value)
|
|
|
134
102
|
}
|
|
135
103
|
|
|
136
104
|
CollocatedRequestHandler::CollocatedRequestHandler(const ReferencePtr& ref, const ObjectAdapterPtr& adapter) :
|
|
137
|
-
RequestHandler(ref),
|
|
138
|
-
_adapter(ObjectAdapterIPtr::dynamicCast(adapter)),
|
|
105
|
+
RequestHandler(ref),
|
|
106
|
+
_adapter(ObjectAdapterIPtr::dynamicCast(adapter)),
|
|
139
107
|
_dispatcher(_reference->getInstance()->initializationData().dispatcher),
|
|
140
108
|
_logger(_reference->getInstance()->initializationData().logger), // Cached for better performance.
|
|
141
109
|
_traceLevels(_reference->getInstance()->traceLevels()), // Cached for better performance.
|
|
142
|
-
|
|
143
|
-
_requestId(0),
|
|
144
|
-
_batchStreamInUse(false),
|
|
145
|
-
_batchRequestNum(0),
|
|
146
|
-
_batchStream(ref->getInstance().get(), currentProtocolEncoding)
|
|
110
|
+
_requestId(0)
|
|
147
111
|
{
|
|
148
112
|
}
|
|
149
113
|
|
|
@@ -151,125 +115,30 @@ CollocatedRequestHandler::~CollocatedRequestHandler()
|
|
|
151
115
|
{
|
|
152
116
|
}
|
|
153
117
|
|
|
154
|
-
RequestHandlerPtr
|
|
155
|
-
CollocatedRequestHandler::connect(const Ice::ObjectPrx&)
|
|
156
|
-
{
|
|
157
|
-
return this;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
118
|
RequestHandlerPtr
|
|
161
119
|
CollocatedRequestHandler::update(const RequestHandlerPtr& previousHandler, const RequestHandlerPtr& newHandler)
|
|
162
120
|
{
|
|
163
121
|
return previousHandler.get() == this ? newHandler : this;
|
|
164
122
|
}
|
|
165
123
|
|
|
166
|
-
void
|
|
167
|
-
CollocatedRequestHandler::prepareBatchRequest(BasicStream* os)
|
|
168
|
-
{
|
|
169
|
-
Lock sync(*this);
|
|
170
|
-
while(_batchStreamInUse)
|
|
171
|
-
{
|
|
172
|
-
wait();
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
if(_batchStream.b.empty())
|
|
176
|
-
{
|
|
177
|
-
try
|
|
178
|
-
{
|
|
179
|
-
_batchStream.writeBlob(requestBatchHdr, sizeof(requestBatchHdr));
|
|
180
|
-
}
|
|
181
|
-
catch(const LocalException& ex)
|
|
182
|
-
{
|
|
183
|
-
ex.ice_throw();
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
_batchStreamInUse = true;
|
|
188
|
-
_batchMarker = _batchStream.b.size();
|
|
189
|
-
_batchStream.swap(*os);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
void
|
|
193
|
-
CollocatedRequestHandler::finishBatchRequest(BasicStream* os)
|
|
194
|
-
{
|
|
195
|
-
try
|
|
196
|
-
{
|
|
197
|
-
Lock sync(*this);
|
|
198
|
-
_batchStream.swap(*os);
|
|
199
|
-
|
|
200
|
-
if(_batchAutoFlushSize > 0 && (_batchStream.b.size() > _batchAutoFlushSize))
|
|
201
|
-
{
|
|
202
|
-
//
|
|
203
|
-
// Temporarily save the last request.
|
|
204
|
-
//
|
|
205
|
-
vector<Byte> lastRequest(_batchStream.b.begin() + _batchMarker, _batchStream.b.end());
|
|
206
|
-
_batchStream.b.resize(_batchMarker);
|
|
207
|
-
|
|
208
|
-
_adapter->getThreadPool()->dispatch(new InvokeBatchRequests(this, _batchStream, _batchRequestNum));
|
|
209
|
-
|
|
210
|
-
//
|
|
211
|
-
// Reset the batch.
|
|
212
|
-
//
|
|
213
|
-
BasicStream dummy(_reference->getInstance().get(), currentProtocolEncoding);
|
|
214
|
-
_batchStream.swap(dummy);
|
|
215
|
-
_batchRequestNum = 0;
|
|
216
|
-
_batchMarker = 0;
|
|
217
|
-
|
|
218
|
-
//
|
|
219
|
-
// Start a new batch with the last message that caused us to go over the limit.
|
|
220
|
-
//
|
|
221
|
-
_batchStream.writeBlob(requestBatchHdr, sizeof(requestBatchHdr));
|
|
222
|
-
_batchStream.writeBlob(&lastRequest[0], lastRequest.size());
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
//
|
|
226
|
-
// Increment the number of requests in the batch.
|
|
227
|
-
//
|
|
228
|
-
assert(_batchStreamInUse);
|
|
229
|
-
++_batchRequestNum;
|
|
230
|
-
_batchStreamInUse = false;
|
|
231
|
-
notifyAll();
|
|
232
|
-
}
|
|
233
|
-
catch(const LocalException&)
|
|
234
|
-
{
|
|
235
|
-
abortBatchRequest();
|
|
236
|
-
throw;
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
void
|
|
241
|
-
CollocatedRequestHandler::abortBatchRequest()
|
|
242
|
-
{
|
|
243
|
-
Lock sync(*this);
|
|
244
|
-
|
|
245
|
-
BasicStream dummy(_reference->getInstance().get(), currentProtocolEncoding);
|
|
246
|
-
_batchStream.swap(dummy);
|
|
247
|
-
_batchRequestNum = 0;
|
|
248
|
-
_batchMarker = 0;
|
|
249
|
-
|
|
250
|
-
assert(_batchStreamInUse);
|
|
251
|
-
_batchStreamInUse = false;
|
|
252
|
-
notifyAll();
|
|
253
|
-
}
|
|
254
|
-
|
|
255
124
|
bool
|
|
256
|
-
CollocatedRequestHandler::sendRequest(
|
|
125
|
+
CollocatedRequestHandler::sendRequest(ProxyOutgoingBase* out)
|
|
257
126
|
{
|
|
258
127
|
out->invokeCollocated(this);
|
|
259
128
|
return !_response && _reference->getInvocationTimeout() == 0;
|
|
260
129
|
}
|
|
261
130
|
|
|
262
131
|
AsyncStatus
|
|
263
|
-
CollocatedRequestHandler::sendAsyncRequest(const
|
|
132
|
+
CollocatedRequestHandler::sendAsyncRequest(const ProxyOutgoingAsyncBasePtr& outAsync)
|
|
264
133
|
{
|
|
265
134
|
return outAsync->invokeCollocated(this);
|
|
266
135
|
}
|
|
267
136
|
|
|
268
|
-
void
|
|
137
|
+
void
|
|
269
138
|
CollocatedRequestHandler::requestCanceled(OutgoingBase* out, const LocalException& ex)
|
|
270
139
|
{
|
|
271
140
|
Lock sync(*this);
|
|
272
|
-
|
|
141
|
+
|
|
273
142
|
map<OutgoingBase*, Int>::iterator p = _sendRequests.find(out);
|
|
274
143
|
if(p != _sendRequests.end())
|
|
275
144
|
{
|
|
@@ -280,18 +149,19 @@ CollocatedRequestHandler::requestCanceled(OutgoingBase* out, const LocalExceptio
|
|
|
280
149
|
InvocationTimeoutException ex(__FILE__, __LINE__);
|
|
281
150
|
out->completed(ex);
|
|
282
151
|
_sendRequests.erase(p);
|
|
152
|
+
_adapter->decDirectCount(); // invokeAll won't be called, decrease the direct count.
|
|
283
153
|
return;
|
|
284
154
|
}
|
|
285
155
|
|
|
286
156
|
Outgoing* o = dynamic_cast<Outgoing*>(out);
|
|
287
157
|
if(o)
|
|
288
158
|
{
|
|
289
|
-
for(map<Int,
|
|
159
|
+
for(map<Int, OutgoingBase*>::iterator q = _requests.begin(); q != _requests.end(); ++q)
|
|
290
160
|
{
|
|
291
161
|
if(q->second == o)
|
|
292
162
|
{
|
|
293
163
|
InvocationTimeoutException ex(__FILE__, __LINE__);
|
|
294
|
-
|
|
164
|
+
q->second->completed(ex);
|
|
295
165
|
_requests.erase(q);
|
|
296
166
|
return; // We're done.
|
|
297
167
|
}
|
|
@@ -316,13 +186,14 @@ CollocatedRequestHandler::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAs
|
|
|
316
186
|
{
|
|
317
187
|
outAsync->invokeCompletedAsync();
|
|
318
188
|
}
|
|
189
|
+
_adapter->decDirectCount(); // invokeAll won't be called, decrease the direct count.
|
|
319
190
|
return;
|
|
320
191
|
}
|
|
321
192
|
|
|
322
193
|
OutgoingAsyncPtr o = OutgoingAsyncPtr::dynamicCast(outAsync);
|
|
323
194
|
if(o)
|
|
324
195
|
{
|
|
325
|
-
for(map<Int,
|
|
196
|
+
for(map<Int, OutgoingAsyncBasePtr>::iterator q = _asyncRequests.begin(); q != _asyncRequests.end(); ++q)
|
|
326
197
|
{
|
|
327
198
|
if(q->second.get() == o.get())
|
|
328
199
|
{
|
|
@@ -338,8 +209,14 @@ CollocatedRequestHandler::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAs
|
|
|
338
209
|
}
|
|
339
210
|
|
|
340
211
|
void
|
|
341
|
-
CollocatedRequestHandler::invokeRequest(
|
|
212
|
+
CollocatedRequestHandler::invokeRequest(OutgoingBase* out, int batchRequestNum)
|
|
342
213
|
{
|
|
214
|
+
//
|
|
215
|
+
// Increase the direct count to prevent the thread pool from being destroyed before
|
|
216
|
+
// invokeAll is called. This will also throw if the object adapter has been deactivated.
|
|
217
|
+
//
|
|
218
|
+
_adapter->incDirectCount();
|
|
219
|
+
|
|
343
220
|
int requestId = 0;
|
|
344
221
|
{
|
|
345
222
|
Lock sync(*this);
|
|
@@ -348,31 +225,40 @@ CollocatedRequestHandler::invokeRequest(Outgoing* out)
|
|
|
348
225
|
requestId = ++_requestId;
|
|
349
226
|
_requests.insert(make_pair(requestId, out));
|
|
350
227
|
}
|
|
228
|
+
|
|
351
229
|
_sendRequests.insert(make_pair(out, requestId));
|
|
352
|
-
}
|
|
230
|
+
}
|
|
353
231
|
|
|
354
232
|
out->attachCollocatedObserver(_adapter, requestId);
|
|
355
233
|
|
|
356
234
|
if(_reference->getInvocationTimeout() > 0)
|
|
357
235
|
{
|
|
358
236
|
// Don't invoke from the user thread, invocation timeouts wouldn't work otherwise.
|
|
359
|
-
_adapter->getThreadPool()->dispatch(new InvokeAll(out, out->os(), this, requestId,
|
|
237
|
+
_adapter->getThreadPool()->dispatch(new InvokeAll(out, out->os(), this, requestId, batchRequestNum));
|
|
360
238
|
}
|
|
361
239
|
else if(_dispatcher)
|
|
362
240
|
{
|
|
363
|
-
_adapter->getThreadPool()->dispatchFromThisThread(new InvokeAll(out, out->os(), this, requestId,
|
|
241
|
+
_adapter->getThreadPool()->dispatchFromThisThread(new InvokeAll(out, out->os(), this, requestId,
|
|
242
|
+
batchRequestNum));
|
|
364
243
|
}
|
|
365
244
|
else // Optimization: directly call invokeAll if there's no dispatcher.
|
|
366
245
|
{
|
|
367
246
|
out->sent();
|
|
368
|
-
invokeAll(out->os(), requestId,
|
|
247
|
+
invokeAll(out->os(), requestId, batchRequestNum);
|
|
369
248
|
}
|
|
370
249
|
}
|
|
371
250
|
|
|
372
251
|
AsyncStatus
|
|
373
|
-
CollocatedRequestHandler::invokeAsyncRequest(
|
|
252
|
+
CollocatedRequestHandler::invokeAsyncRequest(OutgoingAsyncBase* outAsync, int batchRequestNum)
|
|
374
253
|
{
|
|
254
|
+
//
|
|
255
|
+
// Increase the direct count to prevent the thread pool from being destroyed before
|
|
256
|
+
// invokeAll is called. This will also throw if the object adapter has been deactivated.
|
|
257
|
+
//
|
|
258
|
+
_adapter->incDirectCount();
|
|
259
|
+
|
|
375
260
|
int requestId = 0;
|
|
261
|
+
try
|
|
376
262
|
{
|
|
377
263
|
Lock sync(*this);
|
|
378
264
|
|
|
@@ -383,125 +269,30 @@ CollocatedRequestHandler::invokeAsyncRequest(OutgoingAsync* outAsync)
|
|
|
383
269
|
requestId = ++_requestId;
|
|
384
270
|
_asyncRequests.insert(make_pair(requestId, outAsync));
|
|
385
271
|
}
|
|
272
|
+
|
|
386
273
|
_sendAsyncRequests.insert(make_pair(outAsync, requestId));
|
|
387
274
|
}
|
|
275
|
+
catch(...)
|
|
276
|
+
{
|
|
277
|
+
_adapter->decDirectCount();
|
|
278
|
+
throw;
|
|
279
|
+
}
|
|
388
280
|
|
|
389
281
|
outAsync->attachCollocatedObserver(_adapter, requestId);
|
|
390
282
|
|
|
391
|
-
_adapter->getThreadPool()->dispatch(new InvokeAllAsync(outAsync, outAsync->getOs(), this, requestId,
|
|
283
|
+
_adapter->getThreadPool()->dispatch(new InvokeAllAsync(outAsync, outAsync->getOs(), this, requestId,
|
|
284
|
+
batchRequestNum));
|
|
392
285
|
return AsyncStatusQueued;
|
|
393
286
|
}
|
|
394
287
|
|
|
395
288
|
void
|
|
396
|
-
CollocatedRequestHandler::invokeBatchRequests(OutgoingBase* out)
|
|
397
|
-
{
|
|
398
|
-
Int invokeNum;
|
|
399
|
-
{
|
|
400
|
-
Lock sync(*this);
|
|
401
|
-
while(_batchStreamInUse)
|
|
402
|
-
{
|
|
403
|
-
wait();
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
invokeNum = _batchRequestNum;
|
|
407
|
-
|
|
408
|
-
if(_batchRequestNum > 0)
|
|
409
|
-
{
|
|
410
|
-
_sendRequests.insert(make_pair(out, 0));
|
|
411
|
-
|
|
412
|
-
assert(!_batchStream.b.empty());
|
|
413
|
-
_batchStream.swap(*out->os());
|
|
414
|
-
|
|
415
|
-
//
|
|
416
|
-
// Reset the batch stream.
|
|
417
|
-
//
|
|
418
|
-
BasicStream dummy(_reference->getInstance().get(), currentProtocolEncoding);
|
|
419
|
-
_batchStream.swap(dummy);
|
|
420
|
-
_batchRequestNum = 0;
|
|
421
|
-
_batchMarker = 0;
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
out->attachCollocatedObserver(_adapter, 0);
|
|
426
|
-
|
|
427
|
-
if(invokeNum > 0)
|
|
428
|
-
{
|
|
429
|
-
if(_reference->getInvocationTimeout() > 0)
|
|
430
|
-
{
|
|
431
|
-
_adapter->getThreadPool()->dispatch(new InvokeAll(out, out->os(), this, 0, invokeNum, true));
|
|
432
|
-
}
|
|
433
|
-
else if(_dispatcher)
|
|
434
|
-
{
|
|
435
|
-
_adapter->getThreadPool()->dispatchFromThisThread(new InvokeAll(out, out->os(), this, 0, invokeNum, true));
|
|
436
|
-
}
|
|
437
|
-
else // Optimization: directly call invokeAll if there's no dispatcher.
|
|
438
|
-
{
|
|
439
|
-
out->sent();
|
|
440
|
-
invokeAll(out->os(), 0, invokeNum, true); // Invoke from the user thread.
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
else
|
|
444
|
-
{
|
|
445
|
-
out->sent();
|
|
446
|
-
}
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
AsyncStatus
|
|
450
|
-
CollocatedRequestHandler::invokeAsyncBatchRequests(OutgoingAsyncBase* outAsync)
|
|
451
|
-
{
|
|
452
|
-
Int invokeNum;
|
|
453
|
-
{
|
|
454
|
-
Lock sync(*this);
|
|
455
|
-
while(_batchStreamInUse)
|
|
456
|
-
{
|
|
457
|
-
wait();
|
|
458
|
-
}
|
|
459
|
-
|
|
460
|
-
invokeNum = _batchRequestNum;
|
|
461
|
-
if(_batchRequestNum > 0)
|
|
462
|
-
{
|
|
463
|
-
outAsync->cancelable(this); // This will throw if the request is canceled
|
|
464
|
-
|
|
465
|
-
_sendAsyncRequests.insert(make_pair(outAsync, 0));
|
|
466
|
-
|
|
467
|
-
assert(!_batchStream.b.empty());
|
|
468
|
-
_batchStream.swap(*outAsync->getOs());
|
|
469
|
-
|
|
470
|
-
//
|
|
471
|
-
// Reset the batch stream.
|
|
472
|
-
//
|
|
473
|
-
BasicStream dummy(_reference->getInstance().get(), currentProtocolEncoding);
|
|
474
|
-
_batchStream.swap(dummy);
|
|
475
|
-
_batchRequestNum = 0;
|
|
476
|
-
_batchMarker = 0;
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
outAsync->attachCollocatedObserver(_adapter, 0);
|
|
481
|
-
|
|
482
|
-
if(invokeNum > 0)
|
|
483
|
-
{
|
|
484
|
-
_adapter->getThreadPool()->dispatch(new InvokeAllAsync(outAsync, outAsync->getOs(), this, 0, invokeNum,true));
|
|
485
|
-
return AsyncStatusQueued;
|
|
486
|
-
}
|
|
487
|
-
else if(outAsync->sent())
|
|
488
|
-
{
|
|
489
|
-
return static_cast<AsyncStatus>(AsyncStatusSent | AsyncStatusInvokeSentCallback);
|
|
490
|
-
}
|
|
491
|
-
else
|
|
492
|
-
{
|
|
493
|
-
return AsyncStatusSent;
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
|
|
497
|
-
void
|
|
498
289
|
CollocatedRequestHandler::sendResponse(Int requestId, BasicStream* os, Byte, bool amd)
|
|
499
290
|
{
|
|
500
|
-
|
|
291
|
+
OutgoingAsyncBasePtr outAsync;
|
|
501
292
|
{
|
|
502
293
|
Lock sync(*this);
|
|
503
294
|
assert(_response);
|
|
504
|
-
|
|
295
|
+
|
|
505
296
|
os->i = os->b.begin() + sizeof(replyHdr) + 4;
|
|
506
297
|
|
|
507
298
|
if(_traceLevels->protocol >= 1)
|
|
@@ -510,7 +301,7 @@ CollocatedRequestHandler::sendResponse(Int requestId, BasicStream* os, Byte, boo
|
|
|
510
301
|
traceRecv(*os, _logger, _traceLevels);
|
|
511
302
|
}
|
|
512
303
|
|
|
513
|
-
map<int,
|
|
304
|
+
map<int, OutgoingBase*>::iterator p = _requests.find(requestId);
|
|
514
305
|
if(p != _requests.end())
|
|
515
306
|
{
|
|
516
307
|
p->second->completed(*os);
|
|
@@ -518,7 +309,7 @@ CollocatedRequestHandler::sendResponse(Int requestId, BasicStream* os, Byte, boo
|
|
|
518
309
|
}
|
|
519
310
|
else
|
|
520
311
|
{
|
|
521
|
-
map<int,
|
|
312
|
+
map<int, OutgoingAsyncBasePtr>::iterator q = _asyncRequests.find(requestId);
|
|
522
313
|
if(q != _asyncRequests.end())
|
|
523
314
|
{
|
|
524
315
|
os->swap(*q->second->getIs());
|
|
@@ -565,7 +356,7 @@ CollocatedRequestHandler::systemException(Int requestId, const SystemException&
|
|
|
565
356
|
return true;
|
|
566
357
|
}
|
|
567
358
|
|
|
568
|
-
void
|
|
359
|
+
void
|
|
569
360
|
CollocatedRequestHandler::invokeException(Int requestId, const LocalException& ex, int invokeNum, bool amd)
|
|
570
361
|
{
|
|
571
362
|
handleException(requestId, ex, amd);
|
|
@@ -616,9 +407,9 @@ CollocatedRequestHandler::sentAsync(OutgoingAsyncBase* outAsync)
|
|
|
616
407
|
}
|
|
617
408
|
|
|
618
409
|
void
|
|
619
|
-
CollocatedRequestHandler::invokeAll(BasicStream* os, Int requestId, Int
|
|
410
|
+
CollocatedRequestHandler::invokeAll(BasicStream* os, Int requestId, Int batchRequestNum)
|
|
620
411
|
{
|
|
621
|
-
if(
|
|
412
|
+
if(batchRequestNum > 0)
|
|
622
413
|
{
|
|
623
414
|
os->i = os->b.begin() + sizeof(requestBatchHdr);
|
|
624
415
|
}
|
|
@@ -634,18 +425,25 @@ CollocatedRequestHandler::invokeAll(BasicStream* os, Int requestId, Int invokeNu
|
|
|
634
425
|
{
|
|
635
426
|
fillInValue(os, headerSize, requestId);
|
|
636
427
|
}
|
|
637
|
-
else if(
|
|
428
|
+
else if(batchRequestNum > 0)
|
|
638
429
|
{
|
|
639
|
-
fillInValue(os, headerSize,
|
|
430
|
+
fillInValue(os, headerSize, batchRequestNum);
|
|
640
431
|
}
|
|
641
432
|
traceSend(*os, _logger, _traceLevels);
|
|
642
433
|
}
|
|
643
434
|
|
|
435
|
+
int invokeNum = batchRequestNum > 0 ? batchRequestNum : 1;
|
|
644
436
|
ServantManagerPtr servantManager = _adapter->getServantManager();
|
|
645
437
|
try
|
|
646
438
|
{
|
|
647
439
|
while(invokeNum > 0)
|
|
648
|
-
{
|
|
440
|
+
{
|
|
441
|
+
//
|
|
442
|
+
// Increase the direct count for the dispatch. We increase it again here for
|
|
443
|
+
// each dispatch. It's important for the direct count to be > 0 until the last
|
|
444
|
+
// collocated request response is sent to make sure the thread pool isn't
|
|
445
|
+
// destroyed before.
|
|
446
|
+
//
|
|
649
447
|
try
|
|
650
448
|
{
|
|
651
449
|
_adapter->incDirectCount();
|
|
@@ -653,7 +451,7 @@ CollocatedRequestHandler::invokeAll(BasicStream* os, Int requestId, Int invokeNu
|
|
|
653
451
|
catch(const ObjectAdapterDeactivatedException& ex)
|
|
654
452
|
{
|
|
655
453
|
handleException(requestId, ex, false);
|
|
656
|
-
|
|
454
|
+
break;
|
|
657
455
|
}
|
|
658
456
|
|
|
659
457
|
Incoming in(_reference->getInstance().get(), this, 0, _adapter, _response, 0, requestId);
|
|
@@ -665,6 +463,8 @@ CollocatedRequestHandler::invokeAll(BasicStream* os, Int requestId, Int invokeNu
|
|
|
665
463
|
{
|
|
666
464
|
invokeException(requestId, ex, invokeNum, false); // Fatal invocation exception
|
|
667
465
|
}
|
|
466
|
+
|
|
467
|
+
_adapter->decDirectCount();
|
|
668
468
|
}
|
|
669
469
|
|
|
670
470
|
void
|
|
@@ -675,11 +475,11 @@ CollocatedRequestHandler::handleException(int requestId, const Exception& ex, bo
|
|
|
675
475
|
return; // Ignore exception for oneway messages.
|
|
676
476
|
}
|
|
677
477
|
|
|
678
|
-
|
|
478
|
+
OutgoingAsyncBasePtr outAsync;
|
|
679
479
|
{
|
|
680
480
|
Lock sync(*this);
|
|
681
|
-
|
|
682
|
-
map<int,
|
|
481
|
+
|
|
482
|
+
map<int, OutgoingBase*>::iterator p = _requests.find(requestId);
|
|
683
483
|
if(p != _requests.end())
|
|
684
484
|
{
|
|
685
485
|
p->second->completed(ex);
|
|
@@ -687,7 +487,7 @@ CollocatedRequestHandler::handleException(int requestId, const Exception& ex, bo
|
|
|
687
487
|
}
|
|
688
488
|
else
|
|
689
489
|
{
|
|
690
|
-
map<int,
|
|
490
|
+
map<int, OutgoingAsyncBasePtr>::iterator q = _asyncRequests.find(requestId);
|
|
691
491
|
if(q != _asyncRequests.end())
|
|
692
492
|
{
|
|
693
493
|
if(q->second->completed(ex))
|