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,291 @@
|
|
|
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_NETWORK_H
|
|
11
|
+
#define ICE_NETWORK_H
|
|
12
|
+
|
|
13
|
+
#ifdef __hpux
|
|
14
|
+
# define _XOPEN_SOURCE_EXTENDED
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
#include <Ice/Config.h>
|
|
18
|
+
|
|
19
|
+
#include <Ice/NetworkF.h>
|
|
20
|
+
#include <Ice/NetworkProxyF.h>
|
|
21
|
+
#include <Ice/PropertiesF.h> // For setTcpBufSize
|
|
22
|
+
#include <Ice/LoggerF.h> // For setTcpBufSize
|
|
23
|
+
#include <Ice/Protocol.h>
|
|
24
|
+
#include <Ice/ProtocolInstanceF.h>
|
|
25
|
+
#include <Ice/EndpointTypes.h>
|
|
26
|
+
|
|
27
|
+
#ifdef ICE_OS_WINRT
|
|
28
|
+
# include <Ice/EventHandlerF.h>
|
|
29
|
+
#elif defined(_WIN32)
|
|
30
|
+
# include <winsock2.h>
|
|
31
|
+
# include <ws2tcpip.h>
|
|
32
|
+
# if !defined(__MINGW32__)
|
|
33
|
+
typedef int ssize_t;
|
|
34
|
+
# endif
|
|
35
|
+
#else
|
|
36
|
+
# include <unistd.h>
|
|
37
|
+
# include <fcntl.h>
|
|
38
|
+
# include <sys/socket.h>
|
|
39
|
+
# include <sys/poll.h>
|
|
40
|
+
# include <netinet/in.h>
|
|
41
|
+
# include <netinet/tcp.h>
|
|
42
|
+
# include <arpa/inet.h>
|
|
43
|
+
# include <netdb.h>
|
|
44
|
+
#endif
|
|
45
|
+
|
|
46
|
+
#if defined(__linux) && !defined(ICE_NO_EPOLL)
|
|
47
|
+
# define ICE_USE_EPOLL 1
|
|
48
|
+
#elif (defined(__APPLE__) || defined(__FreeBSD__)) && !defined(ICE_NO_KQUEUE)
|
|
49
|
+
# define ICE_USE_KQUEUE 1
|
|
50
|
+
#elif defined(_WIN32)
|
|
51
|
+
# if defined(ICE_OS_WINRT)
|
|
52
|
+
# elif !defined(ICE_NO_IOCP)
|
|
53
|
+
# define ICE_USE_IOCP 1
|
|
54
|
+
# else
|
|
55
|
+
# define ICE_USE_SELECT 1
|
|
56
|
+
# endif
|
|
57
|
+
#else
|
|
58
|
+
# define ICE_USE_POLL 1
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
#if defined(_WIN32) || defined(__osf__)
|
|
62
|
+
typedef int socklen_t;
|
|
63
|
+
#endif
|
|
64
|
+
|
|
65
|
+
#if !defined(_WIN32)
|
|
66
|
+
# define SOCKET int
|
|
67
|
+
# define INVALID_SOCKET -1
|
|
68
|
+
# define SOCKET_ERROR -1
|
|
69
|
+
#elif defined(ICE_OS_WINRT)
|
|
70
|
+
typedef Platform::Object^ SOCKET;
|
|
71
|
+
# define INVALID_SOCKET nullptr
|
|
72
|
+
# define SOCKET_ERROR -1
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
#ifndef SHUT_RD
|
|
76
|
+
# define SHUT_RD 0
|
|
77
|
+
#endif
|
|
78
|
+
|
|
79
|
+
#ifndef SHUT_WR
|
|
80
|
+
# define SHUT_WR 1
|
|
81
|
+
#endif
|
|
82
|
+
|
|
83
|
+
#ifndef SHUT_RDWR
|
|
84
|
+
# define SHUT_RDWR 2
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#ifndef NETDB_INTERNAL
|
|
88
|
+
# define NETDB_INTERNAL -1
|
|
89
|
+
#endif
|
|
90
|
+
|
|
91
|
+
#ifndef NETDB_SUCCESS
|
|
92
|
+
# define NETDB_SUCCESS 0
|
|
93
|
+
#endif
|
|
94
|
+
|
|
95
|
+
#if defined(__MINGW32__) && !defined WSAID_CONNECTEX
|
|
96
|
+
# define WSAID_CONNECTEX {0x25a207b9,0xddf3,0x4660,{0x8e,0xe9,0x76,0xe5,0x8c,0x74,0x06,0x3e}}
|
|
97
|
+
# define WSAID_ACCEPTEX {0xb5367df1,0xcbac,0x11cf,{0x95,0xca,0x00,0x80,0x5f,0x48,0xa1,0x92}}
|
|
98
|
+
# define SO_UPDATE_ACCEPT_CONTEXT 0x700B
|
|
99
|
+
# define SO_UPDATE_CONNECT_CONTEXT 0x7010
|
|
100
|
+
typedef BOOL (PASCAL FAR * LPFN_CONNECTEX) (IN SOCKET s, IN const struct sockaddr FAR *name, IN int namelen,
|
|
101
|
+
IN PVOID lpSendBuffer OPTIONAL, IN DWORD dwSendDataLength,
|
|
102
|
+
OUT LPDWORD lpdwBytesSent, IN LPOVERLAPPED lpOverlapped);
|
|
103
|
+
|
|
104
|
+
typedef BOOL (PASCAL FAR * LPFN_ACCEPTEX)(IN SOCKET sListenSocket, IN SOCKET sAcceptSocket,
|
|
105
|
+
IN PVOID lpOutputBuffer, IN DWORD dwReceiveDataLength,
|
|
106
|
+
IN DWORD dwLocalAddressLength, IN DWORD dwRemoteAddressLength,
|
|
107
|
+
OUT LPDWORD lpdwBytesReceived, IN LPOVERLAPPED lpOverlapped);
|
|
108
|
+
#endif
|
|
109
|
+
|
|
110
|
+
namespace IceInternal
|
|
111
|
+
{
|
|
112
|
+
|
|
113
|
+
//
|
|
114
|
+
// Use Address struct or union depending on the platform
|
|
115
|
+
//
|
|
116
|
+
#ifdef ICE_OS_WINRT
|
|
117
|
+
struct ICE_API Address
|
|
118
|
+
{
|
|
119
|
+
Windows::Networking::HostName^ host;
|
|
120
|
+
Platform::String^ port;
|
|
121
|
+
};
|
|
122
|
+
#else
|
|
123
|
+
union Address
|
|
124
|
+
{
|
|
125
|
+
Address()
|
|
126
|
+
{
|
|
127
|
+
memset(&saStorage, 0, sizeof(sockaddr_storage));
|
|
128
|
+
saStorage.ss_family = AF_UNSPEC;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
sockaddr sa;
|
|
132
|
+
sockaddr_in saIn;
|
|
133
|
+
sockaddr_in6 saIn6;
|
|
134
|
+
sockaddr_storage saStorage;
|
|
135
|
+
};
|
|
136
|
+
#endif
|
|
137
|
+
|
|
138
|
+
enum SocketOperation
|
|
139
|
+
{
|
|
140
|
+
SocketOperationNone = 0,
|
|
141
|
+
SocketOperationRead = 1,
|
|
142
|
+
// With BSD sockets, write and connect readiness are the same so
|
|
143
|
+
// we use the same value for both.
|
|
144
|
+
SocketOperationWrite = 2,
|
|
145
|
+
SocketOperationConnect = 2
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
//
|
|
149
|
+
// AsyncInfo struct for Windows IOCP or WinRT holds the result of
|
|
150
|
+
// asynchronous operations after it completed.
|
|
151
|
+
//
|
|
152
|
+
#if defined(ICE_USE_IOCP)
|
|
153
|
+
struct ICE_API AsyncInfo : WSAOVERLAPPED
|
|
154
|
+
{
|
|
155
|
+
AsyncInfo(SocketOperation);
|
|
156
|
+
|
|
157
|
+
SocketOperation status;
|
|
158
|
+
WSABUF buf;
|
|
159
|
+
DWORD flags;
|
|
160
|
+
DWORD count;
|
|
161
|
+
int error;
|
|
162
|
+
};
|
|
163
|
+
#elif defined(ICE_OS_WINRT)
|
|
164
|
+
struct ICE_API AsyncInfo
|
|
165
|
+
{
|
|
166
|
+
int count;
|
|
167
|
+
int error;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
delegate void SocketOperationCompletedHandler(int);
|
|
171
|
+
#endif
|
|
172
|
+
|
|
173
|
+
class ICE_API NativeInfo : virtual public IceUtil::Shared
|
|
174
|
+
{
|
|
175
|
+
public:
|
|
176
|
+
|
|
177
|
+
NativeInfo(SOCKET socketFd = INVALID_SOCKET) : _fd(socketFd)
|
|
178
|
+
{
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
SOCKET fd() const
|
|
182
|
+
{
|
|
183
|
+
return _fd;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
//
|
|
187
|
+
// This is implemented by transceiver and acceptor implementations.
|
|
188
|
+
//
|
|
189
|
+
#if defined(ICE_USE_IOCP)
|
|
190
|
+
virtual AsyncInfo* getAsyncInfo(SocketOperation) = 0;
|
|
191
|
+
void initialize(HANDLE, ULONG_PTR);
|
|
192
|
+
void completed(SocketOperation operation);
|
|
193
|
+
#elif defined(ICE_OS_WINRT)
|
|
194
|
+
virtual void setCompletedHandler(SocketOperationCompletedHandler^) = 0;
|
|
195
|
+
void completed(SocketOperation operation);
|
|
196
|
+
#endif
|
|
197
|
+
|
|
198
|
+
protected:
|
|
199
|
+
|
|
200
|
+
SOCKET _fd;
|
|
201
|
+
|
|
202
|
+
#if defined(ICE_USE_IOCP)
|
|
203
|
+
HANDLE _handle;
|
|
204
|
+
ULONG_PTR _key;
|
|
205
|
+
#elif defined(ICE_OS_WINRT)
|
|
206
|
+
SocketOperationCompletedHandler^ _completedHandler;
|
|
207
|
+
#endif
|
|
208
|
+
};
|
|
209
|
+
typedef IceUtil::Handle<NativeInfo> NativeInfoPtr;
|
|
210
|
+
|
|
211
|
+
ICE_API bool noMoreFds(int);
|
|
212
|
+
ICE_API std::string errorToStringDNS(int);
|
|
213
|
+
ICE_API std::vector<Address> getAddresses(const std::string&, int, ProtocolSupport, Ice::EndpointSelectionType, bool,
|
|
214
|
+
bool);
|
|
215
|
+
ICE_API ProtocolSupport getProtocolSupport(const Address&);
|
|
216
|
+
ICE_API Address getAddressForServer(const std::string&, int, ProtocolSupport, bool);
|
|
217
|
+
ICE_API int compareAddress(const Address&, const Address&);
|
|
218
|
+
|
|
219
|
+
ICE_API bool isIPv6Supported();
|
|
220
|
+
ICE_API SOCKET createSocket(bool, const Address&);
|
|
221
|
+
ICE_API SOCKET createServerSocket(bool, const Address&, ProtocolSupport);
|
|
222
|
+
ICE_API void closeSocketNoThrow(SOCKET);
|
|
223
|
+
ICE_API void closeSocket(SOCKET);
|
|
224
|
+
|
|
225
|
+
ICE_API std::string addrToString(const Address&);
|
|
226
|
+
ICE_API void fdToLocalAddress(SOCKET, Address&);
|
|
227
|
+
ICE_API bool fdToRemoteAddress(SOCKET, Address&);
|
|
228
|
+
ICE_API std::string fdToString(SOCKET, const NetworkProxyPtr&, const Address&);
|
|
229
|
+
ICE_API std::string fdToString(SOCKET);
|
|
230
|
+
ICE_API void fdToAddressAndPort(SOCKET, std::string&, int&, std::string&, int&);
|
|
231
|
+
ICE_API void addrToAddressAndPort(const Address&, std::string&, int&);
|
|
232
|
+
ICE_API std::string addressesToString(const Address&, const Address&, bool);
|
|
233
|
+
ICE_API bool isAddressValid(const Address&);
|
|
234
|
+
|
|
235
|
+
ICE_API std::vector<std::string> getHostsForEndpointExpand(const std::string&, ProtocolSupport, bool);
|
|
236
|
+
|
|
237
|
+
ICE_API std::string inetAddrToString(const Address&);
|
|
238
|
+
ICE_API int getPort(const Address&);
|
|
239
|
+
ICE_API void setPort(Address&, int);
|
|
240
|
+
|
|
241
|
+
ICE_API bool isMulticast(const Address&);
|
|
242
|
+
ICE_API void setTcpBufSize(SOCKET, const Ice::PropertiesPtr&, const Ice::LoggerPtr&);
|
|
243
|
+
|
|
244
|
+
ICE_API void setBlock(SOCKET, bool);
|
|
245
|
+
ICE_API void setSendBufferSize(SOCKET, int);
|
|
246
|
+
ICE_API int getSendBufferSize(SOCKET);
|
|
247
|
+
ICE_API void setRecvBufferSize(SOCKET, int);
|
|
248
|
+
ICE_API int getRecvBufferSize(SOCKET);
|
|
249
|
+
|
|
250
|
+
ICE_API void setMcastGroup(SOCKET, const Address&, const std::string&);
|
|
251
|
+
ICE_API void setMcastInterface(SOCKET, const std::string&, const Address&);
|
|
252
|
+
ICE_API void setMcastTtl(SOCKET, int, const Address&);
|
|
253
|
+
ICE_API void setReuseAddress(SOCKET, bool);
|
|
254
|
+
|
|
255
|
+
ICE_API Address doBind(SOCKET, const Address&);
|
|
256
|
+
|
|
257
|
+
#ifndef ICE_OS_WINRT
|
|
258
|
+
ICE_API bool interrupted();
|
|
259
|
+
ICE_API bool acceptInterrupted();
|
|
260
|
+
ICE_API bool noBuffers();
|
|
261
|
+
ICE_API bool wouldBlock();
|
|
262
|
+
ICE_API bool notConnected();
|
|
263
|
+
ICE_API bool recvTruncated();
|
|
264
|
+
|
|
265
|
+
ICE_API bool connectFailed();
|
|
266
|
+
ICE_API bool connectionRefused();
|
|
267
|
+
ICE_API bool connectInProgress();
|
|
268
|
+
ICE_API bool connectionLost();
|
|
269
|
+
|
|
270
|
+
ICE_API void doListen(SOCKET, int);
|
|
271
|
+
ICE_API bool doConnect(SOCKET, const Address&, const Address&);
|
|
272
|
+
ICE_API void doFinishConnect(SOCKET);
|
|
273
|
+
ICE_API SOCKET doAccept(SOCKET);
|
|
274
|
+
|
|
275
|
+
ICE_API void createPipe(SOCKET fds[2]);
|
|
276
|
+
|
|
277
|
+
ICE_API int getSocketErrno();
|
|
278
|
+
|
|
279
|
+
ICE_API Address getNumericAddress(const std::string&);
|
|
280
|
+
#else
|
|
281
|
+
ICE_API void checkConnectErrorCode(const char*, int, HRESULT, Windows::Networking::HostName^);
|
|
282
|
+
ICE_API void checkErrorCode(const char*, int, HRESULT);
|
|
283
|
+
#endif
|
|
284
|
+
|
|
285
|
+
#if defined(ICE_USE_IOCP)
|
|
286
|
+
ICE_API void doConnectAsync(SOCKET, const Address&, const Address&, AsyncInfo&);
|
|
287
|
+
ICE_API void doFinishConnectAsync(SOCKET, AsyncInfo&);
|
|
288
|
+
#endif
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
#endif
|
|
@@ -0,0 +1,28 @@
|
|
|
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_NETWORK_F_H
|
|
11
|
+
#define ICE_NETWORK_F_H
|
|
12
|
+
|
|
13
|
+
#include <IceUtil/Shared.h>
|
|
14
|
+
|
|
15
|
+
#include <Ice/Handle.h>
|
|
16
|
+
|
|
17
|
+
namespace IceInternal
|
|
18
|
+
{
|
|
19
|
+
|
|
20
|
+
#ifdef ICE_OS_WINRT
|
|
21
|
+
struct ICE_API Address;
|
|
22
|
+
#else
|
|
23
|
+
union Address;
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
#endif
|
|
@@ -0,0 +1,325 @@
|
|
|
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/NetworkProxy.h>
|
|
11
|
+
#include <Ice/HttpParser.h>
|
|
12
|
+
#include <Ice/LocalException.h>
|
|
13
|
+
#include <Ice/Properties.h>
|
|
14
|
+
|
|
15
|
+
using namespace std;
|
|
16
|
+
using namespace IceInternal;
|
|
17
|
+
|
|
18
|
+
IceUtil::Shared* IceInternal::upCast(NetworkProxy* p) { return p; }
|
|
19
|
+
|
|
20
|
+
#ifndef ICE_OS_WINRT
|
|
21
|
+
|
|
22
|
+
namespace
|
|
23
|
+
{
|
|
24
|
+
|
|
25
|
+
class SOCKSNetworkProxy : public NetworkProxy
|
|
26
|
+
{
|
|
27
|
+
public:
|
|
28
|
+
|
|
29
|
+
SOCKSNetworkProxy(const string&, int);
|
|
30
|
+
SOCKSNetworkProxy(const Address&);
|
|
31
|
+
|
|
32
|
+
virtual void beginWrite(const Address&, Buffer&);
|
|
33
|
+
virtual SocketOperation endWrite(Buffer&);
|
|
34
|
+
virtual void beginRead(Buffer&);
|
|
35
|
+
virtual SocketOperation endRead(Buffer&);
|
|
36
|
+
virtual void finish(Buffer&, Buffer&);
|
|
37
|
+
virtual NetworkProxyPtr resolveHost(ProtocolSupport) const;
|
|
38
|
+
virtual Address getAddress() const;
|
|
39
|
+
virtual string getName() const;
|
|
40
|
+
virtual ProtocolSupport getProtocolSupport() const;
|
|
41
|
+
|
|
42
|
+
private:
|
|
43
|
+
|
|
44
|
+
string _host;
|
|
45
|
+
int _port;
|
|
46
|
+
Address _address;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
class HTTPNetworkProxy : public NetworkProxy
|
|
50
|
+
{
|
|
51
|
+
public:
|
|
52
|
+
|
|
53
|
+
HTTPNetworkProxy(const string&, int);
|
|
54
|
+
HTTPNetworkProxy(const Address&, ProtocolSupport);
|
|
55
|
+
|
|
56
|
+
virtual void beginWrite(const Address&, Buffer&);
|
|
57
|
+
virtual SocketOperation endWrite(Buffer&);
|
|
58
|
+
virtual void beginRead(Buffer&);
|
|
59
|
+
virtual SocketOperation endRead(Buffer&);
|
|
60
|
+
virtual void finish(Buffer&, Buffer&);
|
|
61
|
+
virtual NetworkProxyPtr resolveHost(ProtocolSupport) const;
|
|
62
|
+
virtual Address getAddress() const;
|
|
63
|
+
virtual string getName() const;
|
|
64
|
+
virtual ProtocolSupport getProtocolSupport() const;
|
|
65
|
+
|
|
66
|
+
private:
|
|
67
|
+
|
|
68
|
+
string _host;
|
|
69
|
+
int _port;
|
|
70
|
+
Address _address;
|
|
71
|
+
ProtocolSupport _protocol;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
SOCKSNetworkProxy::SOCKSNetworkProxy(const string& host, int port) : _host(host), _port(port)
|
|
77
|
+
{
|
|
78
|
+
assert(!host.empty());
|
|
79
|
+
memset(&_address, 0, sizeof(_address));
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
SOCKSNetworkProxy::SOCKSNetworkProxy(const Address& addr) : _port(0), _address(addr)
|
|
83
|
+
{
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
void
|
|
87
|
+
SOCKSNetworkProxy::beginWrite(const Address& addr, Buffer& buf)
|
|
88
|
+
{
|
|
89
|
+
//
|
|
90
|
+
// SOCKS connect request
|
|
91
|
+
//
|
|
92
|
+
buf.b.resize(9);
|
|
93
|
+
buf.i = buf.b.begin();
|
|
94
|
+
Ice::Byte* dest = &buf.b[0];
|
|
95
|
+
*dest++ = 0x04; // SOCKS version 4.
|
|
96
|
+
*dest++ = 0x01; // Command, establish a TCP/IP stream connection
|
|
97
|
+
|
|
98
|
+
const Ice::Byte* src;
|
|
99
|
+
|
|
100
|
+
//
|
|
101
|
+
// Port (already in big-endian order)
|
|
102
|
+
//
|
|
103
|
+
src = reinterpret_cast<const Ice::Byte*>(&addr.saIn.sin_port);
|
|
104
|
+
*dest++ = *src++;
|
|
105
|
+
*dest++ = *src;
|
|
106
|
+
|
|
107
|
+
//
|
|
108
|
+
// IPv4 address (already in big-endian order)
|
|
109
|
+
//
|
|
110
|
+
src = reinterpret_cast<const Ice::Byte*>(&addr.saIn.sin_addr.s_addr);
|
|
111
|
+
*dest++ = *src++;
|
|
112
|
+
*dest++ = *src++;
|
|
113
|
+
*dest++ = *src++;
|
|
114
|
+
*dest++ = *src;
|
|
115
|
+
|
|
116
|
+
*dest = 0x00; // User ID.
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
SocketOperation
|
|
120
|
+
SOCKSNetworkProxy::endWrite(Buffer& buf)
|
|
121
|
+
{
|
|
122
|
+
// Once the request is sent, read the response
|
|
123
|
+
return buf.i != buf.b.end() ? SocketOperationWrite : SocketOperationRead;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
void
|
|
127
|
+
SOCKSNetworkProxy::beginRead(Buffer& buf)
|
|
128
|
+
{
|
|
129
|
+
//
|
|
130
|
+
// Read the SOCKS4 response whose size is 8 bytes.
|
|
131
|
+
//
|
|
132
|
+
buf.b.resize(8);
|
|
133
|
+
buf.i = buf.b.begin();
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
SocketOperation
|
|
137
|
+
SOCKSNetworkProxy::endRead(Buffer& buf)
|
|
138
|
+
{
|
|
139
|
+
// We're done once we read the response
|
|
140
|
+
return buf.i != buf.b.end() ? SocketOperationRead : SocketOperationNone;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
void
|
|
144
|
+
SOCKSNetworkProxy::finish(Buffer& readBuffer, Buffer&)
|
|
145
|
+
{
|
|
146
|
+
readBuffer.i = readBuffer.b.begin();
|
|
147
|
+
|
|
148
|
+
if(readBuffer.b.end() - readBuffer.i < 2)
|
|
149
|
+
{
|
|
150
|
+
throw Ice::UnmarshalOutOfBoundsException(__FILE__, __LINE__);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
const Ice::Byte* src = &(*readBuffer.i);
|
|
154
|
+
const Ice::Byte b1 = *src++;
|
|
155
|
+
const Ice::Byte b2 = *src++;
|
|
156
|
+
if(b1 != 0x00 || b2 != 0x5a)
|
|
157
|
+
{
|
|
158
|
+
throw Ice::ConnectFailedException(__FILE__, __LINE__);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
NetworkProxyPtr
|
|
163
|
+
SOCKSNetworkProxy::resolveHost(ProtocolSupport protocol) const
|
|
164
|
+
{
|
|
165
|
+
assert(!_host.empty());
|
|
166
|
+
return new SOCKSNetworkProxy(getAddresses(_host, _port, protocol, Ice::Random, false, true)[0]);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
Address
|
|
170
|
+
SOCKSNetworkProxy::getAddress() const
|
|
171
|
+
{
|
|
172
|
+
assert(_host.empty()); // Host must be resolved.
|
|
173
|
+
return _address;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
string
|
|
177
|
+
SOCKSNetworkProxy::getName() const
|
|
178
|
+
{
|
|
179
|
+
return "SOCKS";
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
ProtocolSupport
|
|
183
|
+
SOCKSNetworkProxy::getProtocolSupport() const
|
|
184
|
+
{
|
|
185
|
+
return EnableIPv4;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
HTTPNetworkProxy::HTTPNetworkProxy(const string& host, int port) :
|
|
189
|
+
_host(host), _port(port), _protocol(EnableBoth)
|
|
190
|
+
{
|
|
191
|
+
assert(!host.empty());
|
|
192
|
+
memset(&_address, 0, sizeof(_address));
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
HTTPNetworkProxy::HTTPNetworkProxy(const Address& addr, ProtocolSupport protocol) :
|
|
196
|
+
_port(0), _address(addr), _protocol(protocol)
|
|
197
|
+
{
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
void
|
|
201
|
+
HTTPNetworkProxy::beginWrite(const Address& addr, Buffer& buf)
|
|
202
|
+
{
|
|
203
|
+
//
|
|
204
|
+
// HTTP connect request
|
|
205
|
+
//
|
|
206
|
+
ostringstream out;
|
|
207
|
+
out << "CONNECT " << addrToString(addr) << " HTTP/1.1\r\n" << "Host: " << addrToString(addr) << "\r\n\r\n";
|
|
208
|
+
string str = out.str();
|
|
209
|
+
buf.b.resize(str.size());
|
|
210
|
+
memcpy(&buf.b[0], str.c_str(), str.size());
|
|
211
|
+
buf.i = buf.b.begin();
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
SocketOperation
|
|
215
|
+
HTTPNetworkProxy::endWrite(Buffer& buf)
|
|
216
|
+
{
|
|
217
|
+
// Once the request is sent, read the response
|
|
218
|
+
return buf.i != buf.b.end() ? SocketOperationWrite : SocketOperationRead;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
void
|
|
222
|
+
HTTPNetworkProxy::beginRead(Buffer& buf)
|
|
223
|
+
{
|
|
224
|
+
//
|
|
225
|
+
// Read the Http response
|
|
226
|
+
//
|
|
227
|
+
buf.b.resize(7); // Enough space for reading at least HTTP1.1
|
|
228
|
+
buf.i = buf.b.begin();
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
SocketOperation
|
|
232
|
+
HTTPNetworkProxy::endRead(Buffer& buf)
|
|
233
|
+
{
|
|
234
|
+
//
|
|
235
|
+
// Check if we received the full HTTP response, if not, continue
|
|
236
|
+
// reading otherwise we're done.
|
|
237
|
+
//
|
|
238
|
+
const Ice::Byte* end = HttpParser().isCompleteMessage(buf.b.begin(), buf.i);
|
|
239
|
+
if(!end && buf.i == buf.b.end())
|
|
240
|
+
{
|
|
241
|
+
//
|
|
242
|
+
// Read one more byte, we can't easily read bytes in advance
|
|
243
|
+
// since the transport implenentation might be be able to read
|
|
244
|
+
// the data from the memory instead of the socket. This is for
|
|
245
|
+
// instance the case with the OpenSSL transport (or we would
|
|
246
|
+
// have to use a buffering BIO).
|
|
247
|
+
//
|
|
248
|
+
buf.b.resize(buf.b.size() + 1);
|
|
249
|
+
buf.i = buf.b.begin() + buf.b.size() - 1;
|
|
250
|
+
return SocketOperationRead;
|
|
251
|
+
}
|
|
252
|
+
return SocketOperationNone;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
void
|
|
256
|
+
HTTPNetworkProxy::finish(Buffer& readBuffer, Buffer&)
|
|
257
|
+
{
|
|
258
|
+
HttpParser parser;
|
|
259
|
+
parser.parse(readBuffer.b.begin(), readBuffer.b.end());
|
|
260
|
+
if(parser.status() != 200)
|
|
261
|
+
{
|
|
262
|
+
throw Ice::ConnectFailedException(__FILE__, __LINE__);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
NetworkProxyPtr
|
|
267
|
+
HTTPNetworkProxy::resolveHost(ProtocolSupport protocol) const
|
|
268
|
+
{
|
|
269
|
+
assert(!_host.empty());
|
|
270
|
+
return new HTTPNetworkProxy(getAddresses(_host, _port, protocol, Ice::Random, false, true)[0], protocol);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
Address
|
|
274
|
+
HTTPNetworkProxy::getAddress() const
|
|
275
|
+
{
|
|
276
|
+
assert(_host.empty()); // Host must be resolved.
|
|
277
|
+
return _address;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
string
|
|
281
|
+
HTTPNetworkProxy::getName() const
|
|
282
|
+
{
|
|
283
|
+
return "HTTP";
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
ProtocolSupport
|
|
287
|
+
HTTPNetworkProxy::getProtocolSupport() const
|
|
288
|
+
{
|
|
289
|
+
return _protocol;
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
#endif
|
|
293
|
+
|
|
294
|
+
NetworkProxyPtr
|
|
295
|
+
IceInternal::createNetworkProxy(const Ice::PropertiesPtr& properties, ProtocolSupport protocolSupport)
|
|
296
|
+
{
|
|
297
|
+
string proxyHost;
|
|
298
|
+
|
|
299
|
+
proxyHost = properties->getProperty("Ice.SOCKSProxyHost");
|
|
300
|
+
if(!proxyHost.empty())
|
|
301
|
+
{
|
|
302
|
+
#ifdef ICE_OS_WINRT
|
|
303
|
+
throw Ice::InitializationException(__FILE__, __LINE__, "SOCKS proxy not supported with WinRT");
|
|
304
|
+
#else
|
|
305
|
+
if(protocolSupport == EnableIPv6)
|
|
306
|
+
{
|
|
307
|
+
throw Ice::InitializationException(__FILE__, __LINE__, "IPv6 only is not supported with SOCKS4 proxies");
|
|
308
|
+
}
|
|
309
|
+
int proxyPort = properties->getPropertyAsIntWithDefault("Ice.SOCKSProxyPort", 1080);
|
|
310
|
+
return new SOCKSNetworkProxy(proxyHost, proxyPort);
|
|
311
|
+
#endif
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
proxyHost = properties->getProperty("Ice.HTTPProxyHost");
|
|
315
|
+
if(!proxyHost.empty())
|
|
316
|
+
{
|
|
317
|
+
#ifdef ICE_OS_WINRT
|
|
318
|
+
throw Ice::InitializationException(__FILE__, __LINE__, "HTTP proxy not supported with WinRT");
|
|
319
|
+
#else
|
|
320
|
+
return new HTTPNetworkProxy(proxyHost, properties->getPropertyAsIntWithDefault("Ice.HTTPProxyPort", 1080));
|
|
321
|
+
#endif
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
return 0;
|
|
325
|
+
}
|