zeroc-ice 3.6b1 → 3.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,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,8 +28,14 @@
|
|
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
|
35
41
|
|
@@ -38,4 +44,4 @@ namespace
|
|
38
44
|
|
39
45
|
}
|
40
46
|
|
41
|
-
|
47
|
+
ICE_API ::Ice::LocalObject* Ice::upCast(::Ice::ObjectFactory* p) { return p; }
|
@@ -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
|
//
|
@@ -27,8 +27,14 @@
|
|
27
27
|
#include <IceUtil/PopDisableWarnings.h>
|
28
28
|
|
29
29
|
#ifndef ICE_IGNORE_VERSION
|
30
|
-
# if ICE_INT_VERSION
|
31
|
-
# error Ice version mismatch
|
30
|
+
# if ICE_INT_VERSION / 100 != 306
|
31
|
+
# error Ice version mismatch!
|
32
|
+
# endif
|
33
|
+
# if ICE_INT_VERSION % 100 > 50
|
34
|
+
# error Beta header file detected
|
35
|
+
# endif
|
36
|
+
# if ICE_INT_VERSION % 100 < 0
|
37
|
+
# error Ice patch level mismatch!
|
32
38
|
# endif
|
33
39
|
#endif
|
34
40
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
|
2
2
|
// **********************************************************************
|
3
3
|
//
|
4
|
-
// Copyright (c) 2003-
|
4
|
+
// Copyright (c) 2003-2015 ZeroC, Inc. All rights reserved.
|
5
5
|
//
|
6
6
|
// This copy of Ice is licensed to you under the terms described in the
|
7
7
|
// ICE_LICENSE file included in this distribution.
|
@@ -12,7 +12,6 @@
|
|
12
12
|
#include <Ice/ObjectFactory.h>
|
13
13
|
#include <Ice/Functional.h>
|
14
14
|
#include <Ice/LocalException.h>
|
15
|
-
|
16
15
|
using namespace std;
|
17
16
|
using namespace Ice;
|
18
17
|
using namespace IceInternal;
|
@@ -42,7 +41,7 @@ IceInternal::ObjectFactoryManager::remove(const string& id)
|
|
42
41
|
ObjectFactoryPtr factory = 0;
|
43
42
|
{
|
44
43
|
IceUtil::Mutex::Lock sync(*this);
|
45
|
-
|
44
|
+
|
46
45
|
FactoryMap::iterator p = _factoryMap.end();
|
47
46
|
if(_factoryMapHint != _factoryMap.end())
|
48
47
|
{
|
@@ -51,7 +50,7 @@ IceInternal::ObjectFactoryManager::remove(const string& id)
|
|
51
50
|
p = _factoryMapHint;
|
52
51
|
}
|
53
52
|
}
|
54
|
-
|
53
|
+
|
55
54
|
if(p == _factoryMap.end())
|
56
55
|
{
|
57
56
|
p = _factoryMap.find(id);
|
@@ -64,9 +63,9 @@ IceInternal::ObjectFactoryManager::remove(const string& id)
|
|
64
63
|
}
|
65
64
|
}
|
66
65
|
assert(p != _factoryMap.end());
|
67
|
-
|
66
|
+
|
68
67
|
factory = p->second;
|
69
|
-
|
68
|
+
|
70
69
|
if(p == _factoryMapHint)
|
71
70
|
{
|
72
71
|
_factoryMap.erase(p++);
|
@@ -77,7 +76,7 @@ IceInternal::ObjectFactoryManager::remove(const string& id)
|
|
77
76
|
_factoryMap.erase(p);
|
78
77
|
}
|
79
78
|
}
|
80
|
-
|
79
|
+
|
81
80
|
//
|
82
81
|
// Destroy outside the lock
|
83
82
|
//
|
@@ -89,7 +88,7 @@ ObjectFactoryPtr
|
|
89
88
|
IceInternal::ObjectFactoryManager::find(const string& id) const
|
90
89
|
{
|
91
90
|
IceUtil::Mutex::Lock sync(*this);
|
92
|
-
|
91
|
+
|
93
92
|
FactoryMap& factoryMap = const_cast<FactoryMap&>(_factoryMap);
|
94
93
|
|
95
94
|
FactoryMap::iterator p = factoryMap.end();
|
@@ -100,12 +99,12 @@ IceInternal::ObjectFactoryManager::find(const string& id) const
|
|
100
99
|
p = _factoryMapHint;
|
101
100
|
}
|
102
101
|
}
|
103
|
-
|
102
|
+
|
104
103
|
if(p == factoryMap.end())
|
105
104
|
{
|
106
105
|
p = factoryMap.find(id);
|
107
106
|
}
|
108
|
-
|
107
|
+
|
109
108
|
if(p != factoryMap.end())
|
110
109
|
{
|
111
110
|
_factoryMapHint = p;
|
@@ -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.
|
@@ -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.
|
@@ -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.
|
@@ -56,11 +56,11 @@ IceInternal::OpaqueEndpointI::OpaqueEndpointI(Short type, BasicStream* s) : _typ
|
|
56
56
|
namespace
|
57
57
|
{
|
58
58
|
|
59
|
-
class
|
59
|
+
class OpaqueEndpointInfoI : public Ice::OpaqueEndpointInfo
|
60
60
|
{
|
61
61
|
public:
|
62
62
|
|
63
|
-
|
63
|
+
OpaqueEndpointInfoI(Ice::Short type, const Ice::EncodingVersion& rawEncoding, const Ice::ByteSeq& rawByes);
|
64
64
|
|
65
65
|
virtual Ice::Short
|
66
66
|
type() const
|
@@ -89,7 +89,8 @@ private:
|
|
89
89
|
//
|
90
90
|
// COMPILERFIX: inlining this constructor causes crashes with gcc 4.0.1.
|
91
91
|
//
|
92
|
-
|
92
|
+
OpaqueEndpointInfoI::OpaqueEndpointInfoI(Ice::Short type, const Ice::EncodingVersion& rawEncoding,
|
93
|
+
const Ice::ByteSeq& rawBytes) :
|
93
94
|
Ice::OpaqueEndpointInfo(-1, false, rawEncoding, rawBytes),
|
94
95
|
_type(type)
|
95
96
|
{
|
@@ -106,7 +107,7 @@ IceInternal::OpaqueEndpointI::streamWrite(BasicStream* s) const
|
|
106
107
|
Ice::EndpointInfoPtr
|
107
108
|
IceInternal::OpaqueEndpointI::getInfo() const
|
108
109
|
{
|
109
|
-
return new
|
110
|
+
return new OpaqueEndpointInfoI(_type, _rawEncoding, _rawBytes);
|
110
111
|
}
|
111
112
|
|
112
113
|
Short
|
@@ -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.
|
@@ -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.
|
@@ -23,134 +23,29 @@ using namespace Ice;
|
|
23
23
|
using namespace Ice::Instrumentation;
|
24
24
|
using namespace IceInternal;
|
25
25
|
|
26
|
-
OutgoingBase::OutgoingBase(Instance* instance
|
27
|
-
_os(instance, Ice::currentProtocolEncoding), _sent(false)
|
26
|
+
OutgoingBase::OutgoingBase(Instance* instance) : _os(instance, Ice::currentProtocolEncoding), _sent(false)
|
28
27
|
{
|
29
28
|
}
|
30
29
|
|
31
|
-
|
32
|
-
OutgoingBase(proxy->__reference()->getInstance().get()
|
30
|
+
ProxyOutgoingBase::ProxyOutgoingBase(IceProxy::Ice::Object* proxy, OperationMode mode) :
|
31
|
+
OutgoingBase(proxy->__reference()->getInstance().get()),
|
33
32
|
_proxy(proxy),
|
34
33
|
_mode(mode),
|
35
|
-
_state(StateUnsent)
|
36
|
-
|
37
|
-
_is(proxy->__reference()->getInstance().get(), Ice::currentProtocolEncoding)
|
38
|
-
{
|
39
|
-
checkSupportedProtocol(getCompatibleProtocol(proxy->__reference()->getProtocol()));
|
40
|
-
|
41
|
-
_observer.attach(proxy, operation, context);
|
42
|
-
|
34
|
+
_state(StateUnsent)
|
35
|
+
{
|
43
36
|
int invocationTimeout = _proxy->__reference()->getInvocationTimeout();
|
44
37
|
if(invocationTimeout > 0)
|
45
38
|
{
|
46
39
|
_invocationTimeoutDeadline = Time::now(Time::Monotonic) + Time::milliSeconds(invocationTimeout);
|
47
40
|
}
|
48
|
-
|
49
|
-
switch(_proxy->__reference()->getMode())
|
50
|
-
{
|
51
|
-
case Reference::ModeTwoway:
|
52
|
-
case Reference::ModeOneway:
|
53
|
-
case Reference::ModeDatagram:
|
54
|
-
{
|
55
|
-
_os.writeBlob(requestHdr, sizeof(requestHdr));
|
56
|
-
break;
|
57
|
-
}
|
58
|
-
|
59
|
-
case Reference::ModeBatchOneway:
|
60
|
-
case Reference::ModeBatchDatagram:
|
61
|
-
{
|
62
|
-
while(true)
|
63
|
-
{
|
64
|
-
try
|
65
|
-
{
|
66
|
-
_handler = proxy->__getRequestHandler();
|
67
|
-
_handler->prepareBatchRequest(&_os);
|
68
|
-
break;
|
69
|
-
}
|
70
|
-
catch(const RetryException&)
|
71
|
-
{
|
72
|
-
_proxy->__setRequestHandler(_handler, 0); // Clear request handler and retry.
|
73
|
-
}
|
74
|
-
catch(const Ice::LocalException& ex)
|
75
|
-
{
|
76
|
-
_observer.failed(ex.ice_name());
|
77
|
-
_proxy->__setRequestHandler(_handler, 0); // Clear request handler
|
78
|
-
throw;
|
79
|
-
}
|
80
|
-
}
|
81
|
-
break;
|
82
|
-
}
|
83
|
-
}
|
84
|
-
|
85
|
-
try
|
86
|
-
{
|
87
|
-
_os.write(_proxy->__reference()->getIdentity());
|
88
|
-
|
89
|
-
//
|
90
|
-
// For compatibility with the old FacetPath.
|
91
|
-
//
|
92
|
-
if(_proxy->__reference()->getFacet().empty())
|
93
|
-
{
|
94
|
-
_os.write(static_cast<string*>(0), static_cast<string*>(0));
|
95
|
-
}
|
96
|
-
else
|
97
|
-
{
|
98
|
-
string facet = _proxy->__reference()->getFacet();
|
99
|
-
_os.write(&facet, &facet + 1);
|
100
|
-
}
|
101
|
-
|
102
|
-
_os.write(operation, false);
|
103
|
-
|
104
|
-
_os.write(static_cast<Ice::Byte>(mode));
|
105
|
-
|
106
|
-
if(context != 0)
|
107
|
-
{
|
108
|
-
//
|
109
|
-
// Explicit context
|
110
|
-
//
|
111
|
-
_os.write(*context);
|
112
|
-
}
|
113
|
-
else
|
114
|
-
{
|
115
|
-
//
|
116
|
-
// Implicit context
|
117
|
-
//
|
118
|
-
const ImplicitContextIPtr& implicitContext = _proxy->__reference()->getInstance()->getImplicitContext();
|
119
|
-
const Context& prxContext = _proxy->__reference()->getContext()->getValue();
|
120
|
-
if(implicitContext == 0)
|
121
|
-
{
|
122
|
-
_os.write(prxContext);
|
123
|
-
}
|
124
|
-
else
|
125
|
-
{
|
126
|
-
implicitContext->write(prxContext, &_os);
|
127
|
-
}
|
128
|
-
}
|
129
|
-
}
|
130
|
-
catch(const LocalException& ex)
|
131
|
-
{
|
132
|
-
abort(ex);
|
133
|
-
}
|
134
41
|
}
|
135
42
|
|
136
|
-
|
137
|
-
{
|
138
|
-
}
|
139
|
-
|
140
|
-
bool
|
141
|
-
Outgoing::send(const Ice::ConnectionIPtr& connection, bool compress, bool response)
|
43
|
+
ProxyOutgoingBase::~ProxyOutgoingBase()
|
142
44
|
{
|
143
|
-
return connection->sendRequest(this, compress, response);
|
144
45
|
}
|
145
46
|
|
146
47
|
void
|
147
|
-
|
148
|
-
{
|
149
|
-
handler->invokeRequest(this);
|
150
|
-
}
|
151
|
-
|
152
|
-
void
|
153
|
-
Outgoing::sent()
|
48
|
+
ProxyOutgoingBase::sent()
|
154
49
|
{
|
155
50
|
Monitor<Mutex>::Lock sync(_monitor);
|
156
51
|
if(_proxy->__reference()->getMode() != Reference::ModeTwoway)
|
@@ -162,14 +57,14 @@ Outgoing::sent()
|
|
162
57
|
_monitor.notify();
|
163
58
|
|
164
59
|
//
|
165
|
-
// NOTE: At this point the stack allocated
|
60
|
+
// NOTE: At this point the stack allocated ProxyOutgoingBase object can be destroyed
|
166
61
|
// since the notify() on the monitor will release the thread waiting on the
|
167
62
|
// synchronous Ice call.
|
168
63
|
//
|
169
64
|
}
|
170
65
|
|
171
66
|
void
|
172
|
-
|
67
|
+
ProxyOutgoingBase::completed(const Ice::Exception& ex)
|
173
68
|
{
|
174
69
|
Monitor<Mutex>::Lock sync(_monitor);
|
175
70
|
//assert(_state <= StateInProgress);
|
@@ -197,7 +92,13 @@ Outgoing::completed(const Ice::Exception& ex)
|
|
197
92
|
}
|
198
93
|
|
199
94
|
void
|
200
|
-
|
95
|
+
ProxyOutgoingBase::completed(BasicStream& is)
|
96
|
+
{
|
97
|
+
assert(false); // Must be overriden
|
98
|
+
}
|
99
|
+
|
100
|
+
void
|
101
|
+
ProxyOutgoingBase::retryException(const Ice::Exception&)
|
201
102
|
{
|
202
103
|
Monitor<Mutex>::Lock sync(_monitor);
|
203
104
|
assert(_state <= StateInProgress);
|
@@ -206,22 +107,14 @@ Outgoing::retryException(const Ice::Exception&)
|
|
206
107
|
}
|
207
108
|
|
208
109
|
bool
|
209
|
-
|
110
|
+
ProxyOutgoingBase::invokeImpl()
|
210
111
|
{
|
211
112
|
assert(_state == StateUnsent);
|
212
|
-
|
213
|
-
const Reference::Mode mode = _proxy->__reference()->getMode();
|
214
|
-
if(mode == Reference::ModeBatchOneway || mode == Reference::ModeBatchDatagram)
|
215
|
-
{
|
216
|
-
_state = StateInProgress;
|
217
|
-
_handler->finishBatchRequest(&_os);
|
218
|
-
return true;
|
219
|
-
}
|
220
113
|
|
221
114
|
const int invocationTimeout = _proxy->__reference()->getInvocationTimeout();
|
222
115
|
int cnt = 0;
|
223
116
|
while(true)
|
224
|
-
{
|
117
|
+
{
|
225
118
|
try
|
226
119
|
{
|
227
120
|
if(invocationTimeout > 0 && _invocationTimeoutDeadline <= Time::now(Time::Monotonic))
|
@@ -256,7 +149,7 @@ Outgoing::invoke()
|
|
256
149
|
{
|
257
150
|
}
|
258
151
|
}
|
259
|
-
|
152
|
+
|
260
153
|
bool timedOut = false;
|
261
154
|
{
|
262
155
|
Monitor<Mutex>::Lock sync(_monitor);
|
@@ -274,7 +167,7 @@ Outgoing::invoke()
|
|
274
167
|
break;
|
275
168
|
}
|
276
169
|
_monitor.timedWait(_invocationTimeoutDeadline - now);
|
277
|
-
|
170
|
+
|
278
171
|
if((_state == StateInProgress || !_sent) && _state != StateFailed)
|
279
172
|
{
|
280
173
|
now = Time::now(Time::Monotonic);
|
@@ -290,7 +183,7 @@ Outgoing::invoke()
|
|
290
183
|
}
|
291
184
|
}
|
292
185
|
}
|
293
|
-
|
186
|
+
|
294
187
|
if(timedOut)
|
295
188
|
{
|
296
189
|
if(invocationTimeout == -2)
|
@@ -304,8 +197,8 @@ Outgoing::invoke()
|
|
304
197
|
|
305
198
|
//
|
306
199
|
// Wait for the exception to propagate. It's possible the request handler ignores
|
307
|
-
// the timeout if there was a failure shortly before requestCanceled got called.
|
308
|
-
// In this case, the exception should be set on the
|
200
|
+
// the timeout if there was a failure shortly before requestCanceled got called.
|
201
|
+
// In this case, the exception should be set on the ProxyOutgoingBase.
|
309
202
|
//
|
310
203
|
Monitor<Mutex>::Lock sync(_monitor);
|
311
204
|
while(_state == StateInProgress)
|
@@ -313,14 +206,14 @@ Outgoing::invoke()
|
|
313
206
|
_monitor.wait();
|
314
207
|
}
|
315
208
|
}
|
316
|
-
|
209
|
+
|
317
210
|
if(_exception.get())
|
318
211
|
{
|
319
212
|
_exception->ice_throw();
|
320
213
|
}
|
321
214
|
else if(_state == StateRetry)
|
322
215
|
{
|
323
|
-
_proxy->
|
216
|
+
_proxy->__updateRequestHandler(_handler, 0); // Clear request handler and retry.
|
324
217
|
continue;
|
325
218
|
}
|
326
219
|
else
|
@@ -331,7 +224,7 @@ Outgoing::invoke()
|
|
331
224
|
}
|
332
225
|
catch(const RetryException&)
|
333
226
|
{
|
334
|
-
_proxy->
|
227
|
+
_proxy->__updateRequestHandler(_handler, 0); // Clear request handler and retry.
|
335
228
|
}
|
336
229
|
catch(const Ice::Exception& ex)
|
337
230
|
{
|
@@ -348,8 +241,8 @@ Outgoing::invoke()
|
|
348
241
|
|
349
242
|
//
|
350
243
|
// Wait until either the retry and invocation timeout deadline is reached.
|
351
|
-
// Note that we're using a loop here because sleep() precision isn't as
|
352
|
-
// good as the motonic clock and it can return few hundred micro-seconds
|
244
|
+
// Note that we're using a loop here because sleep() precision isn't as
|
245
|
+
// good as the motonic clock and it can return few hundred micro-seconds
|
353
246
|
// earlier which breaks the check for the invocation timeout.
|
354
247
|
//
|
355
248
|
while(retryDeadline > now && _invocationTimeoutDeadline > now)
|
@@ -388,22 +281,129 @@ Outgoing::invoke()
|
|
388
281
|
return false;
|
389
282
|
}
|
390
283
|
|
284
|
+
Outgoing::Outgoing(IceProxy::Ice::Object* proxy, const string& operation, OperationMode mode, const Context* context) :
|
285
|
+
ProxyOutgoingBase(proxy, mode),
|
286
|
+
_encoding(getCompatibleEncoding(proxy->__reference()->getEncoding())),
|
287
|
+
_is(proxy->__reference()->getInstance().get(), Ice::currentProtocolEncoding),
|
288
|
+
_operation(operation)
|
289
|
+
{
|
290
|
+
checkSupportedProtocol(getCompatibleProtocol(proxy->__reference()->getProtocol()));
|
291
|
+
_observer.attach(proxy, operation, context);
|
292
|
+
|
293
|
+
switch(_proxy->__reference()->getMode())
|
294
|
+
{
|
295
|
+
case Reference::ModeTwoway:
|
296
|
+
case Reference::ModeOneway:
|
297
|
+
case Reference::ModeDatagram:
|
298
|
+
{
|
299
|
+
_os.writeBlob(requestHdr, sizeof(requestHdr));
|
300
|
+
break;
|
301
|
+
}
|
302
|
+
|
303
|
+
case Reference::ModeBatchOneway:
|
304
|
+
case Reference::ModeBatchDatagram:
|
305
|
+
{
|
306
|
+
_proxy->__getBatchRequestQueue()->prepareBatchRequest(&_os);
|
307
|
+
break;
|
308
|
+
}
|
309
|
+
}
|
310
|
+
|
311
|
+
try
|
312
|
+
{
|
313
|
+
_os.write(_proxy->__reference()->getIdentity());
|
314
|
+
|
315
|
+
//
|
316
|
+
// For compatibility with the old FacetPath.
|
317
|
+
//
|
318
|
+
if(_proxy->__reference()->getFacet().empty())
|
319
|
+
{
|
320
|
+
_os.write(static_cast<string*>(0), static_cast<string*>(0));
|
321
|
+
}
|
322
|
+
else
|
323
|
+
{
|
324
|
+
string facet = _proxy->__reference()->getFacet();
|
325
|
+
_os.write(&facet, &facet + 1);
|
326
|
+
}
|
327
|
+
|
328
|
+
_os.write(operation, false);
|
329
|
+
|
330
|
+
_os.write(static_cast<Ice::Byte>(mode));
|
331
|
+
|
332
|
+
if(context != 0)
|
333
|
+
{
|
334
|
+
//
|
335
|
+
// Explicit context
|
336
|
+
//
|
337
|
+
_os.write(*context);
|
338
|
+
}
|
339
|
+
else
|
340
|
+
{
|
341
|
+
//
|
342
|
+
// Implicit context
|
343
|
+
//
|
344
|
+
const ImplicitContextIPtr& implicitContext = _proxy->__reference()->getInstance()->getImplicitContext();
|
345
|
+
const Context& prxContext = _proxy->__reference()->getContext()->getValue();
|
346
|
+
if(implicitContext == 0)
|
347
|
+
{
|
348
|
+
_os.write(prxContext);
|
349
|
+
}
|
350
|
+
else
|
351
|
+
{
|
352
|
+
implicitContext->write(prxContext, &_os);
|
353
|
+
}
|
354
|
+
}
|
355
|
+
}
|
356
|
+
catch(const LocalException& ex)
|
357
|
+
{
|
358
|
+
abort(ex);
|
359
|
+
}
|
360
|
+
}
|
361
|
+
|
362
|
+
Outgoing::~Outgoing()
|
363
|
+
{
|
364
|
+
}
|
365
|
+
|
366
|
+
bool
|
367
|
+
Outgoing::invokeRemote(const Ice::ConnectionIPtr& connection, bool compress, bool response)
|
368
|
+
{
|
369
|
+
return connection->sendRequest(this, compress, response, 0);
|
370
|
+
}
|
371
|
+
|
372
|
+
void
|
373
|
+
Outgoing::invokeCollocated(CollocatedRequestHandler* handler)
|
374
|
+
{
|
375
|
+
handler->invokeRequest(this, 0);
|
376
|
+
}
|
377
|
+
|
378
|
+
bool
|
379
|
+
Outgoing::invoke()
|
380
|
+
{
|
381
|
+
const Reference::Mode mode = _proxy->__reference()->getMode();
|
382
|
+
if(mode == Reference::ModeBatchOneway || mode == Reference::ModeBatchDatagram)
|
383
|
+
{
|
384
|
+
_state = StateInProgress;
|
385
|
+
_proxy->__getBatchRequestQueue()->finishBatchRequest(&_os, _proxy, _operation);
|
386
|
+
return true;
|
387
|
+
}
|
388
|
+
return invokeImpl();
|
389
|
+
}
|
390
|
+
|
391
391
|
void
|
392
392
|
Outgoing::abort(const LocalException& ex)
|
393
393
|
{
|
394
394
|
assert(_state == StateUnsent);
|
395
|
-
|
395
|
+
|
396
396
|
//
|
397
397
|
// If we didn't finish a batch oneway or datagram request, we must
|
398
398
|
// notify the connection about that we give up ownership of the
|
399
399
|
// batch stream.
|
400
400
|
//
|
401
|
-
|
402
|
-
|
401
|
+
const Reference::Mode mode = _proxy->__reference()->getMode();
|
402
|
+
if(mode == Reference::ModeBatchOneway || mode == Reference::ModeBatchDatagram)
|
403
403
|
{
|
404
|
-
|
404
|
+
_proxy->__getBatchRequestQueue()->abortBatchRequest(&_os);
|
405
405
|
}
|
406
|
-
|
406
|
+
|
407
407
|
ex.ice_throw();
|
408
408
|
}
|
409
409
|
|
@@ -425,7 +425,7 @@ Outgoing::completed(BasicStream& is)
|
|
425
425
|
|
426
426
|
Ice::Byte replyStatus;
|
427
427
|
_is.read(replyStatus);
|
428
|
-
|
428
|
+
|
429
429
|
switch(replyStatus)
|
430
430
|
{
|
431
431
|
case replyOK:
|
@@ -433,14 +433,14 @@ Outgoing::completed(BasicStream& is)
|
|
433
433
|
_state = StateOK; // The state must be set last, in case there is an exception.
|
434
434
|
break;
|
435
435
|
}
|
436
|
-
|
436
|
+
|
437
437
|
case replyUserException:
|
438
438
|
{
|
439
439
|
_observer.userException();
|
440
440
|
_state = StateUserException; // The state must be set last, in case there is an exception.
|
441
441
|
break;
|
442
442
|
}
|
443
|
-
|
443
|
+
|
444
444
|
case replyObjectNotExist:
|
445
445
|
case replyFacetNotExist:
|
446
446
|
case replyOperationNotExist:
|
@@ -470,7 +470,7 @@ Outgoing::completed(BasicStream& is)
|
|
470
470
|
|
471
471
|
string operation;
|
472
472
|
_is.read(operation, false);
|
473
|
-
|
473
|
+
|
474
474
|
RequestFailedException* ex;
|
475
475
|
switch(replyStatus)
|
476
476
|
{
|
@@ -479,19 +479,19 @@ Outgoing::completed(BasicStream& is)
|
|
479
479
|
ex = new ObjectNotExistException(__FILE__, __LINE__);
|
480
480
|
break;
|
481
481
|
}
|
482
|
-
|
482
|
+
|
483
483
|
case replyFacetNotExist:
|
484
484
|
{
|
485
485
|
ex = new FacetNotExistException(__FILE__, __LINE__);
|
486
486
|
break;
|
487
487
|
}
|
488
|
-
|
488
|
+
|
489
489
|
case replyOperationNotExist:
|
490
490
|
{
|
491
491
|
ex = new OperationNotExistException(__FILE__, __LINE__);
|
492
492
|
break;
|
493
493
|
}
|
494
|
-
|
494
|
+
|
495
495
|
default:
|
496
496
|
{
|
497
497
|
ex = 0; // To keep the compiler from complaining.
|
@@ -499,7 +499,7 @@ Outgoing::completed(BasicStream& is)
|
|
499
499
|
break;
|
500
500
|
}
|
501
501
|
}
|
502
|
-
|
502
|
+
|
503
503
|
ex->id = ident;
|
504
504
|
ex->facet = facet;
|
505
505
|
ex->operation = operation;
|
@@ -508,7 +508,7 @@ Outgoing::completed(BasicStream& is)
|
|
508
508
|
_state = StateLocalException; // The state must be set last, in case there is an exception.
|
509
509
|
break;
|
510
510
|
}
|
511
|
-
|
511
|
+
|
512
512
|
case replyUnknownException:
|
513
513
|
case replyUnknownLocalException:
|
514
514
|
case replyUnknownUserException:
|
@@ -520,7 +520,7 @@ Outgoing::completed(BasicStream& is)
|
|
520
520
|
//
|
521
521
|
string unknown;
|
522
522
|
_is.read(unknown, false);
|
523
|
-
|
523
|
+
|
524
524
|
UnknownException* ex;
|
525
525
|
switch(replyStatus)
|
526
526
|
{
|
@@ -529,19 +529,19 @@ Outgoing::completed(BasicStream& is)
|
|
529
529
|
ex = new UnknownException(__FILE__, __LINE__);
|
530
530
|
break;
|
531
531
|
}
|
532
|
-
|
532
|
+
|
533
533
|
case replyUnknownLocalException:
|
534
534
|
{
|
535
535
|
ex = new UnknownLocalException(__FILE__, __LINE__);
|
536
536
|
break;
|
537
537
|
}
|
538
|
-
|
538
|
+
|
539
539
|
case replyUnknownUserException:
|
540
540
|
{
|
541
541
|
ex = new UnknownUserException(__FILE__, __LINE__);
|
542
542
|
break;
|
543
543
|
}
|
544
|
-
|
544
|
+
|
545
545
|
default:
|
546
546
|
{
|
547
547
|
ex = 0; // To keep the compiler from complaining.
|
@@ -549,14 +549,14 @@ Outgoing::completed(BasicStream& is)
|
|
549
549
|
break;
|
550
550
|
}
|
551
551
|
}
|
552
|
-
|
552
|
+
|
553
553
|
ex->unknown = unknown;
|
554
554
|
_exception.reset(ex);
|
555
555
|
|
556
556
|
_state = StateLocalException; // The state must be set last, in case there is an exception.
|
557
557
|
break;
|
558
558
|
}
|
559
|
-
|
559
|
+
|
560
560
|
default:
|
561
561
|
{
|
562
562
|
_exception.reset(new UnknownReplyStatusException(__FILE__, __LINE__));
|
@@ -583,145 +583,94 @@ Outgoing::throwUserException()
|
|
583
583
|
}
|
584
584
|
}
|
585
585
|
|
586
|
-
|
587
|
-
|
586
|
+
ProxyFlushBatch::ProxyFlushBatch(IceProxy::Ice::Object* proxy, const string& operation) :
|
587
|
+
ProxyOutgoingBase(proxy, Ice::Normal)
|
588
588
|
{
|
589
|
-
checkSupportedProtocol(proxy->__reference()->getProtocol());
|
589
|
+
checkSupportedProtocol(getCompatibleProtocol(proxy->__reference()->getProtocol()));
|
590
|
+
_observer.attach(proxy, operation, 0);
|
590
591
|
|
591
|
-
|
592
|
+
_batchRequestNum = proxy->__getBatchRequestQueue()->swap(&_os);
|
592
593
|
}
|
593
594
|
|
594
|
-
|
595
|
-
|
595
|
+
bool
|
596
|
+
ProxyFlushBatch::invokeRemote(const Ice::ConnectionIPtr& connection, bool compress, bool response)
|
596
597
|
{
|
597
|
-
|
598
|
+
return connection->sendRequest(this, compress, response, _batchRequestNum);
|
598
599
|
}
|
599
600
|
|
600
601
|
void
|
601
|
-
|
602
|
+
ProxyFlushBatch::invokeCollocated(CollocatedRequestHandler* handler)
|
602
603
|
{
|
603
|
-
|
604
|
+
handler->invokeRequest(this, _batchRequestNum);
|
605
|
+
}
|
604
606
|
|
605
|
-
|
607
|
+
void
|
608
|
+
ProxyFlushBatch::invoke()
|
609
|
+
{
|
610
|
+
if(_batchRequestNum == 0)
|
606
611
|
{
|
607
|
-
|
608
|
-
{
|
609
|
-
return;
|
610
|
-
}
|
611
|
-
|
612
|
-
Monitor<Mutex>::Lock sync(_monitor);
|
613
|
-
while(!_exception.get() && !_sent)
|
614
|
-
{
|
615
|
-
_monitor.wait();
|
616
|
-
}
|
617
|
-
if(_exception.get())
|
618
|
-
{
|
619
|
-
_exception->ice_throw();
|
620
|
-
}
|
621
|
-
return;
|
612
|
+
sent();
|
622
613
|
}
|
614
|
+
else
|
615
|
+
{
|
616
|
+
invokeImpl();
|
617
|
+
}
|
618
|
+
}
|
619
|
+
|
620
|
+
ConnectionFlushBatch::ConnectionFlushBatch(ConnectionI* connection, Instance* instance, const string& operation) :
|
621
|
+
OutgoingBase(instance), _connection(connection)
|
622
|
+
{
|
623
|
+
_observer.attach(instance, operation);
|
624
|
+
}
|
625
|
+
|
626
|
+
void
|
627
|
+
ConnectionFlushBatch::invoke()
|
628
|
+
{
|
629
|
+
int batchRequestNum = _connection->getBatchRequestQueue()->swap(&_os);
|
623
630
|
|
624
|
-
RequestHandlerPtr handler;
|
625
631
|
try
|
626
632
|
{
|
627
|
-
|
628
|
-
if(handler->sendRequest(this))
|
633
|
+
if(batchRequestNum == 0)
|
629
634
|
{
|
630
|
-
|
635
|
+
sent();
|
631
636
|
}
|
632
|
-
|
633
|
-
bool timedOut = false;
|
637
|
+
else if(!_connection->sendRequest(this, false, false, batchRequestNum))
|
634
638
|
{
|
635
|
-
Monitor<Mutex>::Lock sync(_monitor);
|
636
|
-
int timeout = _proxy->__reference()->getInvocationTimeout();
|
637
|
-
if(timeout > 0)
|
638
|
-
{
|
639
|
-
Time now = Time::now(Time::Monotonic);
|
640
|
-
Time deadline = now + Time::milliSeconds(timeout);
|
641
|
-
while(!_exception.get() && !_sent && !timedOut)
|
642
|
-
{
|
643
|
-
_monitor.timedWait(deadline - now);
|
644
|
-
if(!_exception.get() && !_sent)
|
645
|
-
{
|
646
|
-
now = Time::now(Time::Monotonic);
|
647
|
-
timedOut = now >= deadline;
|
648
|
-
}
|
649
|
-
}
|
650
|
-
}
|
651
|
-
else
|
652
|
-
{
|
653
|
-
while(!_exception.get() && !_sent)
|
654
|
-
{
|
655
|
-
_monitor.wait();
|
656
|
-
}
|
657
|
-
}
|
658
|
-
}
|
659
|
-
|
660
|
-
if(timedOut)
|
661
|
-
{
|
662
|
-
Ice::InvocationTimeoutException ex(__FILE__, __LINE__);
|
663
|
-
handler->requestCanceled(this, ex);
|
664
|
-
|
665
|
-
//
|
666
|
-
// Wait for the exception to propagate. It's possible the request handler ignores
|
667
|
-
// the timeout if there was a failure shortly before requestTimedOut got called.
|
668
|
-
// In this case, the exception should be set on the Outgoing.
|
669
|
-
//
|
670
639
|
Monitor<Mutex>::Lock sync(_monitor);
|
671
640
|
while(!_exception.get() && !_sent)
|
672
641
|
{
|
673
642
|
_monitor.wait();
|
674
643
|
}
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
_exception->ice_throw();
|
644
|
+
if(_exception.get())
|
645
|
+
{
|
646
|
+
_exception->ice_throw();
|
647
|
+
}
|
680
648
|
}
|
681
649
|
}
|
682
650
|
catch(const RetryException& ex)
|
683
651
|
{
|
684
|
-
|
685
|
-
ex.get()->ice_throw(); // Throw to notify the user that batch requests were potentially lost.
|
652
|
+
ex.get()->ice_throw();
|
686
653
|
}
|
687
|
-
catch(const Ice::Exception& ex)
|
688
|
-
{
|
689
|
-
_proxy->__setRequestHandler(handler, 0); // Clear request handler
|
690
|
-
_observer.failed(ex.ice_name());
|
691
|
-
throw; // Throw to notify the user that batch requests were potentially lost.
|
692
|
-
}
|
693
|
-
}
|
694
|
-
|
695
|
-
bool
|
696
|
-
FlushBatch::send(const Ice::ConnectionIPtr& connection, bool, bool)
|
697
|
-
{
|
698
|
-
return connection->flushBatchRequests(this);
|
699
|
-
}
|
700
|
-
|
701
|
-
void
|
702
|
-
FlushBatch::invokeCollocated(CollocatedRequestHandler* handler)
|
703
|
-
{
|
704
|
-
handler->invokeBatchRequests(this);
|
705
654
|
}
|
706
655
|
|
707
656
|
void
|
708
|
-
|
657
|
+
ConnectionFlushBatch::sent()
|
709
658
|
{
|
710
659
|
Monitor<Mutex>::Lock sync(_monitor);
|
711
660
|
_childObserver.detach();
|
712
|
-
|
661
|
+
|
713
662
|
_sent = true;
|
714
663
|
_monitor.notify();
|
715
664
|
|
716
665
|
//
|
717
|
-
// NOTE: At this point the stack allocated
|
718
|
-
// can be destroyed since the notify() on the monitor will
|
719
|
-
// the thread waiting on the synchronous Ice call.
|
666
|
+
// NOTE: At this point the stack allocated ConnectionFlushBatch
|
667
|
+
// object can be destroyed since the notify() on the monitor will
|
668
|
+
// release the thread waiting on the synchronous Ice call.
|
720
669
|
//
|
721
670
|
}
|
722
671
|
|
723
672
|
void
|
724
|
-
|
673
|
+
ConnectionFlushBatch::completed(const Ice::Exception& ex)
|
725
674
|
{
|
726
675
|
Monitor<Mutex>::Lock sync(_monitor);
|
727
676
|
_childObserver.failed(ex.ice_name());
|
@@ -731,7 +680,13 @@ FlushBatch::completed(const Ice::Exception& ex)
|
|
731
680
|
}
|
732
681
|
|
733
682
|
void
|
734
|
-
|
683
|
+
ConnectionFlushBatch::completed(BasicStream& is)
|
684
|
+
{
|
685
|
+
assert(false);
|
686
|
+
}
|
687
|
+
|
688
|
+
void
|
689
|
+
ConnectionFlushBatch::retryException(const Ice::Exception& ex)
|
735
690
|
{
|
736
691
|
completed(ex);
|
737
692
|
}
|