zeroc-ice 3.6b1
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 +7 -0
- data/ICE_LICENSE +54 -0
- data/LICENSE +339 -0
- data/bin/slice2rb +17 -0
- data/ext/Communicator.cpp +596 -0
- data/ext/Communicator.h +25 -0
- data/ext/Config.h +111 -0
- data/ext/Connection.cpp +381 -0
- data/ext/Connection.h +26 -0
- data/ext/Endpoint.cpp +311 -0
- data/ext/Endpoint.h +27 -0
- data/ext/ImplicitContext.cpp +152 -0
- data/ext/ImplicitContext.h +25 -0
- data/ext/Init.cpp +52 -0
- data/ext/Logger.cpp +151 -0
- data/ext/Logger.h +28 -0
- data/ext/ObjectFactory.cpp +140 -0
- data/ext/ObjectFactory.h +50 -0
- data/ext/Operation.cpp +676 -0
- data/ext/Operation.h +36 -0
- data/ext/Properties.cpp +369 -0
- data/ext/Properties.h +25 -0
- data/ext/Proxy.cpp +1354 -0
- data/ext/Proxy.h +27 -0
- data/ext/Slice.cpp +223 -0
- data/ext/Slice.h +22 -0
- data/ext/Types.cpp +3160 -0
- data/ext/Types.h +545 -0
- data/ext/Util.cpp +792 -0
- data/ext/Util.h +511 -0
- data/ext/extconf.rb +118 -0
- data/ext/ice/BZIP_LICENSE +42 -0
- data/ext/ice/MCPP_LICENSE +36 -0
- data/ext/ice/bzip2/blocksort.c +1094 -0
- data/ext/ice/bzip2/bzlib.c +1572 -0
- data/ext/ice/bzip2/bzlib.h +282 -0
- data/ext/ice/bzip2/bzlib_private.h +509 -0
- data/ext/ice/bzip2/compress.c +672 -0
- data/ext/ice/bzip2/crctable.c +104 -0
- data/ext/ice/bzip2/decompress.c +646 -0
- data/ext/ice/bzip2/huffman.c +205 -0
- data/ext/ice/bzip2/randtable.c +84 -0
- data/ext/ice/cpp/include/Ice/ACMF.h +30 -0
- data/ext/ice/cpp/include/Ice/Application.h +156 -0
- data/ext/ice/cpp/include/Ice/AsyncResult.h +363 -0
- data/ext/ice/cpp/include/Ice/AsyncResultF.h +26 -0
- data/ext/ice/cpp/include/Ice/BasicStream.h +1315 -0
- data/ext/ice/cpp/include/Ice/Buffer.h +159 -0
- data/ext/ice/cpp/include/Ice/BuiltinSequences.h +74 -0
- data/ext/ice/cpp/include/Ice/Communicator.h +194 -0
- data/ext/ice/cpp/include/Ice/CommunicatorAsync.h +115 -0
- data/ext/ice/cpp/include/Ice/CommunicatorF.h +60 -0
- data/ext/ice/cpp/include/Ice/Config.h +97 -0
- data/ext/ice/cpp/include/Ice/Connection.h +495 -0
- data/ext/ice/cpp/include/Ice/ConnectionAsync.h +115 -0
- data/ext/ice/cpp/include/Ice/ConnectionF.h +72 -0
- data/ext/ice/cpp/include/Ice/ConnectionFactoryF.h +30 -0
- data/ext/ice/cpp/include/Ice/ConnectionIF.h +37 -0
- data/ext/ice/cpp/include/Ice/Current.h +94 -0
- data/ext/ice/cpp/include/Ice/DefaultObjectFactory.h +48 -0
- data/ext/ice/cpp/include/Ice/DeprecatedStringConverter.h +62 -0
- data/ext/ice/cpp/include/Ice/DispatchInterceptor.h +33 -0
- data/ext/ice/cpp/include/Ice/Dispatcher.h +51 -0
- data/ext/ice/cpp/include/Ice/DynamicLibrary.h +105 -0
- data/ext/ice/cpp/include/Ice/DynamicLibraryF.h +29 -0
- data/ext/ice/cpp/include/Ice/Endpoint.h +350 -0
- data/ext/ice/cpp/include/Ice/EndpointF.h +97 -0
- data/ext/ice/cpp/include/Ice/EndpointTypes.h +74 -0
- data/ext/ice/cpp/include/Ice/Exception.h +114 -0
- data/ext/ice/cpp/include/Ice/FacetMap.h +56 -0
- data/ext/ice/cpp/include/Ice/FactoryTable.h +69 -0
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +87 -0
- data/ext/ice/cpp/include/Ice/Format.h +39 -0
- data/ext/ice/cpp/include/Ice/Functional.h +138 -0
- data/ext/ice/cpp/include/Ice/GCObject.h +73 -0
- data/ext/ice/cpp/include/Ice/Handle.h +192 -0
- data/ext/ice/cpp/include/Ice/Ice.h +54 -0
- data/ext/ice/cpp/include/Ice/Identity.h +160 -0
- data/ext/ice/cpp/include/Ice/ImplicitContext.h +96 -0
- data/ext/ice/cpp/include/Ice/ImplicitContextF.h +60 -0
- data/ext/ice/cpp/include/Ice/Incoming.h +131 -0
- data/ext/ice/cpp/include/Ice/IncomingAsync.h +108 -0
- data/ext/ice/cpp/include/Ice/IncomingAsyncF.h +35 -0
- data/ext/ice/cpp/include/Ice/Initialize.h +141 -0
- data/ext/ice/cpp/include/Ice/InstanceF.h +26 -0
- data/ext/ice/cpp/include/Ice/Instrumentation.h +377 -0
- data/ext/ice/cpp/include/Ice/InstrumentationF.h +71 -0
- data/ext/ice/cpp/include/Ice/LocalException.h +1022 -0
- data/ext/ice/cpp/include/Ice/LocalObject.h +36 -0
- data/ext/ice/cpp/include/Ice/LocalObjectF.h +26 -0
- data/ext/ice/cpp/include/Ice/Locator.h +2191 -0
- data/ext/ice/cpp/include/Ice/LocatorF.h +89 -0
- data/ext/ice/cpp/include/Ice/Logger.h +94 -0
- data/ext/ice/cpp/include/Ice/LoggerF.h +60 -0
- data/ext/ice/cpp/include/Ice/LoggerUtil.h +153 -0
- data/ext/ice/cpp/include/Ice/Makefile +26 -0
- data/ext/ice/cpp/include/Ice/Metrics.h +2989 -0
- data/ext/ice/cpp/include/Ice/MetricsAdminI.h +662 -0
- data/ext/ice/cpp/include/Ice/MetricsFunctional.h +144 -0
- data/ext/ice/cpp/include/Ice/MetricsObserverI.h +576 -0
- data/ext/ice/cpp/include/Ice/NativePropertiesAdmin.h +55 -0
- data/ext/ice/cpp/include/Ice/Object.h +165 -0
- data/ext/ice/cpp/include/Ice/ObjectAdapter.h +162 -0
- data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +60 -0
- data/ext/ice/cpp/include/Ice/ObjectAdapterFactoryF.h +26 -0
- data/ext/ice/cpp/include/Ice/ObjectF.h +26 -0
- data/ext/ice/cpp/include/Ice/ObjectFactory.h +86 -0
- data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +60 -0
- data/ext/ice/cpp/include/Ice/ObjectFactoryManagerF.h +26 -0
- data/ext/ice/cpp/include/Ice/ObserverHelper.h +177 -0
- data/ext/ice/cpp/include/Ice/Outgoing.h +197 -0
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +264 -0
- data/ext/ice/cpp/include/Ice/OutgoingAsyncF.h +38 -0
- data/ext/ice/cpp/include/Ice/Plugin.h +121 -0
- data/ext/ice/cpp/include/Ice/PluginF.h +66 -0
- data/ext/ice/cpp/include/Ice/Process.h +568 -0
- data/ext/ice/cpp/include/Ice/ProcessF.h +77 -0
- data/ext/ice/cpp/include/Ice/Properties.h +130 -0
- data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +824 -0
- data/ext/ice/cpp/include/Ice/PropertiesF.h +83 -0
- data/ext/ice/cpp/include/Ice/Protocol.h +242 -0
- data/ext/ice/cpp/include/Ice/Proxy.h +2448 -0
- data/ext/ice/cpp/include/Ice/ProxyF.h +78 -0
- data/ext/ice/cpp/include/Ice/ProxyFactoryF.h +26 -0
- data/ext/ice/cpp/include/Ice/ProxyHandle.h +330 -0
- data/ext/ice/cpp/include/Ice/ReferenceF.h +34 -0
- data/ext/ice/cpp/include/Ice/RemoteLogger.h +1496 -0
- data/ext/ice/cpp/include/Ice/RequestHandlerF.h +29 -0
- data/ext/ice/cpp/include/Ice/ResponseHandlerF.h +25 -0
- data/ext/ice/cpp/include/Ice/Router.h +1155 -0
- data/ext/ice/cpp/include/Ice/RouterF.h +77 -0
- data/ext/ice/cpp/include/Ice/ServantLocator.h +90 -0
- data/ext/ice/cpp/include/Ice/ServantLocatorF.h +60 -0
- data/ext/ice/cpp/include/Ice/ServantManagerF.h +26 -0
- data/ext/ice/cpp/include/Ice/Service.h +260 -0
- data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +56 -0
- data/ext/ice/cpp/include/Ice/SliceChecksums.h +34 -0
- data/ext/ice/cpp/include/Ice/SlicedData.h +103 -0
- data/ext/ice/cpp/include/Ice/SlicedDataF.h +34 -0
- data/ext/ice/cpp/include/Ice/Stream.h +449 -0
- data/ext/ice/cpp/include/Ice/StreamF.h +30 -0
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +877 -0
- data/ext/ice/cpp/include/Ice/ThreadPoolF.h +28 -0
- data/ext/ice/cpp/include/Ice/UserExceptionFactory.h +56 -0
- data/ext/ice/cpp/include/Ice/Version.h +254 -0
- data/ext/ice/cpp/include/IceSSL/Config.h +23 -0
- data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +119 -0
- data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +101 -0
- data/ext/ice/cpp/include/IceSSL/IceSSL.h +22 -0
- data/ext/ice/cpp/include/IceSSL/Makefile +26 -0
- data/ext/ice/cpp/include/IceSSL/Plugin.h +558 -0
- data/ext/ice/cpp/include/IceUtil/AbstractMutex.h +119 -0
- data/ext/ice/cpp/include/IceUtil/Cache.h +362 -0
- data/ext/ice/cpp/include/IceUtil/Cond.h +323 -0
- data/ext/ice/cpp/include/IceUtil/Config.h +234 -0
- data/ext/ice/cpp/include/IceUtil/CountDownLatch.h +50 -0
- data/ext/ice/cpp/include/IceUtil/CtrlCHandler.h +70 -0
- data/ext/ice/cpp/include/IceUtil/DisableWarnings.h +45 -0
- data/ext/ice/cpp/include/IceUtil/Exception.h +184 -0
- data/ext/ice/cpp/include/IceUtil/Functional.h +389 -0
- data/ext/ice/cpp/include/IceUtil/Handle.h +266 -0
- data/ext/ice/cpp/include/IceUtil/IceUtil.h +51 -0
- data/ext/ice/cpp/include/IceUtil/IconvStringConverter.h +302 -0
- data/ext/ice/cpp/include/IceUtil/InputUtil.h +47 -0
- data/ext/ice/cpp/include/IceUtil/Iterator.h +36 -0
- data/ext/ice/cpp/include/IceUtil/Lock.h +135 -0
- data/ext/ice/cpp/include/IceUtil/Makefile +26 -0
- data/ext/ice/cpp/include/IceUtil/Monitor.h +249 -0
- data/ext/ice/cpp/include/IceUtil/Mutex.h +357 -0
- data/ext/ice/cpp/include/IceUtil/MutexProtocol.h +28 -0
- data/ext/ice/cpp/include/IceUtil/MutexPtrLock.h +83 -0
- data/ext/ice/cpp/include/IceUtil/MutexPtrTryLock.h +82 -0
- data/ext/ice/cpp/include/IceUtil/Optional.h +322 -0
- data/ext/ice/cpp/include/IceUtil/Options.h +141 -0
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +362 -0
- data/ext/ice/cpp/include/IceUtil/PopDisableWarnings.h +19 -0
- data/ext/ice/cpp/include/IceUtil/PushDisableWarnings.h +26 -0
- data/ext/ice/cpp/include/IceUtil/Random.h +24 -0
- data/ext/ice/cpp/include/IceUtil/RecMutex.h +113 -0
- data/ext/ice/cpp/include/IceUtil/SHA1.h +65 -0
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +44 -0
- data/ext/ice/cpp/include/IceUtil/ScopedArray.h +97 -0
- data/ext/ice/cpp/include/IceUtil/Shared.h +168 -0
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +175 -0
- data/ext/ice/cpp/include/IceUtil/StringUtil.h +91 -0
- data/ext/ice/cpp/include/IceUtil/Thread.h +181 -0
- data/ext/ice/cpp/include/IceUtil/ThreadException.h +108 -0
- data/ext/ice/cpp/include/IceUtil/Time.h +209 -0
- data/ext/ice/cpp/include/IceUtil/Timer.h +143 -0
- data/ext/ice/cpp/include/IceUtil/UUID.h +22 -0
- data/ext/ice/cpp/include/IceUtil/UndefSysMacros.h +42 -0
- data/ext/ice/cpp/include/IceUtil/UniquePtr.h +101 -0
- data/ext/ice/cpp/include/Slice/CPlusPlusUtil.h +64 -0
- data/ext/ice/cpp/include/Slice/Checksum.h +26 -0
- data/ext/ice/cpp/include/Slice/CsUtil.h +92 -0
- data/ext/ice/cpp/include/Slice/DotNetNames.h +34 -0
- data/ext/ice/cpp/include/Slice/FileTracker.h +71 -0
- data/ext/ice/cpp/include/Slice/JavaUtil.h +277 -0
- data/ext/ice/cpp/include/Slice/Makefile +26 -0
- data/ext/ice/cpp/include/Slice/PHPUtil.h +50 -0
- data/ext/ice/cpp/include/Slice/Parser.h +1116 -0
- data/ext/ice/cpp/include/Slice/Preprocessor.h +68 -0
- data/ext/ice/cpp/include/Slice/PythonUtil.h +64 -0
- data/ext/ice/cpp/include/Slice/RubyUtil.h +54 -0
- data/ext/ice/cpp/include/Slice/Util.h +33 -0
- data/ext/ice/cpp/src/Ice/ACM.cpp +343 -0
- data/ext/ice/cpp/src/Ice/ACM.h +117 -0
- data/ext/ice/cpp/src/Ice/Acceptor.cpp +16 -0
- data/ext/ice/cpp/src/Ice/Acceptor.h +41 -0
- data/ext/ice/cpp/src/Ice/AcceptorF.h +30 -0
- data/ext/ice/cpp/src/Ice/Application.cpp +760 -0
- data/ext/ice/cpp/src/Ice/AsyncResult.cpp +599 -0
- data/ext/ice/cpp/src/Ice/Base64.cpp +269 -0
- data/ext/ice/cpp/src/Ice/Base64.h +36 -0
- data/ext/ice/cpp/src/Ice/BasicStream.cpp +3393 -0
- data/ext/ice/cpp/src/Ice/Buffer.cpp +98 -0
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +34 -0
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +718 -0
- data/ext/ice/cpp/src/Ice/CollocatedRequestHandler.h +106 -0
- data/ext/ice/cpp/src/Ice/Communicator.cpp +45 -0
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +386 -0
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +112 -0
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +546 -0
- data/ext/ice/cpp/src/Ice/ConnectRequestHandler.h +97 -0
- data/ext/ice/cpp/src/Ice/Connection.cpp +58 -0
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +1639 -0
- data/ext/ice/cpp/src/Ice/ConnectionFactory.h +236 -0
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +3876 -0
- data/ext/ice/cpp/src/Ice/ConnectionI.h +364 -0
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +115 -0
- data/ext/ice/cpp/src/Ice/ConnectionRequestHandler.h +50 -0
- data/ext/ice/cpp/src/Ice/Connector.cpp +16 -0
- data/ext/ice/cpp/src/Ice/Connector.h +36 -0
- data/ext/ice/cpp/src/Ice/ConnectorF.h +26 -0
- data/ext/ice/cpp/src/Ice/Current.cpp +38 -0
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +168 -0
- data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.h +57 -0
- data/ext/ice/cpp/src/Ice/DefaultsAndOverridesF.h +26 -0
- data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +60 -0
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +49 -0
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +281 -0
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +53 -0
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/EndpointFactory.cpp +25 -0
- data/ext/ice/cpp/src/Ice/EndpointFactory.h +44 -0
- data/ext/ice/cpp/src/Ice/EndpointFactoryF.h +26 -0
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.cpp +208 -0
- data/ext/ice/cpp/src/Ice/EndpointFactoryManager.h +46 -0
- data/ext/ice/cpp/src/Ice/EndpointFactoryManagerF.h +26 -0
- data/ext/ice/cpp/src/Ice/EndpointI.cpp +87 -0
- data/ext/ice/cpp/src/Ice/EndpointI.h +165 -0
- data/ext/ice/cpp/src/Ice/EndpointIF.h +41 -0
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +38 -0
- data/ext/ice/cpp/src/Ice/EventHandler.cpp +35 -0
- data/ext/ice/cpp/src/Ice/EventHandler.h +78 -0
- data/ext/ice/cpp/src/Ice/EventHandlerF.h +26 -0
- data/ext/ice/cpp/src/Ice/EventLoggerMsg.h +53 -0
- data/ext/ice/cpp/src/Ice/Exception.cpp +832 -0
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +34 -0
- data/ext/ice/cpp/src/Ice/FactoryTable.cpp +158 -0
- data/ext/ice/cpp/src/Ice/FactoryTableInit.cpp +95 -0
- data/ext/ice/cpp/src/Ice/GCObject.cpp +444 -0
- data/ext/ice/cpp/src/Ice/HashUtil.h +59 -0
- data/ext/ice/cpp/src/Ice/HttpParser.cpp +680 -0
- data/ext/ice/cpp/src/Ice/HttpParser.h +124 -0
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +733 -0
- data/ext/ice/cpp/src/Ice/IPEndpointI.h +157 -0
- data/ext/ice/cpp/src/Ice/IPEndpointIF.h +29 -0
- data/ext/ice/cpp/src/Ice/Identity.cpp +42 -0
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +41 -0
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ImplicitContextI.cpp +639 -0
- data/ext/ice/cpp/src/Ice/ImplicitContextI.h +51 -0
- data/ext/ice/cpp/src/Ice/Incoming.cpp +757 -0
- data/ext/ice/cpp/src/Ice/IncomingAsync.cpp +340 -0
- data/ext/ice/cpp/src/Ice/IncomingRequest.h +37 -0
- data/ext/ice/cpp/src/Ice/Initialize.cpp +401 -0
- data/ext/ice/cpp/src/Ice/Instance.cpp +1928 -0
- data/ext/ice/cpp/src/Ice/Instance.h +198 -0
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +68 -0
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +43 -0
- data/ext/ice/cpp/src/Ice/InstrumentationI.cpp +1083 -0
- data/ext/ice/cpp/src/Ice/InstrumentationI.h +262 -0
- data/ext/ice/cpp/src/Ice/LocalException.cpp +2091 -0
- data/ext/ice/cpp/src/Ice/LocalObject.cpp +29 -0
- data/ext/ice/cpp/src/Ice/Locator.cpp +1946 -0
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +39 -0
- data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +917 -0
- data/ext/ice/cpp/src/Ice/LocatorInfo.h +193 -0
- data/ext/ice/cpp/src/Ice/LocatorInfoF.h +34 -0
- data/ext/ice/cpp/src/Ice/Logger.cpp +40 -0
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +862 -0
- data/ext/ice/cpp/src/Ice/LoggerAdminI.h +46 -0
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +199 -0
- data/ext/ice/cpp/src/Ice/LoggerI.h +57 -0
- data/ext/ice/cpp/src/Ice/LoggerUtil.cpp +107 -0
- data/ext/ice/cpp/src/Ice/Makefile +190 -0
- data/ext/ice/cpp/src/Ice/Metrics.cpp +2159 -0
- data/ext/ice/cpp/src/Ice/MetricsAdminI.cpp +669 -0
- data/ext/ice/cpp/src/Ice/MetricsObserverI.cpp +14 -0
- data/ext/ice/cpp/src/Ice/Network.cpp +2694 -0
- data/ext/ice/cpp/src/Ice/Network.h +291 -0
- data/ext/ice/cpp/src/Ice/NetworkF.h +28 -0
- data/ext/ice/cpp/src/Ice/NetworkProxy.cpp +325 -0
- data/ext/ice/cpp/src/Ice/NetworkProxy.h +74 -0
- data/ext/ice/cpp/src/Ice/NetworkProxyF.h +26 -0
- data/ext/ice/cpp/src/Ice/Object.cpp +440 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +41 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +241 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterFactory.h +52 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +1498 -0
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +155 -0
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +41 -0
- data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.cpp +140 -0
- data/ext/ice/cpp/src/Ice/ObjectFactoryManager.h +43 -0
- data/ext/ice/cpp/src/Ice/ObserverHelper.cpp +84 -0
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.cpp +407 -0
- data/ext/ice/cpp/src/Ice/OpaqueEndpointI.h +70 -0
- data/ext/ice/cpp/src/Ice/Outgoing.cpp +737 -0
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +874 -0
- data/ext/ice/cpp/src/Ice/Plugin.cpp +43 -0
- data/ext/ice/cpp/src/Ice/PluginF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/PluginManagerI.cpp +503 -0
- data/ext/ice/cpp/src/Ice/PluginManagerI.h +67 -0
- data/ext/ice/cpp/src/Ice/Process.cpp +299 -0
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +39 -0
- data/ext/ice/cpp/src/Ice/Properties.cpp +45 -0
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +555 -0
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +207 -0
- data/ext/ice/cpp/src/Ice/PropertiesAdminI.h +45 -0
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +39 -0
- data/ext/ice/cpp/src/Ice/PropertiesI.cpp +759 -0
- data/ext/ice/cpp/src/Ice/PropertiesI.h +78 -0
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +1293 -0
- data/ext/ice/cpp/src/Ice/PropertyNames.h +81 -0
- data/ext/ice/cpp/src/Ice/Protocol.cpp +137 -0
- data/ext/ice/cpp/src/Ice/ProtocolInstance.cpp +98 -0
- data/ext/ice/cpp/src/Ice/ProtocolInstance.h +91 -0
- data/ext/ice/cpp/src/Ice/ProtocolInstanceF.h +26 -0
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +51 -0
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacade.h +67 -0
- data/ext/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +26 -0
- data/ext/ice/cpp/src/Ice/Proxy.cpp +1810 -0
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +305 -0
- data/ext/ice/cpp/src/Ice/ProxyFactory.h +57 -0
- data/ext/ice/cpp/src/Ice/Reference.cpp +1947 -0
- data/ext/ice/cpp/src/Ice/Reference.h +305 -0
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +937 -0
- data/ext/ice/cpp/src/Ice/ReferenceFactory.h +81 -0
- data/ext/ice/cpp/src/Ice/ReferenceFactoryF.h +24 -0
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +958 -0
- data/ext/ice/cpp/src/Ice/ReplyStatus.h +29 -0
- data/ext/ice/cpp/src/Ice/RequestHandler.cpp +40 -0
- data/ext/ice/cpp/src/Ice/RequestHandler.h +90 -0
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.cpp +70 -0
- data/ext/ice/cpp/src/Ice/RequestHandlerFactory.h +41 -0
- data/ext/ice/cpp/src/Ice/ResponseHandler.cpp +20 -0
- data/ext/ice/cpp/src/Ice/ResponseHandler.h +39 -0
- data/ext/ice/cpp/src/Ice/RetryQueue.cpp +154 -0
- data/ext/ice/cpp/src/Ice/RetryQueue.h +69 -0
- data/ext/ice/cpp/src/Ice/RetryQueueF.h +24 -0
- data/ext/ice/cpp/src/Ice/Router.cpp +849 -0
- data/ext/ice/cpp/src/Ice/RouterF.cpp +39 -0
- data/ext/ice/cpp/src/Ice/RouterInfo.cpp +381 -0
- data/ext/ice/cpp/src/Ice/RouterInfo.h +148 -0
- data/ext/ice/cpp/src/Ice/RouterInfoF.h +30 -0
- data/ext/ice/cpp/src/Ice/Selector.cpp +926 -0
- data/ext/ice/cpp/src/Ice/Selector.h +231 -0
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +41 -0
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +38 -0
- data/ext/ice/cpp/src/Ice/ServantManager.cpp +495 -0
- data/ext/ice/cpp/src/Ice/ServantManager.h +74 -0
- data/ext/ice/cpp/src/Ice/Service.cpp +1897 -0
- data/ext/ice/cpp/src/Ice/SharedContext.h +51 -0
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +34 -0
- data/ext/ice/cpp/src/Ice/SliceChecksums.cpp +80 -0
- data/ext/ice/cpp/src/Ice/SlicedData.cpp +80 -0
- data/ext/ice/cpp/src/Ice/Stream.cpp +53 -0
- data/ext/ice/cpp/src/Ice/StreamI.cpp +832 -0
- data/ext/ice/cpp/src/Ice/StreamI.h +198 -0
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +521 -0
- data/ext/ice/cpp/src/Ice/StreamSocket.h +85 -0
- data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +145 -0
- data/ext/ice/cpp/src/Ice/SysLoggerI.cpp +167 -0
- data/ext/ice/cpp/src/Ice/SysLoggerI.h +43 -0
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +235 -0
- data/ext/ice/cpp/src/Ice/TcpAcceptor.h +67 -0
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +133 -0
- data/ext/ice/cpp/src/Ice/TcpConnector.h +51 -0
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +397 -0
- data/ext/ice/cpp/src/Ice/TcpEndpointI.h +93 -0
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +127 -0
- data/ext/ice/cpp/src/Ice/TcpTransceiver.h +61 -0
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +1357 -0
- data/ext/ice/cpp/src/Ice/ThreadPool.h +399 -0
- data/ext/ice/cpp/src/Ice/TraceLevels.cpp +43 -0
- data/ext/ice/cpp/src/Ice/TraceLevels.h +50 -0
- data/ext/ice/cpp/src/Ice/TraceLevelsF.h +26 -0
- data/ext/ice/cpp/src/Ice/TraceUtil.cpp +452 -0
- data/ext/ice/cpp/src/Ice/TraceUtil.h +28 -0
- data/ext/ice/cpp/src/Ice/Transceiver.cpp +24 -0
- data/ext/ice/cpp/src/Ice/Transceiver.h +52 -0
- data/ext/ice/cpp/src/Ice/TransceiverF.h +38 -0
- data/ext/ice/cpp/src/Ice/UdpConnector.cpp +144 -0
- data/ext/ice/cpp/src/Ice/UdpConnector.h +51 -0
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +483 -0
- data/ext/ice/cpp/src/Ice/UdpEndpointI.h +95 -0
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +1156 -0
- data/ext/ice/cpp/src/Ice/UdpTransceiver.h +123 -0
- data/ext/ice/cpp/src/Ice/Version.cpp +46 -0
- data/ext/ice/cpp/src/Ice/WSAcceptor.cpp +103 -0
- data/ext/ice/cpp/src/Ice/WSAcceptor.h +61 -0
- data/ext/ice/cpp/src/Ice/WSConnector.cpp +113 -0
- data/ext/ice/cpp/src/Ice/WSConnector.h +51 -0
- data/ext/ice/cpp/src/Ice/WSEndpoint.cpp +441 -0
- data/ext/ice/cpp/src/Ice/WSEndpoint.h +97 -0
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +1728 -0
- data/ext/ice/cpp/src/Ice/WSTransceiver.h +149 -0
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +594 -0
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +1035 -0
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.cpp +208 -0
- data/ext/ice/cpp/src/IceDiscovery/LocatorI.h +78 -0
- data/ext/ice/cpp/src/IceDiscovery/LookupI.cpp +308 -0
- data/ext/ice/cpp/src/IceDiscovery/LookupI.h +183 -0
- data/ext/ice/cpp/src/IceDiscovery/Makefile +61 -0
- data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +148 -0
- data/ext/ice/cpp/src/IceDiscovery/PluginI.h +39 -0
- data/ext/ice/cpp/src/IceSSL/AcceptorI.cpp +258 -0
- data/ext/ice/cpp/src/IceSSL/AcceptorI.h +66 -0
- data/ext/ice/cpp/src/IceSSL/Certificate.cpp +1334 -0
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +42 -0
- data/ext/ice/cpp/src/IceSSL/ConnectorI.cpp +151 -0
- data/ext/ice/cpp/src/IceSSL/ConnectorI.h +56 -0
- data/ext/ice/cpp/src/IceSSL/EndpointI.cpp +397 -0
- data/ext/ice/cpp/src/IceSSL/EndpointI.h +96 -0
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +41 -0
- data/ext/ice/cpp/src/IceSSL/Instance.cpp +38 -0
- data/ext/ice/cpp/src/IceSSL/Instance.h +42 -0
- data/ext/ice/cpp/src/IceSSL/InstanceF.h +34 -0
- data/ext/ice/cpp/src/IceSSL/Makefile +82 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +1001 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +607 -0
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +75 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.cpp +102 -0
- data/ext/ice/cpp/src/IceSSL/PluginI.h +56 -0
- data/ext/ice/cpp/src/IceSSL/RFC2253.cpp +541 -0
- data/ext/ice/cpp/src/IceSSL/RFC2253.h +67 -0
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +729 -0
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +1062 -0
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.h +130 -0
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +291 -0
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +264 -0
- data/ext/ice/cpp/src/IceSSL/SSLEngineF.h +41 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +1514 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +609 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +91 -0
- data/ext/ice/cpp/src/IceSSL/TrustManager.cpp +246 -0
- data/ext/ice/cpp/src/IceSSL/TrustManager.h +51 -0
- data/ext/ice/cpp/src/IceSSL/TrustManagerF.h +26 -0
- data/ext/ice/cpp/src/IceSSL/Util.cpp +1423 -0
- data/ext/ice/cpp/src/IceSSL/Util.h +136 -0
- data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +65 -0
- data/ext/ice/cpp/src/IceUtil/ArgVector.h +41 -0
- data/ext/ice/cpp/src/IceUtil/Cond.cpp +386 -0
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.cpp +477 -0
- data/ext/ice/cpp/src/IceUtil/ConvertUTF.h +144 -0
- data/ext/ice/cpp/src/IceUtil/CountDownLatch.cpp +184 -0
- data/ext/ice/cpp/src/IceUtil/CtrlCHandler.cpp +273 -0
- data/ext/ice/cpp/src/IceUtil/Exception.cpp +782 -0
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +532 -0
- data/ext/ice/cpp/src/IceUtil/FileUtil.h +159 -0
- data/ext/ice/cpp/src/IceUtil/InputUtil.cpp +41 -0
- data/ext/ice/cpp/src/IceUtil/Makefile +68 -0
- data/ext/ice/cpp/src/IceUtil/MutexProtocol.cpp +24 -0
- data/ext/ice/cpp/src/IceUtil/Options.cpp +1049 -0
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +591 -0
- data/ext/ice/cpp/src/IceUtil/Random.cpp +185 -0
- data/ext/ice/cpp/src/IceUtil/RecMutex.cpp +257 -0
- data/ext/ice/cpp/src/IceUtil/SHA1.cpp +126 -0
- data/ext/ice/cpp/src/IceUtil/Shared.cpp +200 -0
- data/ext/ice/cpp/src/IceUtil/StopWatch.h +54 -0
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +450 -0
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +842 -0
- data/ext/ice/cpp/src/IceUtil/Thread.cpp +809 -0
- data/ext/ice/cpp/src/IceUtil/ThreadException.cpp +172 -0
- data/ext/ice/cpp/src/IceUtil/Time.cpp +306 -0
- data/ext/ice/cpp/src/IceUtil/Timer.cpp +251 -0
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +174 -0
- data/ext/ice/cpp/src/IceUtil/Unicode.cpp +131 -0
- data/ext/ice/cpp/src/IceUtil/Unicode.h +49 -0
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +1139 -0
- data/ext/ice/cpp/src/Slice/Checksum.cpp +452 -0
- data/ext/ice/cpp/src/Slice/CsUtil.cpp +2650 -0
- data/ext/ice/cpp/src/Slice/DotNetNames.cpp +146 -0
- data/ext/ice/cpp/src/Slice/FileTracker.cpp +203 -0
- data/ext/ice/cpp/src/Slice/Grammar.cpp +4755 -0
- data/ext/ice/cpp/src/Slice/Grammar.h +98 -0
- data/ext/ice/cpp/src/Slice/GrammarUtil.h +234 -0
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +4376 -0
- data/ext/ice/cpp/src/Slice/MD5.cpp +57 -0
- data/ext/ice/cpp/src/Slice/MD5.h +44 -0
- data/ext/ice/cpp/src/Slice/MD5I.cpp +385 -0
- data/ext/ice/cpp/src/Slice/MD5I.h +91 -0
- data/ext/ice/cpp/src/Slice/Makefile +65 -0
- data/ext/ice/cpp/src/Slice/PHPUtil.cpp +156 -0
- data/ext/ice/cpp/src/Slice/Parser.cpp +6386 -0
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +686 -0
- data/ext/ice/cpp/src/Slice/Python.cpp +675 -0
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +2614 -0
- data/ext/ice/cpp/src/Slice/Ruby.cpp +317 -0
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +1774 -0
- data/ext/ice/cpp/src/Slice/Scanner.cpp +2426 -0
- data/ext/ice/cpp/src/Slice/Util.cpp +325 -0
- data/ext/ice/mcpp/config.h.Darwin +227 -0
- data/ext/ice/mcpp/config.h.Linux +227 -0
- data/ext/ice/mcpp/config.h.MINGW +7 -0
- data/ext/ice/mcpp/configed.H +382 -0
- data/ext/ice/mcpp/directive.c +1699 -0
- data/ext/ice/mcpp/eval.c +1673 -0
- data/ext/ice/mcpp/expand.c +2980 -0
- data/ext/ice/mcpp/internal.H +564 -0
- data/ext/ice/mcpp/main.c +1131 -0
- data/ext/ice/mcpp/mbchar.c +869 -0
- data/ext/ice/mcpp/mcpp_lib.h +31 -0
- data/ext/ice/mcpp/mcpp_out.h +13 -0
- data/ext/ice/mcpp/support.c +2811 -0
- data/ext/ice/mcpp/system.H +396 -0
- data/ext/ice/mcpp/system.c +4940 -0
- data/ice.gemspec +41 -0
- data/lib/Glacier2.rb +12 -0
- data/lib/Glacier2/Metrics.rb +99 -0
- data/lib/Glacier2/PermissionsVerifier.rb +168 -0
- data/lib/Glacier2/PermissionsVerifierF.rb +34 -0
- data/lib/Glacier2/Router.rb +141 -0
- data/lib/Glacier2/RouterF.rb +29 -0
- data/lib/Glacier2/SSLInfo.rb +79 -0
- data/lib/Glacier2/Session.rb +470 -0
- data/lib/Ice.rb +659 -0
- data/lib/Ice/BuiltinSequences.rb +64 -0
- data/lib/Ice/Communicator.rb +93 -0
- data/lib/Ice/CommunicatorF.rb +28 -0
- data/lib/Ice/Connection.rb +414 -0
- data/lib/Ice/ConnectionF.rb +36 -0
- data/lib/Ice/Current.rb +152 -0
- data/lib/Ice/Endpoint.rb +265 -0
- data/lib/Ice/EndpointF.rb +52 -0
- data/lib/Ice/EndpointTypes.rb +77 -0
- data/lib/Ice/FacetMap.rb +28 -0
- data/lib/Ice/Identity.rb +70 -0
- data/lib/Ice/ImplicitContext.rb +59 -0
- data/lib/Ice/ImplicitContextF.rb +28 -0
- data/lib/Ice/Instrumentation.rb +425 -0
- data/lib/Ice/InstrumentationF.rb +35 -0
- data/lib/Ice/LocalException.rb +1081 -0
- data/lib/Ice/Locator.rb +314 -0
- data/lib/Ice/LocatorF.rb +34 -0
- data/lib/Ice/Logger.rb +57 -0
- data/lib/Ice/LoggerF.rb +28 -0
- data/lib/Ice/Metrics.rb +696 -0
- data/lib/Ice/ObjectAdapterF.rb +28 -0
- data/lib/Ice/ObjectFactory.rb +53 -0
- data/lib/Ice/ObjectFactoryF.rb +28 -0
- data/lib/Ice/Plugin.rb +87 -0
- data/lib/Ice/PluginF.rb +32 -0
- data/lib/Ice/Process.rb +93 -0
- data/lib/Ice/ProcessF.rb +29 -0
- data/lib/Ice/Properties.rb +65 -0
- data/lib/Ice/PropertiesAdmin.rb +104 -0
- data/lib/Ice/PropertiesF.rb +33 -0
- data/lib/Ice/Router.rb +163 -0
- data/lib/Ice/RouterF.rb +29 -0
- data/lib/Ice/SliceChecksumDict.rb +28 -0
- data/lib/Ice/Version.rb +100 -0
- data/lib/IceBox.rb +10 -0
- data/lib/IceBox/IceBox.rb +272 -0
- data/lib/IceGrid.rb +17 -0
- data/lib/IceGrid/Admin.rb +1076 -0
- data/lib/IceGrid/Descriptor.rb +1505 -0
- data/lib/IceGrid/Exception.rb +401 -0
- data/lib/IceGrid/FileParser.rb +105 -0
- data/lib/IceGrid/Locator.rb +105 -0
- data/lib/IceGrid/Observer.rb +571 -0
- data/lib/IceGrid/Query.rb +168 -0
- data/lib/IceGrid/Registry.rb +120 -0
- data/lib/IceGrid/Session.rb +114 -0
- data/lib/IceGrid/UserAccountMapper.rb +101 -0
- data/lib/IcePatch2.rb +10 -0
- data/lib/IcePatch2/FileInfo.rb +75 -0
- data/lib/IcePatch2/FileServer.rb +141 -0
- data/lib/IceStorm.rb +11 -0
- data/lib/IceStorm/IceStorm.rb +463 -0
- data/lib/IceStorm/Metrics.rb +155 -0
- data/slice/Freeze/BackgroundSaveEvictor.ice +111 -0
- data/slice/Freeze/CatalogData.ice +49 -0
- data/slice/Freeze/Connection.ice +111 -0
- data/slice/Freeze/ConnectionF.ice +20 -0
- data/slice/Freeze/DB.ice +37 -0
- data/slice/Freeze/Evictor.ice +339 -0
- data/slice/Freeze/EvictorF.ice +22 -0
- data/slice/Freeze/EvictorStorage.ice +72 -0
- data/slice/Freeze/Exception.ice +100 -0
- data/slice/Freeze/Transaction.ice +57 -0
- data/slice/Freeze/TransactionalEvictor.ice +50 -0
- data/slice/Glacier2/Metrics.ice +77 -0
- data/slice/Glacier2/PermissionsVerifier.ice +105 -0
- data/slice/Glacier2/PermissionsVerifierF.ice +21 -0
- data/slice/Glacier2/Router.ice +178 -0
- data/slice/Glacier2/RouterF.ice +20 -0
- data/slice/Glacier2/SSLInfo.ice +50 -0
- data/slice/Glacier2/Session.ice +273 -0
- data/slice/Ice/BuiltinSequences.ice +48 -0
- data/slice/Ice/Communicator.ice +567 -0
- data/slice/Ice/CommunicatorF.ice +20 -0
- data/slice/Ice/Connection.ice +323 -0
- data/slice/Ice/ConnectionF.ice +22 -0
- data/slice/Ice/Current.ice +160 -0
- data/slice/Ice/Endpoint.ice +227 -0
- data/slice/Ice/EndpointF.ice +32 -0
- data/slice/Ice/EndpointTypes.ice +38 -0
- data/slice/Ice/FacetMap.ice +25 -0
- data/slice/Ice/Identity.ice +59 -0
- data/slice/Ice/ImplicitContext.ice +109 -0
- data/slice/Ice/ImplicitContextF.ice +20 -0
- data/slice/Ice/Instrumentation.ice +499 -0
- data/slice/Ice/InstrumentationF.ice +26 -0
- data/slice/Ice/LocalException.ice +1015 -0
- data/slice/Ice/Locator.ice +227 -0
- data/slice/Ice/LocatorF.ice +21 -0
- data/slice/Ice/Logger.ice +86 -0
- data/slice/Ice/LoggerF.ice +20 -0
- data/slice/Ice/Metrics.ice +422 -0
- data/slice/Ice/ObjectAdapter.ice +673 -0
- data/slice/Ice/ObjectAdapterF.ice +20 -0
- data/slice/Ice/ObjectFactory.ice +60 -0
- data/slice/Ice/ObjectFactoryF.ice +20 -0
- data/slice/Ice/Plugin.ice +117 -0
- data/slice/Ice/PluginF.ice +21 -0
- data/slice/Ice/Process.ice +54 -0
- data/slice/Ice/ProcessF.ice +20 -0
- data/slice/Ice/Properties.ice +228 -0
- data/slice/Ice/PropertiesAdmin.ice +75 -0
- data/slice/Ice/PropertiesF.ice +21 -0
- data/slice/Ice/RemoteLogger.ice +232 -0
- data/slice/Ice/Router.ice +83 -0
- data/slice/Ice/RouterF.ice +20 -0
- data/slice/Ice/ServantLocator.ice +117 -0
- data/slice/Ice/ServantLocatorF.ice +20 -0
- data/slice/Ice/SliceChecksumDict.ice +25 -0
- data/slice/Ice/Version.ice +39 -0
- data/slice/IceBox/IceBox.ice +194 -0
- data/slice/IceDiscovery/IceDiscovery.ice +32 -0
- data/slice/IceGrid/Admin.ice +1578 -0
- data/slice/IceGrid/Descriptor.ice +1079 -0
- data/slice/IceGrid/Discovery.ice +73 -0
- data/slice/IceGrid/Exception.ice +383 -0
- data/slice/IceGrid/FileParser.ice +61 -0
- data/slice/IceGrid/Locator.ice +56 -0
- data/slice/IceGrid/Observer.ice +394 -0
- data/slice/IceGrid/PluginFacade.ice +316 -0
- data/slice/IceGrid/Query.ice +130 -0
- data/slice/IceGrid/Registry.ice +138 -0
- data/slice/IceGrid/Session.ice +124 -0
- data/slice/IceGrid/UserAccountMapper.ice +58 -0
- data/slice/IcePatch2/FileInfo.ice +49 -0
- data/slice/IcePatch2/FileServer.ice +129 -0
- data/slice/IceSSL/ConnectionInfo.ice +34 -0
- data/slice/IceSSL/EndpointInfo.ice +41 -0
- data/slice/IceStorm/IceStorm.ice +405 -0
- data/slice/IceStorm/Metrics.ice +71 -0
- metadata +737 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2014 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_COMMUNICATOR_I_H
|
|
11
|
+
#define ICE_COMMUNICATOR_I_H
|
|
12
|
+
|
|
13
|
+
#include <IceUtil/RecMutex.h>
|
|
14
|
+
|
|
15
|
+
#include <Ice/DynamicLibraryF.h>
|
|
16
|
+
#include <Ice/Initialize.h>
|
|
17
|
+
#include <Ice/Communicator.h>
|
|
18
|
+
#include <Ice/CommunicatorAsync.h>
|
|
19
|
+
|
|
20
|
+
namespace Ice
|
|
21
|
+
{
|
|
22
|
+
|
|
23
|
+
class CommunicatorI : public Communicator
|
|
24
|
+
{
|
|
25
|
+
public:
|
|
26
|
+
|
|
27
|
+
virtual void destroy();
|
|
28
|
+
virtual void shutdown();
|
|
29
|
+
virtual void waitForShutdown();
|
|
30
|
+
virtual bool isShutdown() const;
|
|
31
|
+
|
|
32
|
+
virtual ObjectPrx stringToProxy(const std::string&) const;
|
|
33
|
+
virtual std::string proxyToString(const ObjectPrx&) const;
|
|
34
|
+
|
|
35
|
+
virtual ObjectPrx propertyToProxy(const std::string&) const;
|
|
36
|
+
virtual PropertyDict proxyToProperty(const ObjectPrx&, const std::string&) const;
|
|
37
|
+
|
|
38
|
+
virtual Identity stringToIdentity(const std::string&) const;
|
|
39
|
+
virtual std::string identityToString(const Identity&) const;
|
|
40
|
+
|
|
41
|
+
virtual ObjectAdapterPtr createObjectAdapter(const std::string&);
|
|
42
|
+
virtual ObjectAdapterPtr createObjectAdapterWithEndpoints(const std::string&, const std::string&);
|
|
43
|
+
virtual ObjectAdapterPtr createObjectAdapterWithRouter(const std::string&, const RouterPrx&);
|
|
44
|
+
|
|
45
|
+
virtual void addObjectFactory(const ObjectFactoryPtr&, const std::string&);
|
|
46
|
+
virtual ObjectFactoryPtr findObjectFactory(const std::string&) const;
|
|
47
|
+
|
|
48
|
+
virtual ImplicitContextPtr getImplicitContext() const;
|
|
49
|
+
|
|
50
|
+
virtual PropertiesPtr getProperties() const;
|
|
51
|
+
virtual LoggerPtr getLogger() const;
|
|
52
|
+
virtual Ice::Instrumentation::CommunicatorObserverPtr getObserver() const;
|
|
53
|
+
|
|
54
|
+
virtual RouterPrx getDefaultRouter() const;
|
|
55
|
+
virtual void setDefaultRouter(const RouterPrx&);
|
|
56
|
+
|
|
57
|
+
virtual LocatorPrx getDefaultLocator() const;
|
|
58
|
+
virtual void setDefaultLocator(const LocatorPrx&);
|
|
59
|
+
|
|
60
|
+
virtual PluginManagerPtr getPluginManager() const;
|
|
61
|
+
|
|
62
|
+
virtual void flushBatchRequests();
|
|
63
|
+
|
|
64
|
+
virtual AsyncResultPtr begin_flushBatchRequests();
|
|
65
|
+
virtual AsyncResultPtr begin_flushBatchRequests(const CallbackPtr&, const LocalObjectPtr& = 0);
|
|
66
|
+
virtual AsyncResultPtr begin_flushBatchRequests(const Callback_Communicator_flushBatchRequestsPtr&,
|
|
67
|
+
const LocalObjectPtr& = 0);
|
|
68
|
+
|
|
69
|
+
virtual AsyncResultPtr begin_flushBatchRequests(
|
|
70
|
+
const IceInternal::Function<void (const Exception&)>&,
|
|
71
|
+
const IceInternal::Function<void (bool)>& = IceInternal::Function<void (bool)>());
|
|
72
|
+
|
|
73
|
+
virtual void end_flushBatchRequests(const AsyncResultPtr&);
|
|
74
|
+
|
|
75
|
+
virtual ObjectPrx createAdmin(const ObjectAdapterPtr&, const Identity&);
|
|
76
|
+
virtual ObjectPrx getAdmin() const;
|
|
77
|
+
virtual void addAdminFacet(const ObjectPtr&, const std::string&);
|
|
78
|
+
virtual ObjectPtr removeAdminFacet(const std::string&);
|
|
79
|
+
virtual ObjectPtr findAdminFacet(const std::string&);
|
|
80
|
+
virtual FacetMap findAllAdminFacets();
|
|
81
|
+
|
|
82
|
+
private:
|
|
83
|
+
|
|
84
|
+
CommunicatorI(const InitializationData&);
|
|
85
|
+
virtual ~CommunicatorI();
|
|
86
|
+
|
|
87
|
+
//
|
|
88
|
+
// Certain initialization tasks need to be completed after the
|
|
89
|
+
// constructor.
|
|
90
|
+
//
|
|
91
|
+
void finishSetup(int&, char*[]);
|
|
92
|
+
|
|
93
|
+
friend ICE_API CommunicatorPtr initialize(int&, char*[], const InitializationData&, Int);
|
|
94
|
+
friend ICE_API CommunicatorPtr initialize(StringSeq&, const InitializationData&, Int);
|
|
95
|
+
friend ICE_API CommunicatorPtr initialize(const InitializationData&, Int);
|
|
96
|
+
friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&);
|
|
97
|
+
friend ICE_API ::IceUtil::TimerPtr IceInternal::getInstanceTimer(const ::Ice::CommunicatorPtr&);
|
|
98
|
+
|
|
99
|
+
AsyncResultPtr __begin_flushBatchRequests(const IceInternal::CallbackBasePtr&, const LocalObjectPtr&);
|
|
100
|
+
|
|
101
|
+
const ::IceInternal::InstancePtr _instance;
|
|
102
|
+
|
|
103
|
+
//
|
|
104
|
+
// We don't want the dynamic libraries to be unloaded until the
|
|
105
|
+
// Communicator's destructor is invoked.
|
|
106
|
+
//
|
|
107
|
+
const ::IceInternal::DynamicLibraryListPtr _dynamicLibraryList;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
#endif
|
|
@@ -0,0 +1,546 @@
|
|
|
1
|
+
// **********************************************************************
|
|
2
|
+
//
|
|
3
|
+
// Copyright (c) 2003-2014 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
|
+
#include <Ice/ConnectRequestHandler.h>
|
|
11
|
+
#include <Ice/ConnectionRequestHandler.h>
|
|
12
|
+
#include <Ice/RequestHandlerFactory.h>
|
|
13
|
+
#include <Ice/Instance.h>
|
|
14
|
+
#include <Ice/Proxy.h>
|
|
15
|
+
#include <Ice/ConnectionI.h>
|
|
16
|
+
#include <Ice/RouterInfo.h>
|
|
17
|
+
#include <Ice/Outgoing.h>
|
|
18
|
+
#include <Ice/OutgoingAsync.h>
|
|
19
|
+
#include <Ice/Protocol.h>
|
|
20
|
+
#include <Ice/Properties.h>
|
|
21
|
+
#include <Ice/ThreadPool.h>
|
|
22
|
+
|
|
23
|
+
using namespace std;
|
|
24
|
+
using namespace IceInternal;
|
|
25
|
+
|
|
26
|
+
ConnectRequestHandler::ConnectRequestHandler(const ReferencePtr& ref, const Ice::ObjectPrx& proxy) :
|
|
27
|
+
RequestHandler(ref),
|
|
28
|
+
_connect(true),
|
|
29
|
+
_proxy(proxy),
|
|
30
|
+
_initialized(false),
|
|
31
|
+
_flushing(false),
|
|
32
|
+
_batchRequestInProgress(false),
|
|
33
|
+
_batchStream(ref->getInstance().get(), Ice::currentProtocolEncoding)
|
|
34
|
+
{
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
ConnectRequestHandler::~ConnectRequestHandler()
|
|
38
|
+
{
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
RequestHandlerPtr
|
|
42
|
+
ConnectRequestHandler::connect(const Ice::ObjectPrx& proxy)
|
|
43
|
+
{
|
|
44
|
+
//
|
|
45
|
+
// Initiate the connection if connect() is called by the proxy that
|
|
46
|
+
// created the handler.
|
|
47
|
+
//
|
|
48
|
+
if(proxy.get() == _proxy.get() && _connect)
|
|
49
|
+
{
|
|
50
|
+
_connect = false; // Call getConnection only once
|
|
51
|
+
_reference->getConnection(this);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
try
|
|
55
|
+
{
|
|
56
|
+
Lock sync(*this);
|
|
57
|
+
if(!initialized())
|
|
58
|
+
{
|
|
59
|
+
_proxies.insert(proxy);
|
|
60
|
+
return this;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch(const Ice::LocalException&)
|
|
64
|
+
{
|
|
65
|
+
throw;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
if(_connectionRequestHandler)
|
|
69
|
+
{
|
|
70
|
+
proxy->__setRequestHandler(this, _connectionRequestHandler);
|
|
71
|
+
return _connectionRequestHandler;
|
|
72
|
+
}
|
|
73
|
+
else
|
|
74
|
+
{
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
RequestHandlerPtr
|
|
80
|
+
ConnectRequestHandler::update(const RequestHandlerPtr& previousHandler, const RequestHandlerPtr& newHandler)
|
|
81
|
+
{
|
|
82
|
+
return previousHandler.get() == this ? newHandler : this;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
void
|
|
86
|
+
ConnectRequestHandler::prepareBatchRequest(BasicStream* os)
|
|
87
|
+
{
|
|
88
|
+
{
|
|
89
|
+
Lock sync(*this);
|
|
90
|
+
while(_batchRequestInProgress)
|
|
91
|
+
{
|
|
92
|
+
wait();
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if(!initialized())
|
|
96
|
+
{
|
|
97
|
+
_batchRequestInProgress = true;
|
|
98
|
+
_batchStream.swap(*os);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
_connection->prepareBatchRequest(os);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
void
|
|
106
|
+
ConnectRequestHandler::finishBatchRequest(BasicStream* os)
|
|
107
|
+
{
|
|
108
|
+
{
|
|
109
|
+
Lock sync(*this);
|
|
110
|
+
if(!initialized()) // This can't throw until _batchRequestInProgress = false
|
|
111
|
+
{
|
|
112
|
+
assert(_batchRequestInProgress);
|
|
113
|
+
_batchRequestInProgress = false;
|
|
114
|
+
notifyAll();
|
|
115
|
+
|
|
116
|
+
_batchStream.swap(*os);
|
|
117
|
+
|
|
118
|
+
Request req;
|
|
119
|
+
req.os = new BasicStream(_reference->getInstance().get(), Ice::currentProtocolEncoding);
|
|
120
|
+
req.os->swap(_batchStream);
|
|
121
|
+
_requests.push_back(req);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
_connection->finishBatchRequest(os, _compress);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
void
|
|
129
|
+
ConnectRequestHandler::abortBatchRequest()
|
|
130
|
+
{
|
|
131
|
+
{
|
|
132
|
+
Lock sync(*this);
|
|
133
|
+
if(!initialized()) // This can't throw until _batchRequestInProgress = false
|
|
134
|
+
{
|
|
135
|
+
assert(_batchRequestInProgress);
|
|
136
|
+
_batchRequestInProgress = false;
|
|
137
|
+
notifyAll();
|
|
138
|
+
|
|
139
|
+
BasicStream dummy(_reference->getInstance().get(), Ice::currentProtocolEncoding);
|
|
140
|
+
_batchStream.swap(dummy);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
_connection->abortBatchRequest();
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
bool
|
|
148
|
+
ConnectRequestHandler::sendRequest(OutgoingBase* out)
|
|
149
|
+
{
|
|
150
|
+
{
|
|
151
|
+
Lock sync(*this);
|
|
152
|
+
try
|
|
153
|
+
{
|
|
154
|
+
if(!initialized())
|
|
155
|
+
{
|
|
156
|
+
Request req;
|
|
157
|
+
req.out = out;
|
|
158
|
+
_requests.push_back(req);
|
|
159
|
+
return false; // Not sent
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
catch(const Ice::LocalException& ex)
|
|
163
|
+
{
|
|
164
|
+
throw RetryException(ex);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return out->send(_connection, _compress, _response) && !_response; // Finished if sent and no response.
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
AsyncStatus
|
|
171
|
+
ConnectRequestHandler::sendAsyncRequest(const OutgoingAsyncBasePtr& out)
|
|
172
|
+
{
|
|
173
|
+
{
|
|
174
|
+
Lock sync(*this);
|
|
175
|
+
if(!_initialized)
|
|
176
|
+
{
|
|
177
|
+
out->cancelable(this); // This will throw if the request is canceled
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
try
|
|
181
|
+
{
|
|
182
|
+
if(!initialized())
|
|
183
|
+
{
|
|
184
|
+
Request req;
|
|
185
|
+
req.outAsync = out;
|
|
186
|
+
_requests.push_back(req);
|
|
187
|
+
return AsyncStatusQueued;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch(const Ice::LocalException& ex)
|
|
191
|
+
{
|
|
192
|
+
throw RetryException(ex);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
return out->send(_connection, _compress, _response);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
void
|
|
199
|
+
ConnectRequestHandler::requestCanceled(OutgoingBase* out, const Ice::LocalException& ex)
|
|
200
|
+
{
|
|
201
|
+
{
|
|
202
|
+
Lock sync(*this);
|
|
203
|
+
if(_exception.get())
|
|
204
|
+
{
|
|
205
|
+
return; // The request has been notified of a failure already.
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
if(!initialized())
|
|
209
|
+
{
|
|
210
|
+
for(deque<Request>::iterator p = _requests.begin(); p != _requests.end(); ++p)
|
|
211
|
+
{
|
|
212
|
+
if(p->out == out)
|
|
213
|
+
{
|
|
214
|
+
out->completed(ex);
|
|
215
|
+
_requests.erase(p);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
assert(false); // The request has to be queued if it timed out and we're not initialized yet.
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
_connection->requestCanceled(out, ex);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
void
|
|
226
|
+
ConnectRequestHandler::asyncRequestCanceled(const OutgoingAsyncBasePtr& outAsync, const Ice::LocalException& ex)
|
|
227
|
+
{
|
|
228
|
+
{
|
|
229
|
+
Lock sync(*this);
|
|
230
|
+
if(_exception.get())
|
|
231
|
+
{
|
|
232
|
+
return; // The request has been notified of a failure already.
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if(!initialized())
|
|
236
|
+
{
|
|
237
|
+
for(deque<Request>::iterator p = _requests.begin(); p != _requests.end(); ++p)
|
|
238
|
+
{
|
|
239
|
+
if(p->outAsync.get() == outAsync.get())
|
|
240
|
+
{
|
|
241
|
+
_requests.erase(p);
|
|
242
|
+
if(outAsync->completed(ex))
|
|
243
|
+
{
|
|
244
|
+
outAsync->invokeCompletedAsync();
|
|
245
|
+
}
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
_connection->asyncRequestCanceled(outAsync, ex);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
Ice::ConnectionIPtr
|
|
255
|
+
ConnectRequestHandler::getConnection()
|
|
256
|
+
{
|
|
257
|
+
Lock sync(*this);
|
|
258
|
+
if(_exception.get())
|
|
259
|
+
{
|
|
260
|
+
_exception->ice_throw();
|
|
261
|
+
return 0; // Keep the compiler happy.
|
|
262
|
+
}
|
|
263
|
+
else
|
|
264
|
+
{
|
|
265
|
+
return _connection;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
Ice::ConnectionIPtr
|
|
270
|
+
ConnectRequestHandler::waitForConnection()
|
|
271
|
+
{
|
|
272
|
+
Lock sync(*this);
|
|
273
|
+
if(_exception.get())
|
|
274
|
+
{
|
|
275
|
+
throw RetryException(*_exception.get());
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
//
|
|
279
|
+
// Wait for the connection establishment to complete or fail.
|
|
280
|
+
//
|
|
281
|
+
while(!_initialized && !_exception.get())
|
|
282
|
+
{
|
|
283
|
+
wait();
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
if(_exception.get())
|
|
287
|
+
{
|
|
288
|
+
_exception->ice_throw();
|
|
289
|
+
return 0; // Keep the compiler happy.
|
|
290
|
+
}
|
|
291
|
+
else
|
|
292
|
+
{
|
|
293
|
+
return _connection;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
void
|
|
298
|
+
ConnectRequestHandler::setConnection(const Ice::ConnectionIPtr& connection, bool compress)
|
|
299
|
+
{
|
|
300
|
+
{
|
|
301
|
+
Lock sync(*this);
|
|
302
|
+
assert(!_exception.get() && !_connection);
|
|
303
|
+
_connection = connection;
|
|
304
|
+
_compress = compress;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
//
|
|
308
|
+
// If this proxy is for a non-local object, and we are using a router, then
|
|
309
|
+
// add this proxy to the router info object.
|
|
310
|
+
//
|
|
311
|
+
RouterInfoPtr ri = _reference->getRouterInfo();
|
|
312
|
+
if(ri && !ri->addProxy(_proxy, this))
|
|
313
|
+
{
|
|
314
|
+
return; // The request handler will be initialized once addProxy returns.
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
//
|
|
318
|
+
// We can now send the queued requests.
|
|
319
|
+
//
|
|
320
|
+
flushRequests();
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
void
|
|
324
|
+
ConnectRequestHandler::setException(const Ice::LocalException& ex)
|
|
325
|
+
{
|
|
326
|
+
Lock sync(*this);
|
|
327
|
+
assert(!_initialized && !_exception.get());
|
|
328
|
+
_exception.reset(ex.ice_clone());
|
|
329
|
+
_proxies.clear();
|
|
330
|
+
_proxy = 0; // Break cyclic reference count.
|
|
331
|
+
|
|
332
|
+
//
|
|
333
|
+
// NOTE: remove the request handler *before* notifying the
|
|
334
|
+
// requests that the connection failed. It's important to ensure
|
|
335
|
+
// that future invocations will obtain a new connect request
|
|
336
|
+
// handler once invocations are notified.
|
|
337
|
+
//
|
|
338
|
+
try
|
|
339
|
+
{
|
|
340
|
+
_reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, this);
|
|
341
|
+
}
|
|
342
|
+
catch(const Ice::CommunicatorDestroyedException&)
|
|
343
|
+
{
|
|
344
|
+
// Ignore
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
for(deque<Request>::const_iterator p = _requests.begin(); p != _requests.end(); ++p)
|
|
348
|
+
{
|
|
349
|
+
if(p->out)
|
|
350
|
+
{
|
|
351
|
+
p->out->completed(*_exception.get());
|
|
352
|
+
}
|
|
353
|
+
else if(p->outAsync)
|
|
354
|
+
{
|
|
355
|
+
if(p->outAsync->completed(*_exception.get()))
|
|
356
|
+
{
|
|
357
|
+
p->outAsync->invokeCompletedAsync();
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
else
|
|
361
|
+
{
|
|
362
|
+
assert(p->os);
|
|
363
|
+
delete p->os;
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
_requests.clear();
|
|
367
|
+
notifyAll();
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
void
|
|
371
|
+
ConnectRequestHandler::addedProxy()
|
|
372
|
+
{
|
|
373
|
+
//
|
|
374
|
+
// The proxy was added to the router info, we're now ready to send the
|
|
375
|
+
// queued requests.
|
|
376
|
+
//
|
|
377
|
+
flushRequests();
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
bool
|
|
381
|
+
ConnectRequestHandler::initialized()
|
|
382
|
+
{
|
|
383
|
+
// Must be called with the mutex locked.
|
|
384
|
+
|
|
385
|
+
if(_initialized)
|
|
386
|
+
{
|
|
387
|
+
assert(_connection);
|
|
388
|
+
return true;
|
|
389
|
+
}
|
|
390
|
+
else
|
|
391
|
+
{
|
|
392
|
+
while(_flushing && !_exception.get())
|
|
393
|
+
{
|
|
394
|
+
wait();
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
if(_exception.get())
|
|
398
|
+
{
|
|
399
|
+
_exception->ice_throw();
|
|
400
|
+
return false; // Keep the compiler happy.
|
|
401
|
+
}
|
|
402
|
+
else
|
|
403
|
+
{
|
|
404
|
+
return _initialized;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
void
|
|
410
|
+
ConnectRequestHandler::flushRequests()
|
|
411
|
+
{
|
|
412
|
+
{
|
|
413
|
+
Lock sync(*this);
|
|
414
|
+
assert(_connection && !_initialized);
|
|
415
|
+
|
|
416
|
+
while(_batchRequestInProgress)
|
|
417
|
+
{
|
|
418
|
+
wait();
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
//
|
|
422
|
+
// We set the _flushing flag to true to prevent any additional queuing. Callers
|
|
423
|
+
// might block for a little while as the queued requests are being sent but this
|
|
424
|
+
// shouldn't be an issue as the request sends are non-blocking.
|
|
425
|
+
//
|
|
426
|
+
_flushing = true;
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
IceUtil::UniquePtr<Ice::LocalException> exception;
|
|
430
|
+
while(!_requests.empty()) // _requests is immutable when _flushing = true
|
|
431
|
+
{
|
|
432
|
+
Request& req = _requests.front();
|
|
433
|
+
try
|
|
434
|
+
{
|
|
435
|
+
if(req.out)
|
|
436
|
+
{
|
|
437
|
+
req.out->send(_connection, _compress, _response);
|
|
438
|
+
}
|
|
439
|
+
else if(req.os)
|
|
440
|
+
{
|
|
441
|
+
BasicStream os(req.os->instance(), Ice::currentProtocolEncoding);
|
|
442
|
+
_connection->prepareBatchRequest(&os);
|
|
443
|
+
try
|
|
444
|
+
{
|
|
445
|
+
const Ice::Byte* bytes;
|
|
446
|
+
req.os->i = req.os->b.begin();
|
|
447
|
+
req.os->readBlob(bytes, req.os->b.size());
|
|
448
|
+
os.writeBlob(bytes, req.os->b.size());
|
|
449
|
+
}
|
|
450
|
+
catch(const Ice::LocalException&)
|
|
451
|
+
{
|
|
452
|
+
_connection->abortBatchRequest();
|
|
453
|
+
throw;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
_connection->finishBatchRequest(&os, _compress);
|
|
457
|
+
delete req.os;
|
|
458
|
+
}
|
|
459
|
+
else if(req.outAsync->send(_connection, _compress, _response) & AsyncStatusInvokeSentCallback)
|
|
460
|
+
{
|
|
461
|
+
req.outAsync->invokeSentAsync();
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
catch(const RetryException& ex)
|
|
465
|
+
{
|
|
466
|
+
exception.reset(ex.get()->ice_clone());
|
|
467
|
+
try
|
|
468
|
+
{
|
|
469
|
+
// Remove the request handler before retrying.
|
|
470
|
+
_reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, this);
|
|
471
|
+
}
|
|
472
|
+
catch(const Ice::CommunicatorDestroyedException&)
|
|
473
|
+
{
|
|
474
|
+
// Ignore
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
if(req.out)
|
|
478
|
+
{
|
|
479
|
+
req.out->retryException(*ex.get());
|
|
480
|
+
}
|
|
481
|
+
else if(req.os)
|
|
482
|
+
{
|
|
483
|
+
delete req.os;
|
|
484
|
+
}
|
|
485
|
+
else
|
|
486
|
+
{
|
|
487
|
+
req.outAsync->retryException(*ex.get());
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
catch(const Ice::LocalException& ex)
|
|
491
|
+
{
|
|
492
|
+
exception.reset(ex.ice_clone());
|
|
493
|
+
if(req.out)
|
|
494
|
+
{
|
|
495
|
+
req.out->completed(ex);
|
|
496
|
+
}
|
|
497
|
+
else if(req.os)
|
|
498
|
+
{
|
|
499
|
+
delete req.os;
|
|
500
|
+
}
|
|
501
|
+
else if(req.outAsync->completed(ex))
|
|
502
|
+
{
|
|
503
|
+
req.outAsync->invokeCompletedAsync();
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
_requests.pop_front();
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
//
|
|
510
|
+
// If we aren't caching the connection, don't bother creating a
|
|
511
|
+
// connection request handler. Otherwise, update the proxies
|
|
512
|
+
// request handler to use the more efficient connection request
|
|
513
|
+
// handler.
|
|
514
|
+
//
|
|
515
|
+
if(_reference->getCacheConnection() && !exception.get())
|
|
516
|
+
{
|
|
517
|
+
_connectionRequestHandler = new ConnectionRequestHandler(_reference, _connection, _compress);
|
|
518
|
+
for(set<Ice::ObjectPrx>::const_iterator p = _proxies.begin(); p != _proxies.end(); ++p)
|
|
519
|
+
{
|
|
520
|
+
(*p)->__setRequestHandler(this, _connectionRequestHandler);
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
{
|
|
525
|
+
Lock sync(*this);
|
|
526
|
+
assert(!_initialized);
|
|
527
|
+
_exception.swap(exception);
|
|
528
|
+
_initialized = !_exception.get();
|
|
529
|
+
_flushing = false;
|
|
530
|
+
try
|
|
531
|
+
{
|
|
532
|
+
//
|
|
533
|
+
// Only remove once all the requests are flushed to
|
|
534
|
+
// guarantee serialization.
|
|
535
|
+
//
|
|
536
|
+
_reference->getInstance()->requestHandlerFactory()->removeRequestHandler(_reference, this);
|
|
537
|
+
}
|
|
538
|
+
catch(const Ice::CommunicatorDestroyedException&)
|
|
539
|
+
{
|
|
540
|
+
// Ignore
|
|
541
|
+
}
|
|
542
|
+
_proxies.clear();
|
|
543
|
+
_proxy = 0; // Break cyclic reference count.
|
|
544
|
+
notifyAll();
|
|
545
|
+
}
|
|
546
|
+
}
|