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,157 @@
|
|
|
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_IP_ENDPOINT_I_H
|
|
11
|
+
#define ICE_IP_ENDPOINT_I_H
|
|
12
|
+
|
|
13
|
+
#include <IceUtil/Config.h>
|
|
14
|
+
#include <IceUtil/Shared.h>
|
|
15
|
+
#include <IceUtil/Thread.h>
|
|
16
|
+
#include <IceUtil/Monitor.h>
|
|
17
|
+
#include <Ice/IPEndpointIF.h>
|
|
18
|
+
#include <Ice/EndpointI.h>
|
|
19
|
+
#include <Ice/Network.h>
|
|
20
|
+
#include <Ice/ProtocolInstanceF.h>
|
|
21
|
+
#include <Ice/ObserverHelper.h>
|
|
22
|
+
|
|
23
|
+
#ifndef ICE_OS_WINRT
|
|
24
|
+
# include <deque>
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
namespace IceInternal
|
|
28
|
+
{
|
|
29
|
+
|
|
30
|
+
class ICE_API IPEndpointInfoI : public Ice::IPEndpointInfo
|
|
31
|
+
{
|
|
32
|
+
public:
|
|
33
|
+
|
|
34
|
+
IPEndpointInfoI(const EndpointIPtr&);
|
|
35
|
+
virtual ~IPEndpointInfoI();
|
|
36
|
+
|
|
37
|
+
virtual Ice::Short type() const;
|
|
38
|
+
virtual bool datagram() const;
|
|
39
|
+
virtual bool secure() const;
|
|
40
|
+
|
|
41
|
+
private:
|
|
42
|
+
|
|
43
|
+
const EndpointIPtr _endpoint;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
class ICE_API IPEndpointI : public EndpointI
|
|
47
|
+
{
|
|
48
|
+
public:
|
|
49
|
+
|
|
50
|
+
virtual Ice::EndpointInfoPtr getInfo() const;
|
|
51
|
+
virtual Ice::Short type() const;
|
|
52
|
+
virtual const std::string& protocol() const;
|
|
53
|
+
virtual void streamWrite(BasicStream*) const;
|
|
54
|
+
|
|
55
|
+
virtual const std::string& connectionId() const;
|
|
56
|
+
virtual EndpointIPtr connectionId(const ::std::string&) const;
|
|
57
|
+
|
|
58
|
+
virtual void connectors_async(Ice::EndpointSelectionType, const EndpointI_connectorsPtr&) const;
|
|
59
|
+
virtual std::vector<EndpointIPtr> expand() const;
|
|
60
|
+
virtual bool equivalent(const EndpointIPtr&) const;
|
|
61
|
+
virtual ::Ice::Int hash() const;
|
|
62
|
+
virtual std::string options() const;
|
|
63
|
+
|
|
64
|
+
virtual bool operator==(const Ice::LocalObject&) const;
|
|
65
|
+
virtual bool operator<(const Ice::LocalObject&) const;
|
|
66
|
+
|
|
67
|
+
virtual std::vector<ConnectorPtr> connectors(const std::vector<Address>&, const NetworkProxyPtr&) const;
|
|
68
|
+
const std::string& host() const;
|
|
69
|
+
int port() const;
|
|
70
|
+
|
|
71
|
+
virtual void streamWriteImpl(BasicStream*) const;
|
|
72
|
+
virtual void hashInit(Ice::Int&) const;
|
|
73
|
+
virtual void fillEndpointInfo(Ice::IPEndpointInfo*) const;
|
|
74
|
+
|
|
75
|
+
using EndpointI::connectionId;
|
|
76
|
+
|
|
77
|
+
virtual void initWithOptions(std::vector<std::string>&, bool);
|
|
78
|
+
|
|
79
|
+
protected:
|
|
80
|
+
|
|
81
|
+
friend class EndpointHostResolver;
|
|
82
|
+
|
|
83
|
+
virtual bool checkOption(const std::string&, const std::string&, const std::string&);
|
|
84
|
+
|
|
85
|
+
virtual ConnectorPtr createConnector(const Address& address, const NetworkProxyPtr&) const = 0;
|
|
86
|
+
virtual IPEndpointIPtr createEndpoint(const std::string&, int, const std::string&) const = 0;
|
|
87
|
+
|
|
88
|
+
IPEndpointI(const ProtocolInstancePtr&, const std::string&, int, const Address&, const std::string&);
|
|
89
|
+
IPEndpointI(const ProtocolInstancePtr&);
|
|
90
|
+
IPEndpointI(const ProtocolInstancePtr&, BasicStream*);
|
|
91
|
+
|
|
92
|
+
const ProtocolInstancePtr _instance;
|
|
93
|
+
const std::string _host;
|
|
94
|
+
const int _port;
|
|
95
|
+
const Address _sourceAddr;
|
|
96
|
+
const std::string _connectionId;
|
|
97
|
+
|
|
98
|
+
private:
|
|
99
|
+
|
|
100
|
+
mutable bool _hashInitialized;
|
|
101
|
+
mutable Ice::Int _hashValue;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
#ifndef ICE_OS_WINRT
|
|
105
|
+
class ICE_API EndpointHostResolver : public IceUtil::Thread, public IceUtil::Monitor<IceUtil::Mutex>
|
|
106
|
+
#else
|
|
107
|
+
class ICE_API EndpointHostResolver : public IceUtil::Shared
|
|
108
|
+
#endif
|
|
109
|
+
{
|
|
110
|
+
public:
|
|
111
|
+
|
|
112
|
+
EndpointHostResolver(const InstancePtr&);
|
|
113
|
+
|
|
114
|
+
void resolve(const std::string&, int, Ice::EndpointSelectionType, const IPEndpointIPtr&,
|
|
115
|
+
const EndpointI_connectorsPtr&);
|
|
116
|
+
void destroy();
|
|
117
|
+
|
|
118
|
+
virtual void run();
|
|
119
|
+
void updateObserver();
|
|
120
|
+
|
|
121
|
+
private:
|
|
122
|
+
|
|
123
|
+
#ifndef ICE_OS_WINRT
|
|
124
|
+
struct ResolveEntry
|
|
125
|
+
{
|
|
126
|
+
std::string host;
|
|
127
|
+
int port;
|
|
128
|
+
Ice::EndpointSelectionType selType;
|
|
129
|
+
IPEndpointIPtr endpoint;
|
|
130
|
+
EndpointI_connectorsPtr callback;
|
|
131
|
+
Ice::Instrumentation::ObserverPtr observer;
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
const InstancePtr _instance;
|
|
135
|
+
const IceInternal::ProtocolSupport _protocol;
|
|
136
|
+
const bool _preferIPv6;
|
|
137
|
+
bool _destroyed;
|
|
138
|
+
std::deque<ResolveEntry> _queue;
|
|
139
|
+
ObserverHelperT<Ice::Instrumentation::ThreadObserver> _observer;
|
|
140
|
+
#else
|
|
141
|
+
const InstancePtr _instance;
|
|
142
|
+
#endif
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
inline bool operator==(const IPEndpointI& l, const IPEndpointI& r)
|
|
146
|
+
{
|
|
147
|
+
return static_cast<const ::Ice::LocalObject&>(l) == static_cast<const ::Ice::LocalObject&>(r);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
inline bool operator<(const IPEndpointI& l, const IPEndpointI& r)
|
|
151
|
+
{
|
|
152
|
+
return static_cast<const ::Ice::LocalObject&>(l) < static_cast<const ::Ice::LocalObject&>(r);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
#endif
|
|
@@ -0,0 +1,29 @@
|
|
|
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_IP_ENDPOINT_I_F_H
|
|
11
|
+
#define ICE_IP_ENDPOINT_I_F_H
|
|
12
|
+
|
|
13
|
+
#include <IceUtil/Shared.h>
|
|
14
|
+
#include <Ice/Handle.h>
|
|
15
|
+
|
|
16
|
+
namespace IceInternal
|
|
17
|
+
{
|
|
18
|
+
|
|
19
|
+
class IPEndpointI;
|
|
20
|
+
ICE_API IceUtil::Shared* upCast(IPEndpointI*);
|
|
21
|
+
typedef Handle<IPEndpointI> IPEndpointIPtr;
|
|
22
|
+
|
|
23
|
+
class EndpointHostResolver;
|
|
24
|
+
ICE_API IceUtil::Shared* upCast(EndpointHostResolver*);
|
|
25
|
+
typedef Handle<EndpointHostResolver> EndpointHostResolverPtr;
|
|
26
|
+
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
#endif
|
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
// Ice version 3.6b
|
|
11
|
+
//
|
|
12
|
+
// <auto-generated>
|
|
13
|
+
//
|
|
14
|
+
// Generated from file `Identity.ice'
|
|
15
|
+
//
|
|
16
|
+
// Warning: do not edit this file.
|
|
17
|
+
//
|
|
18
|
+
// </auto-generated>
|
|
19
|
+
//
|
|
20
|
+
|
|
21
|
+
#ifndef ICE_API_EXPORTS
|
|
22
|
+
# define ICE_API_EXPORTS
|
|
23
|
+
#endif
|
|
24
|
+
#include <Ice/Identity.h>
|
|
25
|
+
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
+
#include <Ice/BasicStream.h>
|
|
27
|
+
#include <IceUtil/Iterator.h>
|
|
28
|
+
#include <IceUtil/PopDisableWarnings.h>
|
|
29
|
+
|
|
30
|
+
#ifndef ICE_IGNORE_VERSION
|
|
31
|
+
# if ICE_INT_VERSION != 30651
|
|
32
|
+
# error Ice version mismatch: an exact match is required for beta generated code
|
|
33
|
+
# endif
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
namespace Ice
|
|
37
|
+
{
|
|
38
|
+
#ifdef ICE_HAS_DECLSPEC_IMPORT_EXPORT
|
|
39
|
+
template struct ICE_API StreamWriter< ::Ice::Identity, ::IceInternal::BasicStream>;
|
|
40
|
+
template struct ICE_API StreamReader< ::Ice::Identity, ::IceInternal::BasicStream>;
|
|
41
|
+
#endif
|
|
42
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
// Ice version 3.6b
|
|
11
|
+
//
|
|
12
|
+
// <auto-generated>
|
|
13
|
+
//
|
|
14
|
+
// Generated from file `ImplicitContext.ice'
|
|
15
|
+
//
|
|
16
|
+
// Warning: do not edit this file.
|
|
17
|
+
//
|
|
18
|
+
// </auto-generated>
|
|
19
|
+
//
|
|
20
|
+
|
|
21
|
+
#ifndef ICE_API_EXPORTS
|
|
22
|
+
# define ICE_API_EXPORTS
|
|
23
|
+
#endif
|
|
24
|
+
#include <Ice/ImplicitContext.h>
|
|
25
|
+
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
+
#include <Ice/BasicStream.h>
|
|
27
|
+
#include <IceUtil/Iterator.h>
|
|
28
|
+
#include <IceUtil/PopDisableWarnings.h>
|
|
29
|
+
|
|
30
|
+
#ifndef ICE_IGNORE_VERSION
|
|
31
|
+
# if ICE_INT_VERSION != 30651
|
|
32
|
+
# error Ice version mismatch: an exact match is required for beta generated code
|
|
33
|
+
# endif
|
|
34
|
+
#endif
|
|
35
|
+
|
|
36
|
+
namespace
|
|
37
|
+
{
|
|
38
|
+
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
ICE_DECLSPEC_EXPORT ::Ice::LocalObject* Ice::upCast(::Ice::ImplicitContext* p) { return p; }
|
|
@@ -0,0 +1,38 @@
|
|
|
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
|
+
// Ice version 3.6b
|
|
11
|
+
//
|
|
12
|
+
// <auto-generated>
|
|
13
|
+
//
|
|
14
|
+
// Generated from file `ImplicitContextF.ice'
|
|
15
|
+
//
|
|
16
|
+
// Warning: do not edit this file.
|
|
17
|
+
//
|
|
18
|
+
// </auto-generated>
|
|
19
|
+
//
|
|
20
|
+
|
|
21
|
+
#ifndef ICE_API_EXPORTS
|
|
22
|
+
# define ICE_API_EXPORTS
|
|
23
|
+
#endif
|
|
24
|
+
#include <Ice/ImplicitContextF.h>
|
|
25
|
+
#include <IceUtil/PushDisableWarnings.h>
|
|
26
|
+
#include <IceUtil/Iterator.h>
|
|
27
|
+
#include <IceUtil/PopDisableWarnings.h>
|
|
28
|
+
|
|
29
|
+
#ifndef ICE_IGNORE_VERSION
|
|
30
|
+
# if ICE_INT_VERSION != 30651
|
|
31
|
+
# error Ice version mismatch: an exact match is required for beta generated code
|
|
32
|
+
# endif
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
namespace
|
|
36
|
+
{
|
|
37
|
+
|
|
38
|
+
}
|
|
@@ -0,0 +1,639 @@
|
|
|
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/ImplicitContextI.h>
|
|
11
|
+
#include <Ice/BasicStream.h>
|
|
12
|
+
#include <Ice/Object.h>
|
|
13
|
+
#include <IceUtil/Mutex.h>
|
|
14
|
+
#include <IceUtil/MutexPtrLock.h>
|
|
15
|
+
|
|
16
|
+
using namespace std;
|
|
17
|
+
using namespace Ice;
|
|
18
|
+
|
|
19
|
+
namespace
|
|
20
|
+
{
|
|
21
|
+
|
|
22
|
+
class SharedImplicitContext : public ImplicitContextI
|
|
23
|
+
{
|
|
24
|
+
public:
|
|
25
|
+
|
|
26
|
+
virtual Context getContext() const;
|
|
27
|
+
virtual void setContext(const Context&);
|
|
28
|
+
|
|
29
|
+
virtual bool containsKey(const string&) const;
|
|
30
|
+
virtual string get(const string&) const;
|
|
31
|
+
virtual string put(const string&, const string&);
|
|
32
|
+
virtual string remove(const string&);
|
|
33
|
+
|
|
34
|
+
virtual void write(const Context&, ::IceInternal::BasicStream*) const;
|
|
35
|
+
virtual void combine(const Context&, Context&) const;
|
|
36
|
+
|
|
37
|
+
private:
|
|
38
|
+
Context _context;
|
|
39
|
+
IceUtil::Mutex _mutex;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
#ifndef ICE_OS_WINRT
|
|
43
|
+
class PerThreadImplicitContext : public ImplicitContextI
|
|
44
|
+
{
|
|
45
|
+
public:
|
|
46
|
+
|
|
47
|
+
PerThreadImplicitContext();
|
|
48
|
+
virtual ~PerThreadImplicitContext();
|
|
49
|
+
|
|
50
|
+
virtual Context getContext() const;
|
|
51
|
+
virtual void setContext(const Context&);
|
|
52
|
+
|
|
53
|
+
virtual bool containsKey(const string&) const;
|
|
54
|
+
virtual string get(const string&) const;
|
|
55
|
+
virtual string put(const string&, const string&);
|
|
56
|
+
virtual string remove(const string&);
|
|
57
|
+
|
|
58
|
+
virtual void write(const Context&, ::IceInternal::BasicStream*) const;
|
|
59
|
+
virtual void combine(const Context&, Context&) const;
|
|
60
|
+
|
|
61
|
+
struct Slot
|
|
62
|
+
{
|
|
63
|
+
Slot() :
|
|
64
|
+
context(0),
|
|
65
|
+
owner(-1) // just to avoid UMR; a random value would work as well
|
|
66
|
+
{
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
Context* context;
|
|
70
|
+
long owner;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
//
|
|
75
|
+
// Each thread maintains a SlotVector. Each PerThreadImplicitContext instance
|
|
76
|
+
// is assigned a slot in this vector.
|
|
77
|
+
//
|
|
78
|
+
typedef std::vector<Slot> SlotVector;
|
|
79
|
+
|
|
80
|
+
//
|
|
81
|
+
// We remember which slot-indices are in use (to be able to reuse indices)
|
|
82
|
+
//
|
|
83
|
+
typedef std::vector<bool> IndexInUse;
|
|
84
|
+
static IndexInUse* _indexInUse;
|
|
85
|
+
static IceUtil::Mutex* _mutex;
|
|
86
|
+
|
|
87
|
+
static long _nextId;
|
|
88
|
+
|
|
89
|
+
#ifdef _WIN32
|
|
90
|
+
static DWORD _key;
|
|
91
|
+
#else
|
|
92
|
+
static pthread_key_t _key;
|
|
93
|
+
#endif
|
|
94
|
+
|
|
95
|
+
private:
|
|
96
|
+
|
|
97
|
+
Context* getThreadContext(bool) const;
|
|
98
|
+
void clearThreadContext() const;
|
|
99
|
+
|
|
100
|
+
size_t _index; // index in all SlotVector
|
|
101
|
+
long _id; // corresponds to owner in the Slot
|
|
102
|
+
};
|
|
103
|
+
#endif
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
extern "C" void iceImplicitContextThreadDestructor(void*);
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
/*static*/ ImplicitContextI*
|
|
111
|
+
ImplicitContextI::create(const std::string& kind)
|
|
112
|
+
{
|
|
113
|
+
if(kind == "None" || kind == "")
|
|
114
|
+
{
|
|
115
|
+
return 0;
|
|
116
|
+
}
|
|
117
|
+
else if(kind == "Shared")
|
|
118
|
+
{
|
|
119
|
+
return new SharedImplicitContext;
|
|
120
|
+
}
|
|
121
|
+
else if(kind == "PerThread")
|
|
122
|
+
{
|
|
123
|
+
#ifndef ICE_OS_WINRT
|
|
124
|
+
return new PerThreadImplicitContext;
|
|
125
|
+
#else
|
|
126
|
+
throw InitializationException(__FILE__, __LINE__,
|
|
127
|
+
"'PerThread' Ice.ImplicitContext isn't supported for WinRT.");
|
|
128
|
+
return 0; // Keep the compiler happy.
|
|
129
|
+
#endif
|
|
130
|
+
}
|
|
131
|
+
else
|
|
132
|
+
{
|
|
133
|
+
throw Ice::InitializationException(
|
|
134
|
+
__FILE__, __LINE__,
|
|
135
|
+
"'" + kind + "' is not a valid value for Ice.ImplicitContext");
|
|
136
|
+
return 0; // Keep the compiler happy.
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
#if defined(_WIN32) && !defined(ICE_OS_WINRT)
|
|
141
|
+
void
|
|
142
|
+
ImplicitContextI::cleanupThread()
|
|
143
|
+
{
|
|
144
|
+
if(PerThreadImplicitContext::_nextId > 0)
|
|
145
|
+
{
|
|
146
|
+
iceImplicitContextThreadDestructor(TlsGetValue(PerThreadImplicitContext::_key));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
#endif
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
//
|
|
153
|
+
// SharedImplicitContext implementation
|
|
154
|
+
//
|
|
155
|
+
|
|
156
|
+
Context
|
|
157
|
+
SharedImplicitContext::getContext() const
|
|
158
|
+
{
|
|
159
|
+
IceUtil::Mutex::Lock lock(_mutex);
|
|
160
|
+
return _context;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
void
|
|
164
|
+
SharedImplicitContext::setContext(const Context& newContext)
|
|
165
|
+
{
|
|
166
|
+
IceUtil::Mutex::Lock lock(_mutex);
|
|
167
|
+
_context = newContext;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
bool
|
|
171
|
+
SharedImplicitContext::containsKey(const string& k) const
|
|
172
|
+
{
|
|
173
|
+
IceUtil::Mutex::Lock lock(_mutex);
|
|
174
|
+
Context::const_iterator p = _context.find(k);
|
|
175
|
+
return p != _context.end();
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
string
|
|
179
|
+
SharedImplicitContext::get(const string& k) const
|
|
180
|
+
{
|
|
181
|
+
IceUtil::Mutex::Lock lock(_mutex);
|
|
182
|
+
Context::const_iterator p = _context.find(k);
|
|
183
|
+
if(p == _context.end())
|
|
184
|
+
{
|
|
185
|
+
return "";
|
|
186
|
+
}
|
|
187
|
+
return p->second;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
string
|
|
192
|
+
SharedImplicitContext::put(const string& k, const string& v)
|
|
193
|
+
{
|
|
194
|
+
IceUtil::Mutex::Lock lock(_mutex);
|
|
195
|
+
string& val = _context[k];
|
|
196
|
+
|
|
197
|
+
string oldVal = val;
|
|
198
|
+
val = v;
|
|
199
|
+
return oldVal;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
string
|
|
203
|
+
SharedImplicitContext::remove(const string& k)
|
|
204
|
+
{
|
|
205
|
+
IceUtil::Mutex::Lock lock(_mutex);
|
|
206
|
+
Context::iterator p = _context.find(k);
|
|
207
|
+
if(p == _context.end())
|
|
208
|
+
{
|
|
209
|
+
return "";
|
|
210
|
+
}
|
|
211
|
+
else
|
|
212
|
+
{
|
|
213
|
+
string oldVal = p->second;
|
|
214
|
+
_context.erase(p);
|
|
215
|
+
return oldVal;
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
void
|
|
220
|
+
SharedImplicitContext::write(const Context& proxyCtx, ::IceInternal::BasicStream* s) const
|
|
221
|
+
{
|
|
222
|
+
IceUtil::Mutex::Lock lock(_mutex);
|
|
223
|
+
if(proxyCtx.size() == 0)
|
|
224
|
+
{
|
|
225
|
+
s->write(_context);
|
|
226
|
+
}
|
|
227
|
+
else if(_context.size() == 0)
|
|
228
|
+
{
|
|
229
|
+
lock.release();
|
|
230
|
+
s->write(proxyCtx);
|
|
231
|
+
}
|
|
232
|
+
else
|
|
233
|
+
{
|
|
234
|
+
Context combined = proxyCtx;
|
|
235
|
+
combined.insert(_context.begin(), _context.end());
|
|
236
|
+
lock.release();
|
|
237
|
+
s->write(combined);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
void
|
|
242
|
+
SharedImplicitContext::combine(const Context& proxyCtx, Context& ctx) const
|
|
243
|
+
{
|
|
244
|
+
IceUtil::Mutex::Lock lock(_mutex);
|
|
245
|
+
if(proxyCtx.size() == 0)
|
|
246
|
+
{
|
|
247
|
+
ctx = _context;
|
|
248
|
+
}
|
|
249
|
+
else if(_context.size() == 0)
|
|
250
|
+
{
|
|
251
|
+
ctx = proxyCtx;
|
|
252
|
+
}
|
|
253
|
+
else
|
|
254
|
+
{
|
|
255
|
+
ctx = proxyCtx;
|
|
256
|
+
ctx.insert(_context.begin(), _context.end());
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
//
|
|
261
|
+
// PerThreadImplicitContext implementation
|
|
262
|
+
//
|
|
263
|
+
#ifndef ICE_OS_WINRT
|
|
264
|
+
long PerThreadImplicitContext::_nextId;
|
|
265
|
+
PerThreadImplicitContext::IndexInUse* PerThreadImplicitContext::_indexInUse;
|
|
266
|
+
IceUtil::Mutex* PerThreadImplicitContext::_mutex = 0;
|
|
267
|
+
|
|
268
|
+
namespace
|
|
269
|
+
{
|
|
270
|
+
|
|
271
|
+
class Init
|
|
272
|
+
{
|
|
273
|
+
public:
|
|
274
|
+
|
|
275
|
+
Init()
|
|
276
|
+
{
|
|
277
|
+
PerThreadImplicitContext::_mutex = new IceUtil::Mutex;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
~Init()
|
|
281
|
+
{
|
|
282
|
+
delete PerThreadImplicitContext::_mutex;
|
|
283
|
+
PerThreadImplicitContext::_mutex = 0;
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
Init init;
|
|
288
|
+
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
# ifdef _WIN32
|
|
292
|
+
DWORD PerThreadImplicitContext::_key;
|
|
293
|
+
# else
|
|
294
|
+
pthread_key_t PerThreadImplicitContext::_key;
|
|
295
|
+
# endif
|
|
296
|
+
|
|
297
|
+
PerThreadImplicitContext::PerThreadImplicitContext()
|
|
298
|
+
{
|
|
299
|
+
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(_mutex);
|
|
300
|
+
_id = _nextId++;
|
|
301
|
+
if(_id == 0)
|
|
302
|
+
{
|
|
303
|
+
//
|
|
304
|
+
// Initialize; note that we never dealloc this key (it would be
|
|
305
|
+
// complex, and since it's a static variable, it's not really a leak)
|
|
306
|
+
//
|
|
307
|
+
# ifdef _WIN32
|
|
308
|
+
_key = TlsAlloc();
|
|
309
|
+
if(_key == TLS_OUT_OF_INDEXES)
|
|
310
|
+
{
|
|
311
|
+
throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError());
|
|
312
|
+
}
|
|
313
|
+
# else
|
|
314
|
+
int err = pthread_key_create(&_key, &iceImplicitContextThreadDestructor);
|
|
315
|
+
if(err != 0)
|
|
316
|
+
{
|
|
317
|
+
throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, err);
|
|
318
|
+
}
|
|
319
|
+
# endif
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
//
|
|
323
|
+
// Now grabs an index
|
|
324
|
+
//
|
|
325
|
+
if(_indexInUse == 0)
|
|
326
|
+
{
|
|
327
|
+
_indexInUse = new IndexInUse(1);
|
|
328
|
+
}
|
|
329
|
+
size_t i = 0;
|
|
330
|
+
while(i < _indexInUse->size() && (*_indexInUse)[i])
|
|
331
|
+
{
|
|
332
|
+
i++;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
if(i == _indexInUse->size())
|
|
336
|
+
{
|
|
337
|
+
_indexInUse->resize(i + 1);
|
|
338
|
+
}
|
|
339
|
+
(*_indexInUse)[i] = true;
|
|
340
|
+
_index = i;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
PerThreadImplicitContext::~PerThreadImplicitContext()
|
|
344
|
+
{
|
|
345
|
+
IceUtilInternal::MutexPtrLock<IceUtil::Mutex> lock(_mutex);
|
|
346
|
+
(*_indexInUse)[_index] = false;
|
|
347
|
+
|
|
348
|
+
if(find(_indexInUse->begin(), _indexInUse->end(), true) == _indexInUse->end())
|
|
349
|
+
{
|
|
350
|
+
delete _indexInUse;
|
|
351
|
+
_indexInUse = 0;
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
Context*
|
|
356
|
+
PerThreadImplicitContext::getThreadContext(bool allocate) const
|
|
357
|
+
{
|
|
358
|
+
# ifdef _WIN32
|
|
359
|
+
SlotVector* sv = static_cast<SlotVector*>(TlsGetValue(_key));
|
|
360
|
+
# else
|
|
361
|
+
SlotVector* sv = static_cast<SlotVector*>(pthread_getspecific(_key));
|
|
362
|
+
# endif
|
|
363
|
+
if(sv == 0)
|
|
364
|
+
{
|
|
365
|
+
if(!allocate)
|
|
366
|
+
{
|
|
367
|
+
return 0;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
sv = new SlotVector(_index + 1);
|
|
371
|
+
# ifdef _WIN32
|
|
372
|
+
|
|
373
|
+
if(TlsSetValue(_key, sv) == 0)
|
|
374
|
+
{
|
|
375
|
+
throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError());
|
|
376
|
+
}
|
|
377
|
+
# else
|
|
378
|
+
if(int err = pthread_setspecific(_key, sv))
|
|
379
|
+
{
|
|
380
|
+
throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, err);
|
|
381
|
+
}
|
|
382
|
+
# endif
|
|
383
|
+
}
|
|
384
|
+
else
|
|
385
|
+
{
|
|
386
|
+
if(sv->size() <= _index)
|
|
387
|
+
{
|
|
388
|
+
if(!allocate)
|
|
389
|
+
{
|
|
390
|
+
return 0;
|
|
391
|
+
}
|
|
392
|
+
else
|
|
393
|
+
{
|
|
394
|
+
sv->resize(_index + 1);
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
Slot& slot = (*sv)[_index];
|
|
400
|
+
if(slot.context != 0)
|
|
401
|
+
{
|
|
402
|
+
if(slot.owner != _id)
|
|
403
|
+
{
|
|
404
|
+
//
|
|
405
|
+
// Reuse the slot from another (dead) communicator
|
|
406
|
+
//
|
|
407
|
+
slot.context->clear();
|
|
408
|
+
slot.owner = _id;
|
|
409
|
+
}
|
|
410
|
+
//
|
|
411
|
+
// else keep this slot.context
|
|
412
|
+
//
|
|
413
|
+
}
|
|
414
|
+
else
|
|
415
|
+
{
|
|
416
|
+
if(allocate)
|
|
417
|
+
{
|
|
418
|
+
slot.context = new Context;
|
|
419
|
+
slot.owner = _id;
|
|
420
|
+
}
|
|
421
|
+
//
|
|
422
|
+
// else keep null slot.context
|
|
423
|
+
//
|
|
424
|
+
}
|
|
425
|
+
return slot.context;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
void
|
|
429
|
+
PerThreadImplicitContext::clearThreadContext() const
|
|
430
|
+
{
|
|
431
|
+
# ifdef _WIN32
|
|
432
|
+
SlotVector* sv = static_cast<SlotVector*>(TlsGetValue(_key));
|
|
433
|
+
# else
|
|
434
|
+
SlotVector* sv = static_cast<SlotVector*>(pthread_getspecific(_key));
|
|
435
|
+
# endif
|
|
436
|
+
if(sv != 0 && _index < sv->size())
|
|
437
|
+
{
|
|
438
|
+
delete (*sv)[_index].context;
|
|
439
|
+
(*sv)[_index].context = 0;
|
|
440
|
+
|
|
441
|
+
//
|
|
442
|
+
// Trim tailing empty contexts.
|
|
443
|
+
//
|
|
444
|
+
size_t i = sv->size();
|
|
445
|
+
|
|
446
|
+
bool clear = true;
|
|
447
|
+
while(i != 0)
|
|
448
|
+
{
|
|
449
|
+
i--;
|
|
450
|
+
if((*sv)[i].context != 0)
|
|
451
|
+
{
|
|
452
|
+
clear = false;
|
|
453
|
+
break;
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
//
|
|
458
|
+
// If we did not find any contexts, delete the SlotVector.
|
|
459
|
+
//
|
|
460
|
+
if(clear)
|
|
461
|
+
{
|
|
462
|
+
delete sv;
|
|
463
|
+
# ifdef _WIN32
|
|
464
|
+
if(TlsSetValue(_key, 0) == 0)
|
|
465
|
+
{
|
|
466
|
+
IceUtil::ThreadSyscallException(__FILE__, __LINE__, GetLastError());
|
|
467
|
+
}
|
|
468
|
+
# else
|
|
469
|
+
if(int err = pthread_setspecific(_key, 0))
|
|
470
|
+
{
|
|
471
|
+
throw IceUtil::ThreadSyscallException(__FILE__, __LINE__, err);
|
|
472
|
+
}
|
|
473
|
+
# endif
|
|
474
|
+
}
|
|
475
|
+
else
|
|
476
|
+
{
|
|
477
|
+
sv->resize(i + 1);
|
|
478
|
+
}
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
Context
|
|
484
|
+
PerThreadImplicitContext::getContext() const
|
|
485
|
+
{
|
|
486
|
+
Context* ctx = getThreadContext(false);
|
|
487
|
+
if(ctx == 0)
|
|
488
|
+
{
|
|
489
|
+
return Context();
|
|
490
|
+
}
|
|
491
|
+
else
|
|
492
|
+
{
|
|
493
|
+
return *ctx;
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
void
|
|
498
|
+
PerThreadImplicitContext::setContext(const Context& newContext)
|
|
499
|
+
{
|
|
500
|
+
if(newContext.size() == 0)
|
|
501
|
+
{
|
|
502
|
+
clearThreadContext();
|
|
503
|
+
}
|
|
504
|
+
else
|
|
505
|
+
{
|
|
506
|
+
Context* ctx = getThreadContext(true);
|
|
507
|
+
assert(ctx != 0);
|
|
508
|
+
*ctx = newContext;
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
bool
|
|
513
|
+
PerThreadImplicitContext::containsKey(const string& k) const
|
|
514
|
+
{
|
|
515
|
+
const Context* ctx = getThreadContext(false);
|
|
516
|
+
if(ctx == 0)
|
|
517
|
+
{
|
|
518
|
+
return false;
|
|
519
|
+
}
|
|
520
|
+
Context::const_iterator p = ctx->find(k);
|
|
521
|
+
return p != ctx->end();
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
string
|
|
525
|
+
PerThreadImplicitContext::get(const string& k) const
|
|
526
|
+
{
|
|
527
|
+
const Context* ctx = getThreadContext(false);
|
|
528
|
+
if(ctx == 0)
|
|
529
|
+
{
|
|
530
|
+
return "";
|
|
531
|
+
}
|
|
532
|
+
Context::const_iterator p = ctx->find(k);
|
|
533
|
+
if(p == ctx->end())
|
|
534
|
+
{
|
|
535
|
+
return "";
|
|
536
|
+
}
|
|
537
|
+
return p->second;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
string
|
|
541
|
+
PerThreadImplicitContext::put(const string& k, const string& v)
|
|
542
|
+
{
|
|
543
|
+
Context* ctx = getThreadContext(true);
|
|
544
|
+
|
|
545
|
+
string& val = (*ctx)[k];
|
|
546
|
+
|
|
547
|
+
string oldVal = val;
|
|
548
|
+
val = v;
|
|
549
|
+
return oldVal;
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
string
|
|
553
|
+
PerThreadImplicitContext::remove(const string& k)
|
|
554
|
+
{
|
|
555
|
+
Context* ctx = getThreadContext(false);
|
|
556
|
+
if(ctx == 0)
|
|
557
|
+
{
|
|
558
|
+
return "";
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
Context::iterator p = ctx->find(k);
|
|
562
|
+
if(p == ctx->end())
|
|
563
|
+
{
|
|
564
|
+
return "";
|
|
565
|
+
}
|
|
566
|
+
else
|
|
567
|
+
{
|
|
568
|
+
string oldVal = p->second;
|
|
569
|
+
ctx->erase(p);
|
|
570
|
+
|
|
571
|
+
if(ctx->size() == 0)
|
|
572
|
+
{
|
|
573
|
+
clearThreadContext();
|
|
574
|
+
}
|
|
575
|
+
return oldVal;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
void
|
|
580
|
+
PerThreadImplicitContext::write(const Context& proxyCtx, ::IceInternal::BasicStream* s) const
|
|
581
|
+
{
|
|
582
|
+
const Context* threadCtx = getThreadContext(false);
|
|
583
|
+
|
|
584
|
+
if(threadCtx == 0 || threadCtx->size() == 0)
|
|
585
|
+
{
|
|
586
|
+
s->write(proxyCtx);
|
|
587
|
+
}
|
|
588
|
+
else if(proxyCtx.size() == 0)
|
|
589
|
+
{
|
|
590
|
+
s->write(*threadCtx);
|
|
591
|
+
}
|
|
592
|
+
else
|
|
593
|
+
{
|
|
594
|
+
Context combined = proxyCtx;
|
|
595
|
+
combined.insert(threadCtx->begin(), threadCtx->end());
|
|
596
|
+
s->write(combined);
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
void
|
|
601
|
+
PerThreadImplicitContext::combine(const Context& proxyCtx, Context& ctx) const
|
|
602
|
+
{
|
|
603
|
+
const Context* threadCtx = getThreadContext(false);
|
|
604
|
+
|
|
605
|
+
if(threadCtx == 0 || threadCtx->size() == 0)
|
|
606
|
+
{
|
|
607
|
+
ctx = proxyCtx;
|
|
608
|
+
}
|
|
609
|
+
else if(proxyCtx.size() == 0)
|
|
610
|
+
{
|
|
611
|
+
ctx = *threadCtx;
|
|
612
|
+
}
|
|
613
|
+
else
|
|
614
|
+
{
|
|
615
|
+
ctx = proxyCtx;
|
|
616
|
+
ctx.insert(threadCtx->begin(), threadCtx->end());
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
extern "C" void iceImplicitContextThreadDestructor(void* v)
|
|
621
|
+
{
|
|
622
|
+
PerThreadImplicitContext::SlotVector* sv = static_cast<PerThreadImplicitContext::SlotVector*>(v);
|
|
623
|
+
if(sv != 0)
|
|
624
|
+
{
|
|
625
|
+
//
|
|
626
|
+
// Cleanup each slot
|
|
627
|
+
//
|
|
628
|
+
for(PerThreadImplicitContext::SlotVector::iterator p = sv->begin(); p != sv->end(); ++p)
|
|
629
|
+
{
|
|
630
|
+
delete p->context;
|
|
631
|
+
}
|
|
632
|
+
//
|
|
633
|
+
// Then the vector
|
|
634
|
+
//
|
|
635
|
+
delete sv;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
#endif
|