zeroc-ice 3.7.11 → 3.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/dist/IceRuby/Communicator.cpp +159 -376
- data/dist/IceRuby/Communicator.h +8 -9
- data/dist/IceRuby/Config.h +23 -89
- data/dist/IceRuby/Connection.cpp +111 -219
- data/dist/IceRuby/Connection.h +8 -12
- data/dist/IceRuby/DefaultSliceLoader.cpp +45 -0
- data/dist/IceRuby/DefaultSliceLoader.h +25 -0
- data/dist/IceRuby/Endpoint.cpp +63 -65
- data/dist/IceRuby/Endpoint.h +7 -11
- data/dist/IceRuby/ImplicitContext.cpp +26 -31
- data/dist/IceRuby/ImplicitContext.h +6 -10
- data/dist/IceRuby/Init.cpp +27 -40
- data/dist/IceRuby/Logger.cpp +23 -28
- data/dist/IceRuby/Logger.h +8 -12
- data/dist/IceRuby/Operation.cpp +177 -219
- data/dist/IceRuby/Operation.h +15 -18
- data/dist/IceRuby/Properties.cpp +133 -89
- data/dist/IceRuby/Properties.h +6 -10
- data/dist/IceRuby/Proxy.cpp +179 -649
- data/dist/IceRuby/Proxy.h +11 -12
- data/dist/IceRuby/RubySliceLoader.cpp +39 -0
- data/dist/IceRuby/RubySliceLoader.h +27 -0
- data/dist/IceRuby/Slice.cpp +88 -94
- data/dist/IceRuby/Slice.h +3 -7
- data/dist/IceRuby/Types.cpp +987 -1190
- data/dist/IceRuby/Types.h +390 -461
- data/dist/IceRuby/Util.cpp +214 -473
- data/dist/IceRuby/Util.h +378 -479
- data/dist/ice/cpp/include/Ice/AsyncResponseHandler.h +85 -0
- data/dist/ice/cpp/include/Ice/BatchRequest.h +39 -0
- data/dist/ice/cpp/include/Ice/BatchRequestQueueF.h +4 -10
- data/dist/ice/cpp/include/Ice/Buffer.h +116 -111
- data/dist/ice/cpp/include/Ice/Communicator.h +411 -0
- data/dist/ice/cpp/include/Ice/CommunicatorF.h +16 -0
- data/dist/ice/cpp/include/Ice/Config.h +46 -62
- data/dist/ice/cpp/include/Ice/Connection.h +410 -0
- data/dist/ice/cpp/include/Ice/ConnectionF.h +36 -0
- data/dist/ice/cpp/include/Ice/ConnectionIF.h +6 -28
- data/dist/ice/cpp/include/Ice/CtrlCHandler.h +56 -0
- data/dist/ice/cpp/include/Ice/Current.h +60 -0
- data/dist/ice/cpp/include/Ice/DefaultSliceLoader.h +160 -0
- data/dist/ice/cpp/include/Ice/Demangle.h +17 -0
- data/dist/ice/cpp/include/Ice/Endpoint.h +298 -0
- data/dist/ice/cpp/include/Ice/EndpointF.h +44 -0
- data/dist/ice/cpp/include/Ice/EndpointSelectionType.h +21 -0
- data/dist/ice/cpp/include/Ice/Exception.h +46 -151
- data/dist/ice/cpp/include/Ice/FacetMap.h +16 -0
- data/dist/ice/cpp/include/Ice/Format.h +11 -27
- data/dist/ice/cpp/include/Ice/Ice.h +53 -48
- data/dist/ice/cpp/include/Ice/IconvStringConverter.h +165 -326
- data/dist/ice/cpp/include/Ice/ImplicitContext.h +76 -0
- data/dist/ice/cpp/include/Ice/IncomingRequest.h +75 -0
- data/dist/ice/cpp/include/Ice/Initialize.h +113 -927
- data/dist/ice/cpp/include/Ice/InputStream.h +748 -1320
- data/dist/ice/cpp/include/Ice/InstanceF.h +4 -10
- data/dist/ice/cpp/include/Ice/Instrumentation.h +319 -0
- data/dist/ice/cpp/include/Ice/LocalException.h +58 -0
- data/dist/ice/cpp/include/Ice/LocalExceptions.h +870 -0
- data/dist/ice/cpp/include/Ice/Logger.h +62 -0
- data/dist/ice/cpp/include/Ice/LoggerUtil.h +124 -147
- data/dist/ice/cpp/include/Ice/MarshaledResult.h +50 -0
- data/dist/ice/cpp/include/Ice/NativePropertiesAdmin.h +41 -71
- data/dist/ice/cpp/include/Ice/Object.h +151 -490
- data/dist/ice/cpp/include/Ice/ObjectAdapter.h +324 -0
- data/dist/ice/cpp/include/Ice/ObjectAdapterF.h +16 -0
- data/dist/ice/cpp/include/Ice/ObjectF.h +5 -19
- data/dist/ice/cpp/include/Ice/ObserverHelper.h +115 -132
- data/dist/ice/cpp/include/Ice/OutgoingAsync.h +392 -748
- data/dist/ice/cpp/include/Ice/OutgoingResponse.h +129 -0
- data/dist/ice/cpp/include/Ice/OutputStream.h +756 -956
- data/dist/ice/cpp/include/Ice/Plugin.h +73 -0
- data/dist/ice/cpp/include/Ice/PluginFactory.h +77 -0
- data/dist/ice/cpp/include/{IceUtil → Ice}/PopDisableWarnings.h +8 -6
- data/dist/ice/cpp/include/Ice/Properties.h +307 -0
- data/dist/ice/cpp/include/Ice/PropertiesF.h +19 -0
- data/dist/ice/cpp/include/Ice/Proxy.h +665 -5094
- data/dist/ice/cpp/include/Ice/ProxyF.h +2 -44
- data/dist/ice/cpp/include/Ice/ProxyFunctions.h +209 -0
- data/dist/ice/cpp/include/Ice/PushDisableWarnings.h +29 -0
- data/dist/ice/cpp/include/Ice/ReferenceF.h +4 -19
- data/dist/ice/cpp/include/Ice/RequestHandlerF.h +8 -18
- data/dist/ice/cpp/include/Ice/SSL/ClientAuthenticationOptions.h +276 -0
- data/dist/ice/cpp/include/Ice/SSL/Config.h +54 -0
- data/dist/ice/cpp/include/Ice/SSL/ConnectionInfo.h +107 -0
- data/dist/ice/cpp/include/Ice/SSL/ConnectionInfoF.h +39 -0
- data/dist/ice/cpp/include/Ice/SSL/EndpointInfo.h +40 -0
- data/dist/ice/cpp/include/Ice/SSL/SSLException.h +32 -0
- data/dist/ice/cpp/include/Ice/SSL/ServerAuthenticationOptions.h +286 -0
- data/dist/ice/cpp/include/Ice/ServantLocator.h +51 -0
- data/dist/ice/cpp/include/Ice/Service.h +182 -342
- data/dist/ice/cpp/include/Ice/SliceLoader.h +67 -0
- data/dist/ice/cpp/include/Ice/SlicedData.h +113 -160
- data/dist/ice/cpp/include/Ice/SlicedDataF.h +17 -27
- data/dist/ice/cpp/include/Ice/StreamHelpers.h +532 -1070
- data/dist/ice/cpp/include/Ice/StreamableTraits.h +291 -0
- data/dist/ice/cpp/include/Ice/StringConverter.h +152 -63
- data/dist/ice/cpp/include/Ice/StringUtil.h +114 -0
- data/dist/ice/cpp/include/Ice/TimerTask.h +24 -0
- data/dist/ice/cpp/include/Ice/TupleCompare.h +103 -0
- data/dist/ice/cpp/include/Ice/UUID.h +6 -9
- data/dist/ice/cpp/include/Ice/UserException.h +46 -0
- data/dist/ice/cpp/include/Ice/UserExceptionFactory.h +4 -79
- data/dist/ice/cpp/include/Ice/Value.h +103 -115
- data/dist/ice/cpp/include/Ice/ValueF.h +6 -11
- data/dist/ice/cpp/include/IceDiscovery/IceDiscovery.h +16 -1877
- data/dist/ice/cpp/include/IceLocatorDiscovery/IceLocatorDiscovery.h +16 -1185
- data/dist/ice/cpp/include/generated/Ice/BuiltinSequences.h +46 -146
- data/dist/ice/cpp/include/generated/Ice/Context.h +40 -0
- data/dist/ice/cpp/include/generated/Ice/EndpointTypes.h +49 -93
- data/dist/ice/cpp/include/generated/Ice/Identity.h +70 -226
- data/dist/ice/cpp/include/generated/Ice/Locator.h +494 -3850
- data/dist/ice/cpp/include/generated/Ice/LocatorRegistry.h +443 -0
- data/dist/ice/cpp/include/generated/Ice/Metrics.h +937 -4603
- data/dist/ice/cpp/include/generated/Ice/OperationMode.h +73 -0
- data/dist/ice/cpp/include/generated/Ice/Process.h +197 -929
- data/dist/ice/cpp/include/generated/Ice/PropertiesAdmin.h +249 -1301
- data/dist/ice/cpp/include/generated/Ice/PropertyDict.h +39 -0
- data/dist/ice/cpp/include/generated/Ice/RemoteLogger.h +637 -2620
- data/dist/ice/cpp/include/generated/Ice/ReplyStatus.h +94 -0
- data/dist/ice/cpp/include/generated/Ice/Router.h +429 -1783
- data/dist/ice/cpp/include/generated/Ice/SliceChecksumDict.h +18 -65
- data/dist/ice/cpp/include/generated/Ice/Version.h +73 -318
- data/dist/ice/cpp/include/generated/IceDiscovery/Lookup.h +498 -0
- data/dist/ice/cpp/include/generated/IceLocatorDiscovery/Lookup.h +387 -0
- data/dist/ice/cpp/src/Ice/Acceptor.h +28 -24
- data/dist/ice/cpp/src/Ice/AcceptorF.h +6 -14
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories.h +16 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_all.cpp +43 -0
- data/dist/ice/cpp/src/Ice/AddDefaultPluginFactories_min.cpp +17 -0
- data/dist/ice/cpp/src/Ice/ArgVector.cpp +17 -18
- data/dist/ice/cpp/src/Ice/ArgVector.h +19 -25
- data/dist/ice/cpp/src/Ice/Base64.cpp +66 -66
- data/dist/ice/cpp/src/Ice/Base64.h +14 -19
- data/dist/ice/cpp/src/Ice/BatchRequestQueue.cpp +70 -121
- data/dist/ice/cpp/src/Ice/BatchRequestQueue.h +37 -47
- data/dist/ice/cpp/src/Ice/Buffer.cpp +73 -41
- data/dist/ice/cpp/src/Ice/CheckIdentity.h +21 -0
- data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.cpp +215 -249
- data/dist/ice/cpp/src/Ice/CollocatedRequestHandler.h +38 -60
- data/dist/ice/cpp/src/Ice/Communicator.cpp +399 -0
- data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.cpp +140 -0
- data/dist/ice/cpp/src/Ice/CommunicatorFlushBatchAsync.h +39 -0
- data/dist/ice/cpp/src/Ice/ConnectRequestHandler.cpp +63 -184
- data/dist/ice/cpp/src/Ice/ConnectRequestHandler.h +30 -51
- data/dist/ice/cpp/src/Ice/ConnectRequestHandlerF.h +4 -14
- data/dist/ice/cpp/src/Ice/Connection.cpp +44 -0
- data/dist/ice/cpp/src/Ice/ConnectionFactory.cpp +578 -792
- data/dist/ice/cpp/src/Ice/ConnectionFactory.h +200 -200
- data/dist/ice/cpp/src/Ice/ConnectionFactoryF.h +6 -19
- data/dist/ice/cpp/src/Ice/ConnectionI.cpp +1674 -1782
- data/dist/ice/cpp/src/Ice/ConnectionI.h +333 -293
- data/dist/ice/cpp/src/Ice/ConnectionOptions.h +22 -0
- data/dist/ice/cpp/src/Ice/Connector.h +25 -19
- data/dist/ice/cpp/src/Ice/ConnectorF.h +4 -11
- data/dist/ice/cpp/src/{IceUtil → Ice}/ConsoleUtil.cpp +32 -53
- data/dist/ice/cpp/src/Ice/ConsoleUtil.h +79 -0
- data/dist/ice/cpp/src/Ice/CtrlCHandler.cpp +189 -0
- data/dist/ice/cpp/src/Ice/Current.cpp +29 -0
- data/dist/ice/cpp/src/Ice/DLLMain.cpp +25 -35
- data/dist/ice/cpp/src/Ice/DefaultSliceLoader.cpp +39 -0
- data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +41 -119
- data/dist/ice/cpp/src/Ice/DefaultsAndOverrides.h +27 -41
- data/dist/ice/cpp/src/Ice/DefaultsAndOverridesF.h +4 -11
- data/dist/ice/cpp/src/Ice/Demangle.cpp +26 -0
- data/dist/ice/cpp/src/Ice/DisableWarnings.h +31 -0
- data/dist/ice/cpp/src/Ice/DynamicLibrary.cpp +44 -112
- data/dist/ice/cpp/src/Ice/DynamicLibrary.h +91 -0
- data/dist/ice/cpp/src/Ice/Endian.h +40 -0
- data/dist/ice/cpp/src/Ice/EndpointFactory.cpp +35 -59
- data/dist/ice/cpp/src/Ice/EndpointFactory.h +82 -103
- data/dist/ice/cpp/src/Ice/EndpointFactoryF.h +4 -11
- data/dist/ice/cpp/src/Ice/EndpointFactoryManager.cpp +54 -87
- data/dist/ice/cpp/src/Ice/EndpointFactoryManager.h +28 -33
- data/dist/ice/cpp/src/Ice/EndpointFactoryManagerF.h +4 -11
- data/dist/ice/cpp/src/Ice/EndpointI.cpp +53 -23
- data/dist/ice/cpp/src/Ice/EndpointI.h +132 -200
- data/dist/ice/cpp/src/Ice/EndpointIF.h +11 -39
- data/dist/ice/cpp/src/Ice/EventHandler.cpp +3 -26
- data/dist/ice/cpp/src/Ice/EventHandler.h +46 -56
- data/dist/ice/cpp/src/Ice/EventHandlerF.h +4 -14
- data/dist/ice/cpp/src/Ice/Exception.cpp +3 -816
- data/dist/ice/cpp/src/Ice/FileUtil.cpp +476 -0
- data/dist/ice/cpp/src/Ice/FileUtil.h +152 -0
- data/dist/ice/cpp/src/Ice/FixedRequestHandler.cpp +34 -0
- data/dist/ice/cpp/src/Ice/FixedRequestHandler.h +29 -0
- data/dist/ice/cpp/src/Ice/HashUtil.h +46 -32
- data/dist/ice/cpp/src/Ice/HttpParser.cpp +431 -431
- data/dist/ice/cpp/src/Ice/HttpParser.h +95 -100
- data/dist/ice/cpp/src/Ice/IPEndpointI.cpp +207 -324
- data/dist/ice/cpp/src/Ice/IPEndpointI.h +80 -126
- data/dist/ice/cpp/src/Ice/IPEndpointIF.h +6 -17
- data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.cpp +172 -0
- data/dist/ice/cpp/src/Ice/IdleTimeoutTransceiverDecorator.h +89 -0
- data/dist/ice/cpp/src/Ice/ImplicitContext.cpp +109 -0
- data/dist/ice/cpp/src/Ice/IncomingRequest.cpp +66 -0
- data/dist/ice/cpp/src/Ice/Initialize.cpp +48 -542
- data/dist/ice/cpp/src/Ice/InputStream.cpp +848 -1385
- data/dist/ice/cpp/src/Ice/Instance.cpp +816 -827
- data/dist/ice/cpp/src/Ice/Instance.h +202 -212
- data/dist/ice/cpp/src/Ice/InstrumentationI.cpp +526 -661
- data/dist/ice/cpp/src/Ice/InstrumentationI.h +171 -192
- data/dist/ice/cpp/src/Ice/LocalException.cpp +518 -0
- data/dist/ice/cpp/src/Ice/LocalExceptions.cpp +577 -0
- data/dist/ice/cpp/src/Ice/LocatorInfo.cpp +291 -329
- data/dist/ice/cpp/src/Ice/LocatorInfo.h +144 -157
- data/dist/ice/cpp/src/Ice/LocatorInfoF.h +8 -17
- data/dist/ice/cpp/src/Ice/LoggerAdminI.cpp +561 -743
- data/dist/ice/cpp/src/Ice/LoggerAdminI.h +18 -28
- data/dist/ice/cpp/src/Ice/LoggerI.cpp +66 -91
- data/dist/ice/cpp/src/Ice/LoggerI.h +36 -41
- data/dist/ice/cpp/src/Ice/LoggerMiddleware.cpp +176 -0
- data/dist/ice/cpp/src/Ice/LoggerMiddleware.h +42 -0
- data/dist/ice/cpp/src/Ice/LoggerUtil.cpp +14 -38
- data/dist/ice/cpp/src/Ice/MarshaledResult.cpp +20 -0
- data/dist/ice/cpp/src/Ice/MetricsAdminI.cpp +194 -280
- data/dist/ice/cpp/src/Ice/MetricsAdminI.h +600 -0
- data/dist/ice/cpp/src/Ice/MetricsFunctional.h +92 -0
- data/dist/ice/cpp/src/Ice/MetricsObserverI.h +587 -0
- data/dist/ice/cpp/src/Ice/NativePropertiesAdmin.cpp +185 -0
- data/dist/ice/cpp/src/Ice/Network.cpp +595 -917
- data/dist/ice/cpp/src/Ice/Network.h +189 -213
- data/dist/ice/cpp/src/Ice/NetworkF.h +2 -10
- data/dist/ice/cpp/src/Ice/NetworkProxy.cpp +99 -104
- data/dist/ice/cpp/src/Ice/NetworkProxy.h +49 -54
- data/dist/ice/cpp/src/Ice/NetworkProxyF.h +4 -11
- data/dist/ice/cpp/src/Ice/OSLogLoggerI.cpp +16 -18
- data/dist/ice/cpp/src/Ice/OSLogLoggerI.h +22 -27
- data/dist/ice/cpp/src/Ice/Object.cpp +152 -338
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.cpp +170 -113
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactory.h +41 -41
- data/dist/ice/cpp/src/Ice/ObjectAdapterFactoryF.h +4 -15
- data/dist/ice/cpp/src/Ice/ObjectAdapterI.cpp +580 -727
- data/dist/ice/cpp/src/Ice/ObjectAdapterI.h +149 -145
- data/dist/ice/cpp/src/Ice/ObserverHelper.cpp +36 -17
- data/dist/ice/cpp/src/Ice/ObserverMiddleware.cpp +96 -0
- data/dist/ice/cpp/src/Ice/ObserverMiddleware.h +25 -0
- data/dist/ice/cpp/src/Ice/OpaqueEndpointI.cpp +147 -187
- data/dist/ice/cpp/src/Ice/OpaqueEndpointI.h +56 -64
- data/dist/ice/cpp/src/{IceUtil → Ice}/Options.cpp +187 -258
- data/dist/ice/cpp/src/Ice/Options.h +119 -0
- data/dist/ice/cpp/src/Ice/OutgoingAsync.cpp +516 -732
- data/dist/ice/cpp/src/Ice/OutgoingResponse.cpp +276 -0
- data/dist/ice/cpp/src/Ice/OutputStream.cpp +610 -543
- data/dist/ice/cpp/src/Ice/OutputUtil.cpp +344 -0
- data/dist/ice/cpp/src/Ice/OutputUtil.h +173 -0
- data/dist/ice/cpp/src/Ice/PluginManagerI.cpp +118 -277
- data/dist/ice/cpp/src/Ice/PluginManagerI.h +41 -48
- data/dist/ice/cpp/src/Ice/Properties.cpp +931 -0
- data/dist/ice/cpp/src/Ice/PropertyNames.cpp +519 -1341
- data/dist/ice/cpp/src/Ice/PropertyNames.h +49 -64
- data/dist/ice/cpp/src/Ice/PropertyUtil.cpp +103 -0
- data/dist/ice/cpp/src/Ice/PropertyUtil.h +31 -0
- data/dist/ice/cpp/src/Ice/Protocol.cpp +129 -94
- data/dist/ice/cpp/src/Ice/Protocol.h +116 -0
- data/dist/ice/cpp/src/Ice/ProtocolInstance.cpp +117 -62
- data/dist/ice/cpp/src/Ice/ProtocolInstance.h +63 -82
- data/dist/ice/cpp/src/Ice/ProtocolInstanceF.h +4 -11
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.cpp +10 -32
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacade.h +25 -54
- data/dist/ice/cpp/src/Ice/Proxy.cpp +294 -1357
- data/dist/ice/cpp/src/Ice/ProxyAsync.cpp +684 -0
- data/dist/ice/cpp/src/Ice/ProxyFunctions.cpp +90 -0
- data/dist/ice/cpp/src/Ice/PushDisableDeprecatedWarnings.h +15 -0
- data/dist/ice/cpp/src/Ice/Random.cpp +29 -0
- data/dist/ice/cpp/src/Ice/Random.h +23 -0
- data/dist/ice/cpp/src/Ice/Reference.cpp +635 -1097
- data/dist/ice/cpp/src/Ice/Reference.h +314 -298
- data/dist/ice/cpp/src/Ice/ReferenceFactory.cpp +320 -378
- data/dist/ice/cpp/src/Ice/ReferenceFactory.h +48 -66
- data/dist/ice/cpp/src/Ice/ReferenceFactoryF.h +4 -9
- data/dist/ice/cpp/src/Ice/RequestHandler.cpp +15 -24
- data/dist/ice/cpp/src/Ice/RequestHandler.h +43 -68
- data/dist/ice/cpp/src/Ice/RequestHandlerCache.cpp +76 -0
- data/dist/ice/cpp/src/Ice/RequestHandlerCache.h +33 -0
- data/dist/ice/cpp/src/Ice/ResourceConfig.h +27 -0
- data/dist/ice/cpp/src/Ice/RetryQueue.cpp +51 -57
- data/dist/ice/cpp/src/Ice/RetryQueue.h +39 -46
- data/dist/ice/cpp/src/Ice/RetryQueueF.h +4 -9
- data/dist/ice/cpp/src/Ice/RouterInfo.cpp +97 -201
- data/dist/ice/cpp/src/Ice/RouterInfo.h +61 -118
- data/dist/ice/cpp/src/Ice/RouterInfoF.h +6 -14
- data/dist/ice/cpp/src/Ice/SHA1.cpp +86 -60
- data/dist/ice/cpp/src/Ice/SHA1.h +35 -0
- data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.cpp +89 -0
- data/dist/ice/cpp/src/Ice/SSL/DistinguishedName.h +87 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.cpp +521 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngine.h +40 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLEngineF.h +13 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.cpp +646 -0
- data/dist/ice/cpp/src/Ice/SSL/OpenSSLTransceiverI.h +80 -0
- data/dist/ice/cpp/src/{IceSSL → Ice/SSL}/RFC2253.cpp +85 -88
- data/dist/ice/cpp/src/Ice/SSL/RFC2253.h +58 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.cpp +124 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLAcceptorI.h +52 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.cpp +92 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLConnectorI.h +38 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.cpp +377 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEndpointI.h +84 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngine.cpp +115 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngine.h +69 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLEngineF.h +14 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLException.cpp +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstance.cpp +27 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstance.h +26 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLInstanceF.h +19 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLUtil.cpp +673 -0
- data/dist/ice/cpp/src/Ice/SSL/SSLUtil.h +118 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.cpp +1449 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngine.h +58 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelEngineF.h +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.cpp +1088 -0
- data/dist/ice/cpp/src/Ice/SSL/SchannelTransceiverI.h +118 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.cpp +825 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngine.h +44 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportEngineF.h +18 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.cpp +621 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportTransceiverI.h +91 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.cpp +1048 -0
- data/dist/ice/cpp/src/Ice/SSL/SecureTransportUtil.h +40 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManager.cpp +233 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManager.h +42 -0
- data/dist/ice/cpp/src/Ice/SSL/TrustManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/ScannerConfig.h +35 -0
- data/dist/ice/cpp/src/Ice/Selector.cpp +341 -606
- data/dist/ice/cpp/src/Ice/Selector.h +167 -224
- data/dist/ice/cpp/src/Ice/ServantManager.cpp +195 -128
- data/dist/ice/cpp/src/Ice/ServantManager.h +52 -55
- data/dist/ice/cpp/src/Ice/ServantManagerF.h +14 -0
- data/dist/ice/cpp/src/Ice/Service.cpp +548 -641
- data/dist/ice/cpp/src/Ice/SharedContext.h +13 -26
- data/dist/ice/cpp/src/Ice/SliceLoader.cpp +53 -0
- data/dist/ice/cpp/src/Ice/SlicedData.cpp +17 -96
- data/dist/ice/cpp/src/Ice/StreamSocket.cpp +104 -151
- data/dist/ice/cpp/src/Ice/StreamSocket.h +48 -60
- data/dist/ice/cpp/src/Ice/StringConverter.cpp +586 -0
- data/dist/ice/cpp/src/Ice/StringUtil.cpp +1137 -0
- data/dist/ice/cpp/src/Ice/SysLoggerI.cpp +41 -47
- data/dist/ice/cpp/src/Ice/SysLoggerI.h +24 -27
- data/dist/ice/cpp/src/Ice/SystemdJournalI.cpp +16 -17
- data/dist/ice/cpp/src/Ice/SystemdJournalI.h +19 -25
- data/dist/ice/cpp/src/Ice/TargetCompare.h +96 -0
- data/dist/ice/cpp/src/Ice/TcpAcceptor.cpp +67 -88
- data/dist/ice/cpp/src/Ice/TcpAcceptor.h +34 -40
- data/dist/ice/cpp/src/Ice/TcpConnector.cpp +42 -41
- data/dist/ice/cpp/src/Ice/TcpConnector.h +26 -35
- data/dist/ice/cpp/src/Ice/TcpEndpointI.cpp +172 -146
- data/dist/ice/cpp/src/Ice/TcpEndpointI.h +76 -80
- data/dist/ice/cpp/src/Ice/TcpTransceiver.cpp +38 -26
- data/dist/ice/cpp/src/Ice/TcpTransceiver.h +40 -45
- data/dist/ice/cpp/src/Ice/ThreadPool.cpp +333 -515
- data/dist/ice/cpp/src/Ice/ThreadPool.h +202 -290
- data/dist/ice/cpp/src/Ice/ThreadPoolF.h +14 -0
- data/dist/ice/cpp/src/Ice/TimeUtil.cpp +47 -0
- data/dist/ice/cpp/src/Ice/TimeUtil.h +21 -0
- data/dist/ice/cpp/src/Ice/Timer.cpp +73 -167
- data/dist/ice/cpp/src/Ice/Timer.h +212 -0
- data/dist/ice/cpp/src/Ice/TraceLevels.cpp +11 -29
- data/dist/ice/cpp/src/Ice/TraceLevels.h +22 -28
- data/dist/ice/cpp/src/Ice/TraceLevelsF.h +4 -11
- data/dist/ice/cpp/src/Ice/TraceUtil.cpp +136 -215
- data/dist/ice/cpp/src/Ice/TraceUtil.h +27 -16
- data/dist/ice/cpp/src/Ice/Transceiver.cpp +3 -7
- data/dist/ice/cpp/src/Ice/Transceiver.h +35 -32
- data/dist/ice/cpp/src/Ice/TransceiverF.h +10 -20
- data/dist/ice/cpp/src/Ice/UUID.cpp +79 -0
- data/dist/ice/cpp/src/Ice/UdpConnector.cpp +39 -39
- data/dist/ice/cpp/src/Ice/UdpConnector.h +27 -36
- data/dist/ice/cpp/src/Ice/UdpEndpointI.cpp +178 -213
- data/dist/ice/cpp/src/Ice/UdpEndpointI.h +82 -85
- data/dist/ice/cpp/src/Ice/UdpTransceiver.cpp +201 -221
- data/dist/ice/cpp/src/Ice/UdpTransceiver.h +68 -74
- data/dist/ice/cpp/{include/IceUtil → src/Ice}/UndefSysMacros.h +12 -12
- data/dist/ice/cpp/src/Ice/UniqueRef.h +77 -0
- data/dist/ice/cpp/src/Ice/UserException.cpp +58 -0
- data/dist/ice/cpp/src/Ice/Value.cpp +107 -38
- data/dist/ice/cpp/src/Ice/WSAcceptor.cpp +10 -15
- data/dist/ice/cpp/src/Ice/WSAcceptor.h +31 -37
- data/dist/ice/cpp/src/Ice/WSConnector.cpp +25 -40
- data/dist/ice/cpp/src/Ice/WSConnector.h +26 -33
- data/dist/ice/cpp/src/Ice/WSEndpoint.cpp +164 -217
- data/dist/ice/cpp/src/Ice/WSEndpoint.h +72 -83
- data/dist/ice/cpp/src/Ice/WSTransceiver.cpp +469 -458
- data/dist/ice/cpp/src/Ice/WSTransceiver.h +117 -123
- data/dist/ice/cpp/src/Ice/generated/BuiltinSequences.cpp +20 -29
- data/dist/ice/cpp/src/Ice/generated/Context.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/EndpointTypes.cpp +20 -31
- data/dist/ice/cpp/src/Ice/generated/Identity.cpp +24 -34
- data/dist/ice/cpp/src/Ice/generated/Locator.cpp +454 -1744
- data/dist/ice/cpp/src/Ice/generated/LocatorRegistry.cpp +577 -0
- data/dist/ice/cpp/src/Ice/generated/Metrics.cpp +824 -1971
- data/dist/ice/cpp/src/Ice/generated/OperationMode.cpp +56 -0
- data/dist/ice/cpp/src/Ice/generated/Process.cpp +190 -331
- data/dist/ice/cpp/src/Ice/generated/PropertiesAdmin.cpp +289 -449
- data/dist/ice/cpp/src/Ice/generated/PropertyDict.cpp +40 -0
- data/dist/ice/cpp/src/Ice/generated/RemoteLogger.cpp +547 -867
- data/dist/ice/cpp/src/Ice/generated/ReplyStatus.cpp +70 -0
- data/dist/ice/cpp/src/Ice/generated/Router.cpp +406 -723
- data/dist/ice/cpp/src/Ice/generated/SliceChecksumDict.cpp +19 -29
- data/dist/ice/cpp/src/Ice/generated/Version.cpp +28 -31
- data/dist/ice/cpp/src/IceDiscovery/LocatorI.cpp +76 -139
- data/dist/ice/cpp/src/IceDiscovery/LocatorI.h +55 -96
- data/dist/ice/cpp/src/IceDiscovery/LookupI.cpp +190 -303
- data/dist/ice/cpp/src/IceDiscovery/LookupI.h +126 -185
- data/dist/ice/cpp/src/IceDiscovery/PluginI.cpp +56 -77
- data/dist/ice/cpp/src/IceDiscovery/PluginI.h +20 -25
- data/dist/ice/cpp/src/IceDiscovery/generated/Lookup.cpp +638 -0
- data/dist/ice/cpp/src/IceLocatorDiscovery/Plugin.h +14 -37
- data/dist/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +411 -649
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/Lookup.cpp +468 -0
- data/dist/ice/cpp/src/Slice/DeprecationReporter.cpp +172 -0
- data/dist/ice/cpp/src/Slice/DeprecationReporter.h +14 -0
- data/dist/ice/cpp/src/Slice/DocCommentParser.cpp +736 -0
- data/dist/ice/cpp/src/Slice/DocCommentParser.h +61 -0
- data/dist/ice/cpp/src/Slice/FileTracker.cpp +25 -75
- data/dist/ice/cpp/src/Slice/FileTracker.h +35 -56
- data/dist/ice/cpp/src/Slice/Grammar.cpp +2711 -3382
- data/dist/ice/cpp/src/Slice/Grammar.h +95 -75
- data/dist/ice/cpp/src/Slice/GrammarUtil.h +117 -217
- data/dist/ice/cpp/src/Slice/MetadataValidation.cpp +486 -0
- data/dist/ice/cpp/src/Slice/MetadataValidation.h +106 -0
- data/dist/ice/cpp/src/Slice/Parser.cpp +3068 -5223
- data/dist/ice/cpp/src/Slice/Parser.h +1086 -1065
- data/dist/ice/cpp/src/Slice/Preprocessor.cpp +97 -599
- data/dist/ice/cpp/src/Slice/Preprocessor.h +26 -42
- data/dist/ice/cpp/src/Slice/Scanner.cpp +1562 -924
- data/dist/ice/cpp/src/Slice/SliceUtil.cpp +517 -113
- data/dist/ice/cpp/src/Slice/StringLiteralUtil.cpp +254 -269
- data/dist/ice/cpp/src/Slice/Util.h +126 -35
- data/dist/ice/cpp/src/slice2rb/Main.cpp +13 -15
- data/dist/ice/cpp/src/slice2rb/Ruby.cpp +250 -0
- data/dist/ice/cpp/src/slice2rb/RubyUtil.cpp +1197 -0
- data/dist/ice/cpp/src/slice2rb/RubyUtil.h +56 -0
- data/dist/ice/slice/Glacier2/Metrics.ice +34 -75
- data/dist/ice/slice/Glacier2/PermissionsVerifier.ice +42 -98
- data/dist/ice/slice/Glacier2/Router.ice +80 -173
- data/dist/ice/slice/Glacier2/SSLInfo.ice +23 -40
- data/dist/ice/slice/Glacier2/Session.ice +120 -261
- data/dist/ice/slice/Ice/BuiltinSequences.ice +33 -38
- data/dist/ice/slice/Ice/Context.ice +24 -0
- data/dist/ice/slice/Ice/EndpointTypes.ice +35 -33
- data/dist/ice/slice/Ice/Identity.ice +24 -63
- data/dist/ice/slice/Ice/Locator.ice +61 -226
- data/dist/ice/slice/Ice/LocatorRegistry.ice +77 -0
- data/dist/ice/slice/Ice/Metrics.ice +189 -424
- data/dist/ice/slice/Ice/OperationMode.ice +38 -0
- data/dist/ice/slice/Ice/Process.ice +16 -52
- data/dist/ice/slice/Ice/PropertiesAdmin.ice +25 -75
- data/dist/ice/slice/Ice/PropertyDict.ice +23 -0
- data/dist/ice/slice/Ice/RemoteLogger.ice +113 -213
- data/dist/ice/slice/Ice/ReplyStatus.ice +65 -0
- data/dist/ice/slice/Ice/Router.ice +42 -91
- data/dist/ice/slice/Ice/SliceChecksumDict.ice +7 -25
- data/dist/ice/slice/Ice/Version.ice +31 -39
- data/dist/ice/slice/IceBox/ServiceManager.ice +79 -0
- data/dist/ice/slice/IceGrid/Admin.ice +942 -1918
- data/dist/ice/slice/IceGrid/Descriptor.ice +476 -1051
- data/dist/ice/slice/IceGrid/Exception.ice +86 -384
- data/dist/ice/slice/IceGrid/FileParser.ice +23 -59
- data/dist/ice/slice/IceGrid/Registry.ice +117 -256
- data/dist/ice/slice/IceGrid/Session.ice +46 -110
- data/dist/ice/slice/IceGrid/UserAccountMapper.ice +22 -57
- data/dist/ice/slice/IceStorm/IceStorm.ice +173 -401
- data/dist/ice/slice/IceStorm/Metrics.ice +28 -70
- data/dist/lib/Glacier2/Metrics.rb +16 -31
- data/dist/lib/Glacier2/PermissionsVerifier.rb +18 -50
- data/dist/lib/Glacier2/Router.rb +20 -42
- data/dist/lib/Glacier2/SSLInfo.rb +14 -22
- data/dist/lib/Glacier2/Session.rb +53 -113
- data/dist/lib/Glacier2.rb +6 -6
- data/dist/lib/Ice/BuiltinSequences.rb +14 -26
- data/dist/lib/Ice/CompressBatch.rb +50 -0
- data/dist/lib/Ice/Context.rb +12 -0
- data/dist/lib/Ice/EndpointSelectionType.rb +49 -0
- data/dist/lib/Ice/EndpointTypes.rb +14 -55
- data/dist/lib/Ice/Exception.rb +20 -0
- data/dist/lib/Ice/Identity.rb +10 -26
- data/dist/lib/Ice/IdentitySpaceship.rb +16 -0
- data/dist/lib/Ice/InitializationData.rb +12 -0
- data/dist/lib/Ice/LocalExceptions.rb +168 -0
- data/dist/lib/Ice/Locator.rb +21 -134
- data/dist/lib/Ice/LocatorRegistry.rb +73 -0
- data/dist/lib/Ice/Metrics.rb +85 -132
- data/dist/lib/Ice/OperationMode.rb +58 -0
- data/dist/lib/Ice/Process.rb +12 -31
- data/dist/lib/Ice/PropertiesAdmin.rb +12 -36
- data/dist/lib/Ice/PropertyDict.rb +12 -0
- data/dist/lib/Ice/Proxy.rb +85 -0
- data/dist/lib/Ice/ProxyFunctions.rb +69 -0
- data/dist/lib/Ice/RemoteLogger.rb +29 -60
- data/dist/lib/Ice/ReplyStatus.rb +65 -0
- data/dist/lib/Ice/Router.rb +19 -47
- data/dist/lib/Ice/SliceChecksumDict.rb +5 -17
- data/dist/lib/Ice/SliceUtil.rb +41 -0
- data/dist/lib/Ice/Struct.rb +11 -0
- data/dist/lib/Ice/ToStringMode.rb +50 -0
- data/dist/lib/Ice/Value.rb +93 -0
- data/dist/lib/Ice/Version.rb +12 -24
- data/dist/lib/Ice.rb +29 -665
- data/dist/lib/IceBox/ServiceManager.rb +104 -0
- data/dist/lib/IceBox.rb +2 -4
- data/dist/lib/IceGrid/Admin.rb +303 -291
- data/dist/lib/IceGrid/Descriptor.rb +147 -192
- data/dist/lib/IceGrid/Exception.rb +26 -257
- data/dist/lib/IceGrid/FileParser.rb +12 -36
- data/dist/lib/IceGrid/Registry.rb +35 -76
- data/dist/lib/IceGrid/Session.rb +19 -34
- data/dist/lib/IceGrid/UserAccountMapper.rb +11 -34
- data/dist/lib/IceGrid.rb +3 -3
- data/dist/lib/IceStorm/IceStorm.rb +51 -132
- data/dist/lib/IceStorm/Metrics.rb +19 -37
- data/dist/lib/IceStorm.rb +3 -5
- data/extconf.rb +6 -8
- data/ice.gemspec +3 -3
- data/scripts/slice2rb +1 -3
- metadata +206 -386
- data/dist/IceRuby/ValueFactoryManager.cpp +0 -445
- data/dist/IceRuby/ValueFactoryManager.h +0 -95
- data/dist/ice/cpp/include/Ice/Application.h +0 -326
- data/dist/ice/cpp/include/Ice/AsyncResult.h +0 -155
- data/dist/ice/cpp/include/Ice/AsyncResultF.h +0 -23
- data/dist/ice/cpp/include/Ice/BatchRequestInterceptor.h +0 -75
- data/dist/ice/cpp/include/Ice/CommunicatorAsync.h +0 -154
- data/dist/ice/cpp/include/Ice/Comparable.h +0 -205
- data/dist/ice/cpp/include/Ice/ConnectionAsync.h +0 -302
- data/dist/ice/cpp/include/Ice/ConsoleUtil.h +0 -23
- data/dist/ice/cpp/include/Ice/DefaultValueFactory.h +0 -57
- data/dist/ice/cpp/include/Ice/DispatchInterceptor.h +0 -41
- data/dist/ice/cpp/include/Ice/Dispatcher.h +0 -67
- data/dist/ice/cpp/include/Ice/DynamicLibrary.h +0 -102
- data/dist/ice/cpp/include/Ice/DynamicLibraryF.h +0 -24
- data/dist/ice/cpp/include/Ice/ExceptionHelpers.h +0 -74
- data/dist/ice/cpp/include/Ice/FactoryTable.h +0 -73
- data/dist/ice/cpp/include/Ice/FactoryTableInit.h +0 -84
- data/dist/ice/cpp/include/Ice/Functional.h +0 -140
- data/dist/ice/cpp/include/Ice/GCObject.h +0 -76
- data/dist/ice/cpp/include/Ice/Handle.h +0 -182
- data/dist/ice/cpp/include/Ice/Incoming.h +0 -225
- data/dist/ice/cpp/include/Ice/IncomingAsync.h +0 -186
- data/dist/ice/cpp/include/Ice/IncomingAsyncF.h +0 -36
- data/dist/ice/cpp/include/Ice/InterfaceByValue.h +0 -57
- data/dist/ice/cpp/include/Ice/LocalObject.h +0 -35
- data/dist/ice/cpp/include/Ice/LocalObjectF.h +0 -21
- data/dist/ice/cpp/include/Ice/MetricsAdminI.h +0 -715
- data/dist/ice/cpp/include/Ice/MetricsFunctional.h +0 -159
- data/dist/ice/cpp/include/Ice/MetricsObserverI.h +0 -669
- data/dist/ice/cpp/include/Ice/Optional.h +0 -1114
- data/dist/ice/cpp/include/Ice/OutgoingAsyncF.h +0 -39
- data/dist/ice/cpp/include/Ice/Protocol.h +0 -274
- data/dist/ice/cpp/include/Ice/ProxyFactoryF.h +0 -21
- data/dist/ice/cpp/include/Ice/ProxyHandle.h +0 -318
- data/dist/ice/cpp/include/Ice/RegisterPlugins.h +0 -127
- data/dist/ice/cpp/include/Ice/ResponseHandlerF.h +0 -25
- data/dist/ice/cpp/include/Ice/SHA1.h +0 -40
- data/dist/ice/cpp/include/Ice/ServantManagerF.h +0 -21
- data/dist/ice/cpp/include/Ice/SliceChecksums.h +0 -33
- data/dist/ice/cpp/include/Ice/ThreadPoolF.h +0 -23
- data/dist/ice/cpp/include/Ice/UniquePtr.h +0 -95
- data/dist/ice/cpp/include/Ice/UniqueRef.h +0 -97
- data/dist/ice/cpp/include/IceSSL/Config.h +0 -21
- data/dist/ice/cpp/include/IceSSL/IceSSL.h +0 -24
- data/dist/ice/cpp/include/IceSSL/OpenSSL.h +0 -147
- data/dist/ice/cpp/include/IceSSL/Plugin.h +0 -712
- data/dist/ice/cpp/include/IceSSL/SChannel.h +0 -72
- data/dist/ice/cpp/include/IceSSL/SecureTransport.h +0 -72
- data/dist/ice/cpp/include/IceUtil/Atomic.h +0 -179
- data/dist/ice/cpp/include/IceUtil/Cond.h +0 -317
- data/dist/ice/cpp/include/IceUtil/Config.h +0 -392
- data/dist/ice/cpp/include/IceUtil/ConsoleUtil.h +0 -92
- data/dist/ice/cpp/include/IceUtil/CountDownLatch.h +0 -45
- data/dist/ice/cpp/include/IceUtil/CtrlCHandler.h +0 -96
- data/dist/ice/cpp/include/IceUtil/DisableWarnings.h +0 -44
- data/dist/ice/cpp/include/IceUtil/Exception.h +0 -394
- data/dist/ice/cpp/include/IceUtil/FileUtil.h +0 -140
- data/dist/ice/cpp/include/IceUtil/Functional.h +0 -389
- data/dist/ice/cpp/include/IceUtil/Handle.h +0 -261
- data/dist/ice/cpp/include/IceUtil/IceUtil.h +0 -40
- data/dist/ice/cpp/include/IceUtil/InputUtil.h +0 -42
- data/dist/ice/cpp/include/IceUtil/Iterator.h +0 -31
- data/dist/ice/cpp/include/IceUtil/Lock.h +0 -128
- data/dist/ice/cpp/include/IceUtil/Monitor.h +0 -243
- data/dist/ice/cpp/include/IceUtil/Mutex.h +0 -349
- data/dist/ice/cpp/include/IceUtil/MutexProtocol.h +0 -23
- data/dist/ice/cpp/include/IceUtil/MutexPtrLock.h +0 -78
- data/dist/ice/cpp/include/IceUtil/MutexPtrTryLock.h +0 -77
- data/dist/ice/cpp/include/IceUtil/Optional.h +0 -433
- data/dist/ice/cpp/include/IceUtil/Options.h +0 -135
- data/dist/ice/cpp/include/IceUtil/OutputUtil.h +0 -383
- data/dist/ice/cpp/include/IceUtil/PushDisableWarnings.h +0 -33
- data/dist/ice/cpp/include/IceUtil/Random.h +0 -55
- data/dist/ice/cpp/include/IceUtil/RecMutex.h +0 -107
- data/dist/ice/cpp/include/IceUtil/ResourceConfig.h +0 -37
- data/dist/ice/cpp/include/IceUtil/ScannerConfig.h +0 -40
- data/dist/ice/cpp/include/IceUtil/ScopedArray.h +0 -98
- data/dist/ice/cpp/include/IceUtil/Shared.h +0 -127
- data/dist/ice/cpp/include/IceUtil/StopWatch.h +0 -49
- data/dist/ice/cpp/include/IceUtil/StringConverter.h +0 -195
- data/dist/ice/cpp/include/IceUtil/StringUtil.h +0 -97
- data/dist/ice/cpp/include/IceUtil/Thread.h +0 -160
- data/dist/ice/cpp/include/IceUtil/ThreadException.h +0 -94
- data/dist/ice/cpp/include/IceUtil/Time.h +0 -205
- data/dist/ice/cpp/include/IceUtil/Timer.h +0 -153
- data/dist/ice/cpp/include/IceUtil/UUID.h +0 -21
- data/dist/ice/cpp/include/generated/Glacier2/Metrics.h +0 -475
- data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifier.h +0 -1430
- data/dist/ice/cpp/include/generated/Glacier2/PermissionsVerifierF.h +0 -147
- data/dist/ice/cpp/include/generated/Glacier2/Router.h +0 -3260
- data/dist/ice/cpp/include/generated/Glacier2/RouterF.h +0 -125
- data/dist/ice/cpp/include/generated/Glacier2/SSLInfo.h +0 -223
- data/dist/ice/cpp/include/generated/Glacier2/Session.h +0 -5894
- data/dist/ice/cpp/include/generated/Ice/Communicator.h +0 -1162
- data/dist/ice/cpp/include/generated/Ice/CommunicatorF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/Connection.h +0 -1703
- data/dist/ice/cpp/include/generated/Ice/ConnectionF.h +0 -119
- data/dist/ice/cpp/include/generated/Ice/Current.h +0 -322
- data/dist/ice/cpp/include/generated/Ice/Endpoint.h +0 -979
- data/dist/ice/cpp/include/generated/Ice/EndpointF.h +0 -166
- data/dist/ice/cpp/include/generated/Ice/FacetMap.h +0 -80
- data/dist/ice/cpp/include/generated/Ice/ImplicitContext.h +0 -284
- data/dist/ice/cpp/include/generated/Ice/ImplicitContextF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/Instrumentation.h +0 -1203
- data/dist/ice/cpp/include/generated/Ice/InstrumentationF.h +0 -128
- data/dist/ice/cpp/include/generated/Ice/LocalException.h +0 -7437
- data/dist/ice/cpp/include/generated/Ice/LocatorF.h +0 -147
- data/dist/ice/cpp/include/generated/Ice/Logger.h +0 -237
- data/dist/ice/cpp/include/generated/Ice/LoggerF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ObjectAdapter.h +0 -1181
- data/dist/ice/cpp/include/generated/Ice/ObjectAdapterF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ObjectFactory.h +0 -203
- data/dist/ice/cpp/include/generated/Ice/Plugin.h +0 -318
- data/dist/ice/cpp/include/generated/Ice/PluginF.h +0 -110
- data/dist/ice/cpp/include/generated/Ice/ProcessF.h +0 -125
- data/dist/ice/cpp/include/generated/Ice/Properties.h +0 -452
- data/dist/ice/cpp/include/generated/Ice/PropertiesF.h +0 -134
- data/dist/ice/cpp/include/generated/Ice/RouterF.h +0 -125
- data/dist/ice/cpp/include/generated/Ice/ServantLocator.h +0 -305
- data/dist/ice/cpp/include/generated/Ice/ServantLocatorF.h +0 -101
- data/dist/ice/cpp/include/generated/Ice/ValueFactory.h +0 -330
- data/dist/ice/cpp/include/generated/IceBox/IceBox.h +0 -3269
- data/dist/ice/cpp/include/generated/IceGrid/Admin.h +0 -33773
- data/dist/ice/cpp/include/generated/IceGrid/Descriptor.h +0 -5254
- data/dist/ice/cpp/include/generated/IceGrid/Exception.h +0 -2834
- data/dist/ice/cpp/include/generated/IceGrid/FileParser.h +0 -824
- data/dist/ice/cpp/include/generated/IceGrid/PluginFacade.h +0 -635
- data/dist/ice/cpp/include/generated/IceGrid/Registry.h +0 -5089
- data/dist/ice/cpp/include/generated/IceGrid/Session.h +0 -2240
- data/dist/ice/cpp/include/generated/IceGrid/UserAccountMapper.h +0 -800
- data/dist/ice/cpp/include/generated/IcePatch2/FileInfo.h +0 -325
- data/dist/ice/cpp/include/generated/IcePatch2/FileServer.h +0 -2891
- data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +0 -228
- data/dist/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +0 -101
- data/dist/ice/cpp/include/generated/IceSSL/EndpointInfo.h +0 -186
- data/dist/ice/cpp/include/generated/IceStorm/IceStorm.h +0 -6627
- data/dist/ice/cpp/include/generated/IceStorm/Metrics.h +0 -665
- data/dist/ice/cpp/src/Ice/ACM.cpp +0 -380
- data/dist/ice/cpp/src/Ice/ACM.h +0 -119
- data/dist/ice/cpp/src/Ice/ACMF.h +0 -30
- data/dist/ice/cpp/src/Ice/Acceptor.cpp +0 -16
- data/dist/ice/cpp/src/Ice/Application.cpp +0 -661
- data/dist/ice/cpp/src/Ice/AsyncResult.cpp +0 -70
- data/dist/ice/cpp/src/Ice/CommunicatorI.cpp +0 -586
- data/dist/ice/cpp/src/Ice/CommunicatorI.h +0 -167
- data/dist/ice/cpp/src/Ice/Cond.cpp +0 -381
- data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.cpp +0 -73
- data/dist/ice/cpp/src/Ice/ConnectionRequestHandler.h +0 -41
- data/dist/ice/cpp/src/Ice/Connector.cpp +0 -16
- data/dist/ice/cpp/src/Ice/CountDownLatch.cpp +0 -171
- data/dist/ice/cpp/src/Ice/DispatchInterceptor.cpp +0 -37
- data/dist/ice/cpp/src/Ice/FactoryTable.cpp +0 -162
- data/dist/ice/cpp/src/Ice/FactoryTableInit.cpp +0 -88
- data/dist/ice/cpp/src/Ice/GCObject.cpp +0 -442
- data/dist/ice/cpp/src/Ice/IconvStringConverter.cpp +0 -51
- data/dist/ice/cpp/src/Ice/ImplicitContextI.cpp +0 -655
- data/dist/ice/cpp/src/Ice/ImplicitContextI.h +0 -48
- data/dist/ice/cpp/src/Ice/Incoming.cpp +0 -795
- data/dist/ice/cpp/src/Ice/IncomingAsync.cpp +0 -230
- data/dist/ice/cpp/src/Ice/IncomingRequest.h +0 -33
- data/dist/ice/cpp/src/Ice/LocalObject.cpp +0 -23
- data/dist/ice/cpp/src/Ice/MetricsObserverI.cpp +0 -8
- data/dist/ice/cpp/src/Ice/PropertiesAdminI.cpp +0 -265
- data/dist/ice/cpp/src/Ice/PropertiesAdminI.h +0 -64
- data/dist/ice/cpp/src/Ice/PropertiesI.cpp +0 -739
- data/dist/ice/cpp/src/Ice/PropertiesI.h +0 -70
- data/dist/ice/cpp/src/Ice/ProtocolPluginFacadeF.h +0 -21
- data/dist/ice/cpp/src/Ice/ProxyFactory.cpp +0 -300
- data/dist/ice/cpp/src/Ice/ProxyFactory.h +0 -57
- data/dist/ice/cpp/src/Ice/RegisterPluginsInit.cpp +0 -38
- data/dist/ice/cpp/src/Ice/RegisterPluginsInit.h +0 -20
- data/dist/ice/cpp/src/Ice/ReplyStatus.h +0 -24
- data/dist/ice/cpp/src/Ice/RequestHandlerFactory.cpp +0 -77
- data/dist/ice/cpp/src/Ice/RequestHandlerFactory.h +0 -37
- data/dist/ice/cpp/src/Ice/ResponseHandler.cpp +0 -12
- data/dist/ice/cpp/src/Ice/ResponseHandler.h +0 -43
- data/dist/ice/cpp/src/Ice/SliceChecksums.cpp +0 -75
- data/dist/ice/cpp/src/Ice/StringConverterPlugin.cpp +0 -192
- data/dist/ice/cpp/src/Ice/StringUtil.h +0 -30
- data/dist/ice/cpp/src/Ice/Thread.cpp +0 -569
- data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.cpp +0 -61
- data/dist/ice/cpp/src/Ice/ValueFactoryManagerI.h +0 -37
- data/dist/ice/cpp/src/Ice/VirtualShared.h +0 -38
- data/dist/ice/cpp/src/Ice/generated/Communicator.cpp +0 -79
- data/dist/ice/cpp/src/Ice/generated/CommunicatorF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Connection.cpp +0 -155
- data/dist/ice/cpp/src/Ice/generated/ConnectionF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Current.cpp +0 -62
- data/dist/ice/cpp/src/Ice/generated/Endpoint.cpp +0 -147
- data/dist/ice/cpp/src/Ice/generated/EndpointF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/FacetMap.cpp +0 -49
- data/dist/ice/cpp/src/Ice/generated/ImplicitContext.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/ImplicitContextF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/Instrumentation.cpp +0 -188
- data/dist/ice/cpp/src/Ice/generated/InstrumentationF.cpp +0 -66
- data/dist/ice/cpp/src/Ice/generated/LocalException.cpp +0 -3262
- data/dist/ice/cpp/src/Ice/generated/LocatorF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/Logger.cpp +0 -73
- data/dist/ice/cpp/src/Ice/generated/LoggerF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ObjectAdapter.cpp +0 -79
- data/dist/ice/cpp/src/Ice/generated/ObjectAdapterF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ObjectFactory.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/Plugin.cpp +0 -87
- data/dist/ice/cpp/src/Ice/generated/PluginF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ProcessF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/Properties.cpp +0 -78
- data/dist/ice/cpp/src/Ice/generated/PropertiesF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/RouterF.cpp +0 -63
- data/dist/ice/cpp/src/Ice/generated/ServantLocator.cpp +0 -75
- data/dist/ice/cpp/src/Ice/generated/ServantLocatorF.cpp +0 -61
- data/dist/ice/cpp/src/Ice/generated/ValueFactory.cpp +0 -83
- data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.cpp +0 -154
- data/dist/ice/cpp/src/Ice/ios/StreamAcceptor.h +0 -49
- data/dist/ice/cpp/src/Ice/ios/StreamConnector.cpp +0 -146
- data/dist/ice/cpp/src/Ice/ios/StreamConnector.h +0 -52
- data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.cpp +0 -477
- data/dist/ice/cpp/src/Ice/ios/StreamEndpointI.h +0 -156
- data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.cpp +0 -570
- data/dist/ice/cpp/src/Ice/ios/StreamTransceiver.h +0 -93
- data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery/IceDiscovery.h +0 -1889
- data/dist/ice/cpp/src/IceDiscovery/generated/IceDiscovery.cpp +0 -915
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery/IceLocatorDiscovery.h +0 -1197
- data/dist/ice/cpp/src/IceLocatorDiscovery/generated/IceLocatorDiscovery.cpp +0 -730
- data/dist/ice/cpp/src/IceSSL/AcceptorI.cpp +0 -105
- data/dist/ice/cpp/src/IceSSL/AcceptorI.h +0 -52
- data/dist/ice/cpp/src/IceSSL/CertificateI.cpp +0 -301
- data/dist/ice/cpp/src/IceSSL/CertificateI.h +0 -64
- data/dist/ice/cpp/src/IceSSL/ConnectorI.cpp +0 -102
- data/dist/ice/cpp/src/IceSSL/ConnectorI.h +0 -44
- data/dist/ice/cpp/src/IceSSL/EndpointI.cpp +0 -372
- data/dist/ice/cpp/src/IceSSL/EndpointI.h +0 -100
- data/dist/ice/cpp/src/IceSSL/Instance.cpp +0 -28
- data/dist/ice/cpp/src/IceSSL/Instance.h +0 -37
- data/dist/ice/cpp/src/IceSSL/InstanceF.h +0 -33
- data/dist/ice/cpp/src/IceSSL/OpenSSLCertificateI.cpp +0 -688
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +0 -1147
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -59
- data/dist/ice/cpp/src/IceSSL/OpenSSLEngineF.h +0 -27
- data/dist/ice/cpp/src/IceSSL/OpenSSLPluginI.cpp +0 -127
- data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +0 -1092
- data/dist/ice/cpp/src/IceSSL/OpenSSLTransceiverI.h +0 -90
- data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.cpp +0 -288
- data/dist/ice/cpp/src/IceSSL/OpenSSLUtil.h +0 -58
- data/dist/ice/cpp/src/IceSSL/PluginI.cpp +0 -246
- data/dist/ice/cpp/src/IceSSL/PluginI.h +0 -67
- data/dist/ice/cpp/src/IceSSL/RFC2253.h +0 -62
- data/dist/ice/cpp/src/IceSSL/SChannelCertificateI.cpp +0 -721
- data/dist/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -1283
- data/dist/ice/cpp/src/IceSSL/SChannelEngine.h +0 -123
- data/dist/ice/cpp/src/IceSSL/SChannelEngineF.h +0 -31
- data/dist/ice/cpp/src/IceSSL/SChannelPluginI.cpp +0 -73
- data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +0 -1174
- data/dist/ice/cpp/src/IceSSL/SChannelTransceiverI.h +0 -133
- data/dist/ice/cpp/src/IceSSL/SSLEngine.cpp +0 -313
- data/dist/ice/cpp/src/IceSSL/SSLEngine.h +0 -100
- data/dist/ice/cpp/src/IceSSL/SSLEngineF.h +0 -21
- data/dist/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +0 -999
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.cpp +0 -1308
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngine.h +0 -59
- data/dist/ice/cpp/src/IceSSL/SecureTransportEngineF.h +0 -29
- data/dist/ice/cpp/src/IceSSL/SecureTransportPluginI.cpp +0 -75
- data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +0 -719
- data/dist/ice/cpp/src/IceSSL/SecureTransportTransceiverI.h +0 -92
- data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +0 -868
- data/dist/ice/cpp/src/IceSSL/SecureTransportUtil.h +0 -45
- data/dist/ice/cpp/src/IceSSL/TrustManager.cpp +0 -236
- data/dist/ice/cpp/src/IceSSL/TrustManager.h +0 -46
- data/dist/ice/cpp/src/IceSSL/TrustManagerF.h +0 -21
- data/dist/ice/cpp/src/IceSSL/Util.cpp +0 -192
- data/dist/ice/cpp/src/IceSSL/Util.h +0 -99
- data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfo.cpp +0 -75
- data/dist/ice/cpp/src/IceSSL/generated/ConnectionInfoF.cpp +0 -61
- data/dist/ice/cpp/src/IceSSL/generated/EndpointInfo.cpp +0 -75
- data/dist/ice/cpp/src/IceUtil/ConvertUTF.cpp +0 -472
- data/dist/ice/cpp/src/IceUtil/ConvertUTF.h +0 -147
- data/dist/ice/cpp/src/IceUtil/CtrlCHandler.cpp +0 -259
- data/dist/ice/cpp/src/IceUtil/FileUtil.cpp +0 -471
- data/dist/ice/cpp/src/IceUtil/InputUtil.cpp +0 -36
- data/dist/ice/cpp/src/IceUtil/MutexProtocol.cpp +0 -19
- data/dist/ice/cpp/src/IceUtil/OutputUtil.cpp +0 -609
- data/dist/ice/cpp/src/IceUtil/Random.cpp +0 -180
- data/dist/ice/cpp/src/IceUtil/RecMutex.cpp +0 -238
- data/dist/ice/cpp/src/IceUtil/Shared.cpp +0 -71
- data/dist/ice/cpp/src/IceUtil/StringConverter.cpp +0 -690
- data/dist/ice/cpp/src/IceUtil/StringUtil.cpp +0 -1135
- data/dist/ice/cpp/src/IceUtil/ThreadException.cpp +0 -130
- data/dist/ice/cpp/src/IceUtil/Time.cpp +0 -307
- data/dist/ice/cpp/src/IceUtil/UUID.cpp +0 -165
- data/dist/ice/cpp/src/IceUtil/Unicode.cpp +0 -183
- data/dist/ice/cpp/src/IceUtil/Unicode.h +0 -43
- data/dist/ice/cpp/src/IceUtil/UtilException.cpp +0 -839
- data/dist/ice/cpp/src/Slice/CPlusPlusUtil.cpp +0 -1810
- data/dist/ice/cpp/src/Slice/CPlusPlusUtil.h +0 -72
- data/dist/ice/cpp/src/Slice/Checksum.cpp +0 -447
- data/dist/ice/cpp/src/Slice/Checksum.h +0 -21
- data/dist/ice/cpp/src/Slice/JavaUtil.cpp +0 -5183
- data/dist/ice/cpp/src/Slice/JavaUtil.h +0 -407
- data/dist/ice/cpp/src/Slice/MD5.cpp +0 -52
- data/dist/ice/cpp/src/Slice/MD5.h +0 -39
- data/dist/ice/cpp/src/Slice/MD5I.cpp +0 -393
- data/dist/ice/cpp/src/Slice/MD5I.h +0 -91
- data/dist/ice/cpp/src/Slice/PHPUtil.cpp +0 -157
- data/dist/ice/cpp/src/Slice/PHPUtil.h +0 -36
- data/dist/ice/cpp/src/Slice/Python.cpp +0 -830
- data/dist/ice/cpp/src/Slice/PythonUtil.cpp +0 -3439
- data/dist/ice/cpp/src/Slice/PythonUtil.h +0 -70
- data/dist/ice/cpp/src/Slice/Ruby.cpp +0 -350
- data/dist/ice/cpp/src/Slice/RubyUtil.cpp +0 -1571
- data/dist/ice/cpp/src/Slice/RubyUtil.h +0 -49
- data/dist/ice/slice/Glacier2/PermissionsVerifierF.ice +0 -30
- data/dist/ice/slice/Glacier2/RouterF.ice +0 -29
- data/dist/ice/slice/Ice/Communicator.ice +0 -676
- data/dist/ice/slice/Ice/CommunicatorF.ice +0 -31
- data/dist/ice/slice/Ice/Connection.ice +0 -516
- data/dist/ice/slice/Ice/ConnectionF.ice +0 -33
- data/dist/ice/slice/Ice/Current.ice +0 -170
- data/dist/ice/slice/Ice/Endpoint.ice +0 -291
- data/dist/ice/slice/Ice/EndpointF.ice +0 -43
- data/dist/ice/slice/Ice/FacetMap.ice +0 -36
- data/dist/ice/slice/Ice/ImplicitContext.ice +0 -119
- data/dist/ice/slice/Ice/ImplicitContextF.ice +0 -30
- data/dist/ice/slice/Ice/Instrumentation.ice +0 -509
- data/dist/ice/slice/Ice/InstrumentationF.ice +0 -38
- data/dist/ice/slice/Ice/LocalException.ice +0 -1040
- data/dist/ice/slice/Ice/LocatorF.ice +0 -32
- data/dist/ice/slice/Ice/Logger.ice +0 -99
- data/dist/ice/slice/Ice/LoggerF.ice +0 -31
- data/dist/ice/slice/Ice/ObjectAdapter.ice +0 -710
- data/dist/ice/slice/Ice/ObjectAdapterF.ice +0 -31
- data/dist/ice/slice/Ice/ObjectFactory.ice +0 -71
- data/dist/ice/slice/Ice/Plugin.ice +0 -131
- data/dist/ice/slice/Ice/PluginF.ice +0 -36
- data/dist/ice/slice/Ice/ProcessF.ice +0 -31
- data/dist/ice/slice/Ice/Properties.ice +0 -244
- data/dist/ice/slice/Ice/PropertiesF.ice +0 -32
- data/dist/ice/slice/Ice/RouterF.ice +0 -31
- data/dist/ice/slice/Ice/ServantLocator.ice +0 -136
- data/dist/ice/slice/Ice/ServantLocatorF.ice +0 -31
- data/dist/ice/slice/Ice/ValueFactory.ice +0 -133
- data/dist/ice/slice/IceBox/IceBox.ice +0 -216
- data/dist/ice/slice/IceGrid/PluginFacade.ice +0 -329
- data/dist/ice/slice/IcePatch2/FileInfo.ice +0 -85
- data/dist/ice/slice/IcePatch2/FileServer.ice +0 -191
- data/dist/lib/Glacier2/PermissionsVerifierF.rb +0 -30
- data/dist/lib/Glacier2/RouterF.rb +0 -25
- data/dist/lib/Ice/Communicator.rb +0 -87
- data/dist/lib/Ice/CommunicatorF.rb +0 -24
- data/dist/lib/Ice/Connection.rb +0 -413
- data/dist/lib/Ice/ConnectionF.rb +0 -32
- data/dist/lib/Ice/Current.rb +0 -141
- data/dist/lib/Ice/Endpoint.rb +0 -187
- data/dist/lib/Ice/EndpointF.rb +0 -48
- data/dist/lib/Ice/FacetMap.rb +0 -24
- data/dist/lib/Ice/ImplicitContext.rb +0 -26
- data/dist/lib/Ice/ImplicitContextF.rb +0 -24
- data/dist/lib/Ice/Instrumentation.rb +0 -169
- data/dist/lib/Ice/InstrumentationF.rb +0 -31
- data/dist/lib/Ice/LocalException.rb +0 -1031
- data/dist/lib/Ice/LocatorF.rb +0 -30
- data/dist/lib/Ice/Logger.rb +0 -24
- data/dist/lib/Ice/LoggerF.rb +0 -24
- data/dist/lib/Ice/ObjectAdapter.rb +0 -29
- data/dist/lib/Ice/ObjectAdapterF.rb +0 -24
- data/dist/lib/Ice/ObjectFactory.rb +0 -24
- data/dist/lib/Ice/Plugin.rb +0 -30
- data/dist/lib/Ice/PluginF.rb +0 -28
- data/dist/lib/Ice/ProcessF.rb +0 -25
- data/dist/lib/Ice/Properties.rb +0 -25
- data/dist/lib/Ice/PropertiesF.rb +0 -29
- data/dist/lib/Ice/RouterF.rb +0 -25
- data/dist/lib/Ice/ServantLocator.rb +0 -26
- data/dist/lib/Ice/ServantLocatorF.rb +0 -24
- data/dist/lib/Ice/ValueFactory.rb +0 -28
- data/dist/lib/IceBox/IceBox.rb +0 -164
- data/dist/lib/IceGrid/PluginFacade.rb +0 -35
- data/dist/lib/IcePatch2/FileInfo.rb +0 -115
- data/dist/lib/IcePatch2/FileServer.rb +0 -123
- data/dist/lib/IcePatch2.rb +0 -5
|
@@ -1,868 +1,512 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright (c) ZeroC, Inc. All rights reserved.
|
|
3
|
-
//
|
|
1
|
+
// Copyright (c) ZeroC, Inc.
|
|
4
2
|
|
|
5
3
|
#ifndef ICE_OUTGOING_ASYNC_H
|
|
6
4
|
#define ICE_OUTGOING_ASYNC_H
|
|
7
5
|
|
|
8
|
-
#include
|
|
9
|
-
#include
|
|
10
|
-
#include
|
|
11
|
-
#include
|
|
12
|
-
#include
|
|
13
|
-
#include
|
|
14
|
-
#include
|
|
15
|
-
#include
|
|
16
|
-
#include
|
|
17
|
-
#include
|
|
18
|
-
#include
|
|
19
|
-
|
|
20
|
-
#include <
|
|
21
|
-
|
|
22
|
-
#ifdef ICE_CPP11_MAPPING
|
|
23
|
-
# ifdef __clang__
|
|
24
|
-
# pragma clang diagnostic push
|
|
25
|
-
// See #2747
|
|
26
|
-
# pragma clang diagnostic ignored "-Wshadow-uncaptured-local"
|
|
27
|
-
# endif
|
|
28
|
-
#else
|
|
29
|
-
# include <Ice/AsyncResult.h>
|
|
30
|
-
#endif
|
|
31
|
-
|
|
6
|
+
#include "CommunicatorF.h"
|
|
7
|
+
#include "ConnectionF.h"
|
|
8
|
+
#include "ConnectionIF.h"
|
|
9
|
+
#include "InputStream.h"
|
|
10
|
+
#include "LocalExceptions.h"
|
|
11
|
+
#include "ObjectAdapterF.h"
|
|
12
|
+
#include "ObserverHelper.h"
|
|
13
|
+
#include "OutputStream.h"
|
|
14
|
+
#include "Proxy.h"
|
|
15
|
+
#include "RequestHandlerF.h"
|
|
16
|
+
#include "TimerTask.h"
|
|
17
|
+
|
|
18
|
+
#include <cassert>
|
|
32
19
|
#include <exception>
|
|
20
|
+
#include <string_view>
|
|
21
|
+
|
|
22
|
+
#if defined(_MSC_VER)
|
|
23
|
+
# pragma warning(push)
|
|
24
|
+
# pragma warning(disable : 4250) // ... : inherits ... via dominance
|
|
25
|
+
# pragma warning(disable : 4251) // class ... needs to have dll-interface to be used by clients of class ...
|
|
26
|
+
#elif defined(__clang__)
|
|
27
|
+
# pragma clang diagnostic push
|
|
28
|
+
// See #2747
|
|
29
|
+
# pragma clang diagnostic ignored "-Wshadow-uncaptured-local"
|
|
30
|
+
# pragma clang diagnostic ignored "-Wweak-vtables"
|
|
31
|
+
#endif
|
|
33
32
|
|
|
34
33
|
namespace IceInternal
|
|
35
34
|
{
|
|
35
|
+
class OutgoingAsyncBase;
|
|
36
|
+
class RetryException;
|
|
37
|
+
class CollocatedRequestHandler;
|
|
36
38
|
|
|
37
|
-
|
|
38
|
-
class CollocatedRequestHandler;
|
|
39
|
-
|
|
40
|
-
class ICE_API OutgoingAsyncCompletionCallback
|
|
41
|
-
{
|
|
42
|
-
public:
|
|
43
|
-
virtual ~OutgoingAsyncCompletionCallback();
|
|
44
|
-
|
|
45
|
-
protected:
|
|
46
|
-
|
|
47
|
-
virtual bool handleSent(bool, bool) = 0;
|
|
48
|
-
virtual bool handleException(const Ice::Exception&) = 0;
|
|
49
|
-
virtual bool handleResponse(bool) = 0;
|
|
50
|
-
|
|
51
|
-
virtual void handleInvokeSent(bool, OutgoingAsyncBase*) const = 0;
|
|
52
|
-
virtual void handleInvokeException(const Ice::Exception&, OutgoingAsyncBase*) const = 0;
|
|
53
|
-
virtual void handleInvokeResponse(bool, OutgoingAsyncBase*) const = 0;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
//
|
|
57
|
-
// Base class for handling asynchronous invocations. This class is
|
|
58
|
-
// responsible for the handling of the output stream and the child
|
|
59
|
-
// invocation observer.
|
|
60
|
-
//
|
|
61
|
-
class ICE_API OutgoingAsyncBase : public virtual OutgoingAsyncCompletionCallback,
|
|
62
|
-
#ifdef ICE_CPP11_MAPPING
|
|
63
|
-
public std::enable_shared_from_this<OutgoingAsyncBase>
|
|
64
|
-
#else
|
|
65
|
-
public Ice::AsyncResult
|
|
66
|
-
#endif
|
|
67
|
-
{
|
|
68
|
-
public:
|
|
69
|
-
|
|
70
|
-
virtual bool sent();
|
|
71
|
-
virtual bool exception(const Ice::Exception&);
|
|
72
|
-
virtual bool response();
|
|
73
|
-
|
|
74
|
-
void invokeSentAsync();
|
|
75
|
-
void invokeExceptionAsync();
|
|
76
|
-
void invokeResponseAsync();
|
|
77
|
-
|
|
78
|
-
void invokeSent();
|
|
79
|
-
void invokeException();
|
|
80
|
-
void invokeResponse();
|
|
81
|
-
|
|
82
|
-
virtual void cancelable(const IceInternal::CancellationHandlerPtr&);
|
|
83
|
-
void cancel();
|
|
84
|
-
|
|
85
|
-
#ifndef ICE_CPP11_MAPPING
|
|
86
|
-
virtual Ice::Int getHash() const;
|
|
87
|
-
|
|
88
|
-
virtual Ice::CommunicatorPtr getCommunicator() const;
|
|
89
|
-
virtual Ice::ConnectionPtr getConnection() const;
|
|
90
|
-
virtual Ice::ObjectPrx getProxy() const;
|
|
91
|
-
|
|
92
|
-
virtual Ice::LocalObjectPtr getCookie() const;
|
|
93
|
-
virtual const std::string& getOperation() const;
|
|
94
|
-
|
|
95
|
-
virtual bool isCompleted() const;
|
|
96
|
-
virtual void waitForCompleted();
|
|
97
|
-
|
|
98
|
-
virtual bool isSent() const;
|
|
99
|
-
virtual void waitForSent();
|
|
100
|
-
|
|
101
|
-
virtual bool sentSynchronously() const;
|
|
102
|
-
|
|
103
|
-
virtual void throwLocalException() const;
|
|
104
|
-
|
|
105
|
-
virtual bool _waitForResponse();
|
|
106
|
-
virtual Ice::InputStream* _startReadParams();
|
|
107
|
-
virtual void _endReadParams();
|
|
108
|
-
virtual void _readEmptyParams();
|
|
109
|
-
virtual void _readParamEncaps(const ::Ice::Byte*&, ::Ice::Int&);
|
|
110
|
-
virtual void _throwUserException();
|
|
111
|
-
|
|
112
|
-
virtual void _scheduleCallback(const CallbackPtr&);
|
|
113
|
-
#endif
|
|
114
|
-
|
|
115
|
-
void attachRemoteObserver(const Ice::ConnectionInfoPtr& c, const Ice::EndpointPtr& endpt, Ice::Int requestId)
|
|
116
|
-
{
|
|
117
|
-
const Ice::Int size = static_cast<Ice::Int>(_os.b.size() - headerSize - 4);
|
|
118
|
-
_childObserver.attach(getObserver().getRemoteObserver(c, endpt, requestId, size));
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
void attachCollocatedObserver(const Ice::ObjectAdapterPtr& adapter, Ice::Int requestId)
|
|
122
|
-
{
|
|
123
|
-
const Ice::Int size = static_cast<Ice::Int>(_os.b.size() - headerSize - 4);
|
|
124
|
-
_childObserver.attach(getObserver().getCollocatedObserver(adapter, requestId, size));
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
Ice::OutputStream* getOs()
|
|
39
|
+
enum AsyncStatus
|
|
128
40
|
{
|
|
129
|
-
|
|
130
|
-
|
|
41
|
+
AsyncStatusQueued = 0,
|
|
42
|
+
AsyncStatusSent = 1,
|
|
43
|
+
AsyncStatusInvokeSentCallback = 2
|
|
44
|
+
};
|
|
131
45
|
|
|
132
|
-
|
|
46
|
+
class ICE_API OutgoingAsyncCompletionCallback
|
|
133
47
|
{
|
|
134
|
-
|
|
135
|
-
|
|
48
|
+
public:
|
|
49
|
+
virtual ~OutgoingAsyncCompletionCallback();
|
|
136
50
|
|
|
137
|
-
protected:
|
|
51
|
+
protected:
|
|
52
|
+
// Returns true if handleInvokeSent handles sent callbacks.
|
|
53
|
+
virtual bool handleSent(bool done, bool alreadySent) noexcept = 0;
|
|
138
54
|
|
|
139
|
-
|
|
55
|
+
// Returns true if handleInvokeException handles exception callbacks.
|
|
56
|
+
virtual bool handleException(std::exception_ptr) noexcept = 0;
|
|
140
57
|
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
58
|
+
// Returns true if handleInvokeResponse handles response callbacks.
|
|
59
|
+
// This function can unmarshal the response and throw an exception.
|
|
60
|
+
virtual bool handleResponse(bool) = 0;
|
|
144
61
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
void warning() const;
|
|
62
|
+
virtual void handleInvokeSent(bool, OutgoingAsyncBase*) const = 0;
|
|
63
|
+
virtual void handleInvokeException(std::exception_ptr, OutgoingAsyncBase*) const = 0;
|
|
64
|
+
virtual void handleInvokeResponse(bool, OutgoingAsyncBase*) const = 0;
|
|
65
|
+
};
|
|
150
66
|
|
|
151
67
|
//
|
|
152
|
-
//
|
|
153
|
-
//
|
|
68
|
+
// Base class for handling asynchronous invocations. This class is
|
|
69
|
+
// responsible for the handling of the output stream and the child
|
|
70
|
+
// invocation observer.
|
|
154
71
|
//
|
|
155
|
-
virtual
|
|
72
|
+
class ICE_API OutgoingAsyncBase : public virtual OutgoingAsyncCompletionCallback,
|
|
73
|
+
public std::enable_shared_from_this<OutgoingAsyncBase>
|
|
156
74
|
{
|
|
157
|
-
|
|
158
|
-
|
|
75
|
+
public:
|
|
76
|
+
virtual bool sent();
|
|
77
|
+
virtual bool exception(std::exception_ptr);
|
|
78
|
+
virtual bool response();
|
|
159
79
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
bool _doneInSent;
|
|
164
|
-
unsigned char _state;
|
|
165
|
-
|
|
166
|
-
#ifdef ICE_CPP11_MAPPING
|
|
167
|
-
std::mutex _m;
|
|
168
|
-
using Lock = std::lock_guard<std::mutex>;
|
|
169
|
-
#else
|
|
170
|
-
IceUtil::Monitor<IceUtil::Mutex> _m;
|
|
171
|
-
typedef IceUtil::Monitor<IceUtil::Mutex>::Lock Lock;
|
|
172
|
-
Ice::LocalObjectPtr _cookie;
|
|
173
|
-
#endif
|
|
80
|
+
void invokeSentAsync();
|
|
81
|
+
void invokeExceptionAsync();
|
|
82
|
+
void invokeResponseAsync();
|
|
174
83
|
|
|
175
|
-
|
|
176
|
-
|
|
84
|
+
void invokeSent();
|
|
85
|
+
void invokeException();
|
|
86
|
+
void invokeResponse();
|
|
177
87
|
|
|
178
|
-
|
|
179
|
-
|
|
88
|
+
virtual void cancelable(const IceInternal::CancellationHandlerPtr&);
|
|
89
|
+
void cancel();
|
|
180
90
|
|
|
181
|
-
|
|
182
|
-
|
|
91
|
+
void
|
|
92
|
+
attachRemoteObserver(const Ice::ConnectionInfoPtr& c, const Ice::EndpointPtr& endpt, std::int32_t requestId);
|
|
183
93
|
|
|
184
|
-
|
|
94
|
+
void attachCollocatedObserver(const Ice::ObjectAdapterPtr& adapter, std::int32_t requestId);
|
|
185
95
|
|
|
186
|
-
|
|
187
|
-
static const unsigned char Sent;
|
|
188
|
-
#ifndef ICE_CPP11_MAPPING
|
|
189
|
-
static const unsigned char Done;
|
|
190
|
-
static const unsigned char EndCalled;
|
|
191
|
-
#endif
|
|
192
|
-
};
|
|
193
|
-
|
|
194
|
-
//
|
|
195
|
-
// Base class for proxy based invocations. This class handles the
|
|
196
|
-
// retry for proxy invocations. It also ensures the child observer is
|
|
197
|
-
// correct notified of failures and make sure the retry task is
|
|
198
|
-
// correctly canceled when the invocation completes.
|
|
199
|
-
//
|
|
200
|
-
class ICE_API ProxyOutgoingAsyncBase : public OutgoingAsyncBase,
|
|
201
|
-
public IceUtil::TimerTask
|
|
202
|
-
{
|
|
203
|
-
public:
|
|
96
|
+
Ice::OutputStream* getOs() { return &_os; }
|
|
204
97
|
|
|
205
|
-
|
|
206
|
-
virtual AsyncStatus invokeCollocated(CollocatedRequestHandler*) = 0;
|
|
98
|
+
Ice::InputStream* getIs() { return &_is; }
|
|
207
99
|
|
|
208
|
-
|
|
209
|
-
|
|
100
|
+
protected:
|
|
101
|
+
OutgoingAsyncBase(const InstancePtr&);
|
|
210
102
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
103
|
+
bool sentImpl(bool);
|
|
104
|
+
bool exceptionImpl(std::exception_ptr);
|
|
105
|
+
bool responseImpl(bool, bool);
|
|
214
106
|
|
|
215
|
-
|
|
216
|
-
std::shared_ptr<ProxyOutgoingAsyncBase> shared_from_this()
|
|
217
|
-
{
|
|
218
|
-
return std::static_pointer_cast<ProxyOutgoingAsyncBase>(OutgoingAsyncBase::shared_from_this());
|
|
219
|
-
}
|
|
220
|
-
#else
|
|
221
|
-
virtual Ice::ObjectPrx getProxy() const;
|
|
222
|
-
virtual Ice::CommunicatorPtr getCommunicator() const;
|
|
223
|
-
#endif
|
|
107
|
+
void cancel(std::exception_ptr);
|
|
224
108
|
|
|
225
|
-
|
|
109
|
+
void warning(std::string_view callbackName, std::exception_ptr eptr) const;
|
|
226
110
|
|
|
227
|
-
|
|
228
|
-
|
|
111
|
+
//
|
|
112
|
+
// This virtual method is necessary for the communicator flush
|
|
113
|
+
// batch requests implementation.
|
|
114
|
+
//
|
|
115
|
+
virtual IceInternal::InvocationObserver& getObserver() { return _observer; }
|
|
229
116
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
117
|
+
const InstancePtr _instance;
|
|
118
|
+
Ice::ConnectionPtr _cachedConnection;
|
|
119
|
+
bool _sentSynchronously{false};
|
|
120
|
+
bool _doneInSent{false};
|
|
121
|
+
unsigned char _state{0};
|
|
234
122
|
|
|
235
|
-
|
|
123
|
+
std::mutex _m;
|
|
124
|
+
using Lock = std::lock_guard<std::mutex>;
|
|
236
125
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
Ice::OperationMode _mode;
|
|
126
|
+
std::exception_ptr _ex;
|
|
127
|
+
std::exception_ptr _cancellationException;
|
|
240
128
|
|
|
241
|
-
|
|
129
|
+
InvocationObserver _observer;
|
|
130
|
+
ObserverHelperT<Ice::Instrumentation::ChildInvocationObserver> _childObserver;
|
|
242
131
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
};
|
|
132
|
+
Ice::OutputStream _os;
|
|
133
|
+
Ice::InputStream _is;
|
|
246
134
|
|
|
247
|
-
|
|
248
|
-
// Class for handling Slice operation invocations
|
|
249
|
-
//
|
|
250
|
-
class ICE_API OutgoingAsync : public ProxyOutgoingAsyncBase
|
|
251
|
-
{
|
|
252
|
-
public:
|
|
135
|
+
CancellationHandlerPtr _cancellationHandler;
|
|
253
136
|
|
|
254
|
-
|
|
137
|
+
static const unsigned char OK;
|
|
138
|
+
static const unsigned char Sent;
|
|
139
|
+
};
|
|
255
140
|
|
|
256
|
-
|
|
141
|
+
using OutgoingAsyncBasePtr = std::shared_ptr<OutgoingAsyncBase>;
|
|
257
142
|
|
|
258
|
-
|
|
259
|
-
|
|
143
|
+
//
|
|
144
|
+
// Base class for proxy based invocations. This class handles the
|
|
145
|
+
// retry for proxy invocations. It also ensures the child observer is
|
|
146
|
+
// correct notified of failures and make sure the retry task is
|
|
147
|
+
// correctly canceled when the invocation completes.
|
|
148
|
+
//
|
|
149
|
+
class ICE_API ProxyOutgoingAsyncBase : public OutgoingAsyncBase, public TimerTask
|
|
150
|
+
{
|
|
151
|
+
public:
|
|
152
|
+
virtual AsyncStatus invokeRemote(const Ice::ConnectionIPtr&, bool, bool) = 0;
|
|
153
|
+
virtual AsyncStatus invokeCollocated(CollocatedRequestHandler*) = 0;
|
|
260
154
|
|
|
261
|
-
|
|
262
|
-
virtual AsyncStatus invokeCollocated(CollocatedRequestHandler*);
|
|
155
|
+
bool exception(std::exception_ptr) override;
|
|
263
156
|
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
void invoke(const std::string&, Ice::OperationMode, Ice::FormatType, const Ice::Context&,
|
|
268
|
-
std::function<void(Ice::OutputStream*)>);
|
|
269
|
-
void throwUserException();
|
|
270
|
-
#endif
|
|
157
|
+
void retryException();
|
|
158
|
+
void retry();
|
|
159
|
+
void abort(std::exception_ptr);
|
|
271
160
|
|
|
272
|
-
|
|
273
|
-
{
|
|
274
|
-
_os.startEncapsulation(_encoding, format);
|
|
275
|
-
return &_os;
|
|
276
|
-
}
|
|
277
|
-
void endWriteParams()
|
|
278
|
-
{
|
|
279
|
-
_os.endEncapsulation();
|
|
280
|
-
}
|
|
281
|
-
void writeEmptyParams()
|
|
282
|
-
{
|
|
283
|
-
_os.writeEmptyEncapsulation(_encoding);
|
|
284
|
-
}
|
|
285
|
-
void writeParamEncaps(const ::Ice::Byte* encaps, ::Ice::Int size)
|
|
286
|
-
{
|
|
287
|
-
if(size == 0)
|
|
288
|
-
{
|
|
289
|
-
_os.writeEmptyEncapsulation(_encoding);
|
|
290
|
-
}
|
|
291
|
-
else
|
|
161
|
+
std::shared_ptr<ProxyOutgoingAsyncBase> shared_from_this()
|
|
292
162
|
{
|
|
293
|
-
|
|
163
|
+
return std::static_pointer_cast<ProxyOutgoingAsyncBase>(OutgoingAsyncBase::shared_from_this());
|
|
294
164
|
}
|
|
295
|
-
}
|
|
296
|
-
|
|
297
|
-
protected:
|
|
298
|
-
|
|
299
|
-
const Ice::EncodingVersion _encoding;
|
|
300
|
-
|
|
301
|
-
#ifdef ICE_CPP11_MAPPING
|
|
302
|
-
std::function<void(const ::Ice::UserException&)> _userException;
|
|
303
|
-
#endif
|
|
304
|
-
|
|
305
|
-
bool _synchronous;
|
|
306
|
-
};
|
|
307
|
-
|
|
308
|
-
}
|
|
309
|
-
|
|
310
|
-
namespace IceInternal
|
|
311
|
-
{
|
|
312
165
|
|
|
313
|
-
|
|
166
|
+
protected:
|
|
167
|
+
ProxyOutgoingAsyncBase(Ice::ObjectPrx);
|
|
168
|
+
~ProxyOutgoingAsyncBase() override;
|
|
314
169
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
LambdaInvoke(std::function<void(::std::exception_ptr)> exception, std::function<void(bool)> sent) :
|
|
320
|
-
_exception(std::move(exception)), _sent(std::move(sent))
|
|
321
|
-
{
|
|
322
|
-
}
|
|
170
|
+
void invokeImpl(bool);
|
|
171
|
+
bool sentImpl(bool);
|
|
172
|
+
bool exceptionImpl(std::exception_ptr);
|
|
173
|
+
bool responseImpl(bool, bool);
|
|
323
174
|
|
|
324
|
-
|
|
175
|
+
void runTimerTask() override;
|
|
325
176
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
177
|
+
const Ice::ObjectPrx _proxy;
|
|
178
|
+
RequestHandlerPtr _handler;
|
|
179
|
+
Ice::OperationMode _mode{Ice::OperationMode::Normal};
|
|
329
180
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
181
|
+
private:
|
|
182
|
+
int handleRetryAfterException(std::exception_ptr);
|
|
183
|
+
int checkRetryAfterException(std::exception_ptr);
|
|
333
184
|
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
};
|
|
185
|
+
int _cnt{0};
|
|
186
|
+
bool _sent{false};
|
|
187
|
+
};
|
|
338
188
|
|
|
339
|
-
|
|
340
|
-
class PromiseInvoke : public virtual OutgoingAsyncCompletionCallback
|
|
341
|
-
{
|
|
342
|
-
public:
|
|
189
|
+
using ProxyOutgoingAsyncBasePtr = std::shared_ptr<ProxyOutgoingAsyncBase>;
|
|
343
190
|
|
|
344
|
-
|
|
345
|
-
|
|
191
|
+
//
|
|
192
|
+
// Class for handling Slice operation invocations
|
|
193
|
+
//
|
|
194
|
+
class ICE_API OutgoingAsync : public ProxyOutgoingAsyncBase
|
|
346
195
|
{
|
|
347
|
-
|
|
348
|
-
|
|
196
|
+
public:
|
|
197
|
+
OutgoingAsync(Ice::ObjectPrx, bool);
|
|
349
198
|
|
|
350
|
-
|
|
199
|
+
void prepare(std::string_view operation, Ice::OperationMode mode, const Ice::Context& context);
|
|
351
200
|
|
|
352
|
-
|
|
353
|
-
|
|
201
|
+
bool sent() override;
|
|
202
|
+
bool response() override;
|
|
354
203
|
|
|
355
|
-
|
|
204
|
+
AsyncStatus invokeRemote(const Ice::ConnectionIPtr&, bool, bool) override;
|
|
205
|
+
AsyncStatus invokeCollocated(CollocatedRequestHandler*) override;
|
|
356
206
|
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
207
|
+
void abort(std::exception_ptr);
|
|
208
|
+
void invoke(std::string_view);
|
|
209
|
+
void invoke(
|
|
210
|
+
std::string_view,
|
|
211
|
+
Ice::OperationMode,
|
|
212
|
+
std::optional<Ice::FormatType>,
|
|
213
|
+
const Ice::Context&,
|
|
214
|
+
const std::function<void(Ice::OutputStream*)>&);
|
|
215
|
+
void throwUserException();
|
|
361
216
|
|
|
362
|
-
|
|
363
|
-
{
|
|
364
|
-
try
|
|
217
|
+
Ice::OutputStream* startWriteParams(std::optional<Ice::FormatType> format)
|
|
365
218
|
{
|
|
366
|
-
|
|
219
|
+
_os.startEncapsulation(_encoding, format);
|
|
220
|
+
return &_os;
|
|
367
221
|
}
|
|
368
|
-
|
|
222
|
+
void endWriteParams() { _os.endEncapsulation(); }
|
|
223
|
+
void writeEmptyParams() { _os.writeEmptyEncapsulation(_encoding); }
|
|
224
|
+
void writeParamEncaps(const std::byte* encaps, std::int32_t size)
|
|
369
225
|
{
|
|
370
|
-
|
|
226
|
+
if (size == 0)
|
|
227
|
+
{
|
|
228
|
+
_os.writeEmptyEncapsulation(_encoding);
|
|
229
|
+
}
|
|
230
|
+
else
|
|
231
|
+
{
|
|
232
|
+
_os.writeEncapsulation(encaps, size);
|
|
233
|
+
}
|
|
371
234
|
}
|
|
372
|
-
return false;
|
|
373
|
-
}
|
|
374
235
|
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
}
|
|
236
|
+
protected:
|
|
237
|
+
const Ice::EncodingVersion _encoding;
|
|
238
|
+
std::function<void(const Ice::UserException&)> _userException;
|
|
239
|
+
bool _synchronous;
|
|
240
|
+
};
|
|
380
241
|
|
|
381
|
-
|
|
382
|
-
{
|
|
383
|
-
assert(false);
|
|
384
|
-
}
|
|
242
|
+
using OutgoingAsyncPtr = std::shared_ptr<OutgoingAsync>;
|
|
385
243
|
|
|
386
|
-
|
|
244
|
+
class ICE_API LambdaInvoke : public virtual OutgoingAsyncCompletionCallback
|
|
387
245
|
{
|
|
388
|
-
|
|
389
|
-
|
|
246
|
+
public:
|
|
247
|
+
LambdaInvoke(std::function<void(std::exception_ptr)> exception, std::function<void(bool)> sent)
|
|
248
|
+
: _exception(std::move(exception)),
|
|
249
|
+
_sent(std::move(sent))
|
|
250
|
+
{
|
|
251
|
+
}
|
|
390
252
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
};
|
|
253
|
+
protected:
|
|
254
|
+
bool handleSent(bool, bool) noexcept final;
|
|
255
|
+
bool handleException(std::exception_ptr) noexcept final;
|
|
256
|
+
bool handleResponse(bool) final;
|
|
396
257
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
public:
|
|
258
|
+
void handleInvokeSent(bool, OutgoingAsyncBase*) const final;
|
|
259
|
+
void handleInvokeException(std::exception_ptr, OutgoingAsyncBase*) const final;
|
|
260
|
+
void handleInvokeResponse(bool, OutgoingAsyncBase*) const final;
|
|
401
261
|
|
|
402
|
-
|
|
262
|
+
std::function<void(std::exception_ptr)> _exception;
|
|
263
|
+
std::function<void(bool)> _sent;
|
|
264
|
+
std::function<void(bool)> _response;
|
|
265
|
+
};
|
|
403
266
|
|
|
404
|
-
|
|
405
|
-
invoke(const std::string& operation,
|
|
406
|
-
Ice::OperationMode mode,
|
|
407
|
-
Ice::FormatType format,
|
|
408
|
-
const Ice::Context& ctx,
|
|
409
|
-
std::function<void(Ice::OutputStream*)> write,
|
|
410
|
-
std::function<void(const Ice::UserException&)> userException)
|
|
267
|
+
template<typename R> class PromiseInvoke : public virtual OutgoingAsyncCompletionCallback
|
|
411
268
|
{
|
|
412
|
-
|
|
269
|
+
public:
|
|
270
|
+
[[nodiscard]] std::future<R> getFuture() { return _promise.get_future(); }
|
|
271
|
+
|
|
272
|
+
protected:
|
|
273
|
+
bool handleSent(bool, bool) noexcept override { return false; }
|
|
274
|
+
|
|
275
|
+
bool handleException(std::exception_ptr ex) noexcept final
|
|
413
276
|
{
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
};
|
|
418
|
-
_userException = std::move(userException);
|
|
419
|
-
OutgoingAsync::invoke(operation, mode, format, ctx, std::move(write));
|
|
420
|
-
}
|
|
277
|
+
_promise.set_exception(ex);
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
421
280
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
std::function<void(Ice::OutputStream*)> write,
|
|
428
|
-
std::function<void(const Ice::UserException&)> userException,
|
|
429
|
-
std::function<T(Ice::InputStream*)> read)
|
|
430
|
-
{
|
|
431
|
-
_read = std::move(read);
|
|
432
|
-
_userException = std::move(userException);
|
|
433
|
-
OutgoingAsync::invoke(operation, mode, format, ctx, std::move(write));
|
|
434
|
-
}
|
|
281
|
+
bool handleResponse(bool ok) final
|
|
282
|
+
{
|
|
283
|
+
_response(ok);
|
|
284
|
+
return false;
|
|
285
|
+
}
|
|
435
286
|
|
|
436
|
-
|
|
287
|
+
void handleInvokeSent(bool, OutgoingAsyncBase*) const final { assert(false); }
|
|
437
288
|
|
|
438
|
-
|
|
439
|
-
};
|
|
289
|
+
void handleInvokeException(std::exception_ptr, OutgoingAsyncBase*) const final { assert(false); }
|
|
440
290
|
|
|
441
|
-
|
|
442
|
-
class OutgoingAsyncT<void> : public OutgoingAsync
|
|
443
|
-
{
|
|
444
|
-
public:
|
|
291
|
+
void handleInvokeResponse(bool, OutgoingAsyncBase*) const final { assert(false); }
|
|
445
292
|
|
|
446
|
-
|
|
293
|
+
std::promise<R> _promise;
|
|
294
|
+
std::function<void(bool)> _response;
|
|
295
|
+
};
|
|
447
296
|
|
|
448
|
-
|
|
449
|
-
invoke(const std::string& operation,
|
|
450
|
-
Ice::OperationMode mode,
|
|
451
|
-
Ice::FormatType format,
|
|
452
|
-
const Ice::Context& ctx,
|
|
453
|
-
std::function<void(Ice::OutputStream*)> write,
|
|
454
|
-
std::function<void(const Ice::UserException&)> userException)
|
|
297
|
+
template<typename T> class OutgoingAsyncT : public OutgoingAsync
|
|
455
298
|
{
|
|
456
|
-
|
|
457
|
-
OutgoingAsync::
|
|
458
|
-
}
|
|
459
|
-
};
|
|
299
|
+
public:
|
|
300
|
+
using OutgoingAsync::OutgoingAsync;
|
|
460
301
|
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
302
|
+
void invoke(
|
|
303
|
+
std::string_view operation,
|
|
304
|
+
Ice::OperationMode mode,
|
|
305
|
+
std::optional<Ice::FormatType> format,
|
|
306
|
+
const Ice::Context& ctx,
|
|
307
|
+
const std::function<void(Ice::OutputStream*)>& write,
|
|
308
|
+
std::function<void(const Ice::UserException&)> userException)
|
|
309
|
+
{
|
|
310
|
+
_read = [](Ice::InputStream* stream)
|
|
311
|
+
{
|
|
312
|
+
T v{};
|
|
313
|
+
stream->read(v);
|
|
314
|
+
return v;
|
|
315
|
+
};
|
|
316
|
+
_userException = std::move(userException);
|
|
317
|
+
OutgoingAsync::invoke(operation, mode, format, ctx, write);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
void invoke(
|
|
321
|
+
std::string_view operation,
|
|
322
|
+
Ice::OperationMode mode,
|
|
323
|
+
std::optional<Ice::FormatType> format,
|
|
324
|
+
const Ice::Context& ctx,
|
|
325
|
+
const std::function<void(Ice::OutputStream*)>& write,
|
|
326
|
+
std::function<void(const Ice::UserException&)> userException,
|
|
327
|
+
std::function<T(Ice::InputStream*)> read)
|
|
328
|
+
{
|
|
329
|
+
_read = std::move(read);
|
|
330
|
+
_userException = std::move(userException);
|
|
331
|
+
OutgoingAsync::invoke(operation, mode, format, ctx, write);
|
|
332
|
+
}
|
|
465
333
|
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
334
|
+
protected:
|
|
335
|
+
std::function<T(Ice::InputStream*)> _read;
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
template<> class OutgoingAsyncT<void> : public OutgoingAsync
|
|
471
339
|
{
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
340
|
+
public:
|
|
341
|
+
using OutgoingAsync::OutgoingAsync;
|
|
342
|
+
|
|
343
|
+
void invoke(
|
|
344
|
+
std::string_view operation,
|
|
345
|
+
Ice::OperationMode mode,
|
|
346
|
+
std::optional<Ice::FormatType> format,
|
|
347
|
+
const Ice::Context& ctx,
|
|
348
|
+
const std::function<void(Ice::OutputStream*)>& write,
|
|
349
|
+
std::function<void(const Ice::UserException&)> userException)
|
|
478
350
|
{
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
351
|
+
_userException = std::move(userException);
|
|
352
|
+
OutgoingAsync::invoke(operation, mode, format, ctx, write);
|
|
353
|
+
}
|
|
354
|
+
};
|
|
355
|
+
|
|
356
|
+
template<typename R> class LambdaOutgoing : public OutgoingAsyncT<R>, public LambdaInvoke
|
|
357
|
+
{
|
|
358
|
+
public:
|
|
359
|
+
LambdaOutgoing(
|
|
360
|
+
Ice::ObjectPrx proxy,
|
|
361
|
+
std::function<void(R)> response,
|
|
362
|
+
std::function<void(std::exception_ptr)> ex,
|
|
363
|
+
std::function<void(bool)> sent)
|
|
364
|
+
: OutgoingAsyncT<R>(std::move(proxy), false),
|
|
365
|
+
LambdaInvoke(std::move(ex), std::move(sent))
|
|
366
|
+
{
|
|
367
|
+
_response = [this, response = std::move(response)](bool ok)
|
|
484
368
|
{
|
|
485
|
-
|
|
486
|
-
this->_is.startEncapsulation();
|
|
487
|
-
R v = this->_read(&this->_is);
|
|
488
|
-
this->_is.endEncapsulation();
|
|
489
|
-
try
|
|
369
|
+
if (!ok)
|
|
490
370
|
{
|
|
491
|
-
|
|
371
|
+
this->throwUserException();
|
|
492
372
|
}
|
|
493
|
-
|
|
373
|
+
else if (response)
|
|
494
374
|
{
|
|
495
|
-
|
|
375
|
+
assert(this->_read);
|
|
376
|
+
this->_is.startEncapsulation();
|
|
377
|
+
R v = this->_read(&this->_is);
|
|
378
|
+
this->_is.endEncapsulation();
|
|
379
|
+
try
|
|
380
|
+
{
|
|
381
|
+
response(std::move(v));
|
|
382
|
+
}
|
|
383
|
+
catch (...)
|
|
384
|
+
{
|
|
385
|
+
this->warning("response", std::current_exception());
|
|
386
|
+
}
|
|
496
387
|
}
|
|
497
|
-
}
|
|
498
|
-
}
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
OutgoingAsyncT<void>(proxy, false), LambdaInvoke(std::move(ex), std::move(sent))
|
|
512
|
-
{
|
|
513
|
-
#if ICE_CPLUSPLUS >= 201402L
|
|
514
|
-
// Move capture with C++14
|
|
515
|
-
_response = [this, response = std::move(response)](bool ok)
|
|
516
|
-
#else
|
|
517
|
-
_response = [this, response](bool ok)
|
|
518
|
-
#endif
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
};
|
|
391
|
+
|
|
392
|
+
template<> class LambdaOutgoing<void> : public OutgoingAsyncT<void>, public LambdaInvoke
|
|
393
|
+
{
|
|
394
|
+
public:
|
|
395
|
+
LambdaOutgoing(
|
|
396
|
+
Ice::ObjectPrx proxy,
|
|
397
|
+
std::function<void()> response,
|
|
398
|
+
std::function<void(std::exception_ptr)> ex,
|
|
399
|
+
std::function<void(bool)> sent)
|
|
400
|
+
: OutgoingAsyncT<void>(std::move(proxy), false),
|
|
401
|
+
LambdaInvoke(std::move(ex), std::move(sent))
|
|
519
402
|
{
|
|
520
|
-
|
|
403
|
+
_response = [this, response = std::move(response)](bool ok)
|
|
521
404
|
{
|
|
522
|
-
|
|
523
|
-
}
|
|
524
|
-
else if(response)
|
|
525
|
-
{
|
|
526
|
-
if(!this->_is.b.empty())
|
|
405
|
+
if (!ok)
|
|
527
406
|
{
|
|
528
|
-
this->
|
|
407
|
+
this->throwUserException();
|
|
529
408
|
}
|
|
530
|
-
|
|
531
|
-
try
|
|
409
|
+
else if (response)
|
|
532
410
|
{
|
|
533
|
-
|
|
411
|
+
if (!this->_is.b.empty())
|
|
412
|
+
{
|
|
413
|
+
this->_is.skipEmptyEncapsulation();
|
|
414
|
+
}
|
|
415
|
+
try
|
|
416
|
+
{
|
|
417
|
+
response();
|
|
418
|
+
}
|
|
419
|
+
catch (...)
|
|
420
|
+
{
|
|
421
|
+
this->warning("response", std::current_exception());
|
|
422
|
+
}
|
|
534
423
|
}
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
}
|
|
539
|
-
}
|
|
540
|
-
};
|
|
541
|
-
}
|
|
542
|
-
};
|
|
543
|
-
|
|
544
|
-
class CustomLambdaOutgoing : public OutgoingAsync, public LambdaInvoke
|
|
545
|
-
{
|
|
546
|
-
public:
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
};
|
|
547
427
|
|
|
548
|
-
|
|
549
|
-
std::function<void(Ice::InputStream*)> read,
|
|
550
|
-
std::function<void(::std::exception_ptr)> ex,
|
|
551
|
-
std::function<void(bool)> sent) :
|
|
552
|
-
OutgoingAsync(proxy, false), LambdaInvoke(std::move(ex), std::move(sent))
|
|
428
|
+
template<typename R> class PromiseOutgoing : public OutgoingAsyncT<R>, public PromiseInvoke<R>
|
|
553
429
|
{
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
_response = [this, read = std::move(read)](bool ok)
|
|
557
|
-
#else
|
|
558
|
-
_response = [this, read](bool ok)
|
|
559
|
-
#endif
|
|
430
|
+
public:
|
|
431
|
+
PromiseOutgoing(Ice::ObjectPrx proxy, bool sync) : OutgoingAsyncT<R>(std::move(proxy), sync)
|
|
560
432
|
{
|
|
561
|
-
|
|
433
|
+
this->_response = [this](bool ok)
|
|
562
434
|
{
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
Ice::FormatType format,
|
|
579
|
-
const Ice::Context& ctx,
|
|
580
|
-
std::function<void(Ice::OutputStream*)> write,
|
|
581
|
-
std::function<void(const Ice::UserException&)> userException)
|
|
582
|
-
{
|
|
583
|
-
_userException = std::move(userException);
|
|
584
|
-
OutgoingAsync::invoke(operation, mode, format, ctx, std::move(write));
|
|
585
|
-
}
|
|
586
|
-
};
|
|
587
|
-
|
|
588
|
-
template<typename P, typename R>
|
|
589
|
-
class PromiseOutgoing : public OutgoingAsyncT<R>, public PromiseInvoke<P>
|
|
590
|
-
{
|
|
591
|
-
public:
|
|
435
|
+
if (ok)
|
|
436
|
+
{
|
|
437
|
+
assert(this->_read);
|
|
438
|
+
this->_is.startEncapsulation();
|
|
439
|
+
R v = this->_read(&this->_is);
|
|
440
|
+
this->_is.endEncapsulation();
|
|
441
|
+
this->_promise.set_value(std::move(v));
|
|
442
|
+
}
|
|
443
|
+
else
|
|
444
|
+
{
|
|
445
|
+
this->throwUserException();
|
|
446
|
+
}
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
};
|
|
592
450
|
|
|
593
|
-
PromiseOutgoing
|
|
594
|
-
OutgoingAsyncT<R>(proxy, sync)
|
|
451
|
+
template<> class PromiseOutgoing<void> : public OutgoingAsyncT<void>, public PromiseInvoke<void>
|
|
595
452
|
{
|
|
596
|
-
|
|
453
|
+
public:
|
|
454
|
+
PromiseOutgoing(Ice::ObjectPrx proxy, bool sync) : OutgoingAsyncT<void>(std::move(proxy), sync)
|
|
597
455
|
{
|
|
598
|
-
|
|
599
|
-
{
|
|
600
|
-
assert(this->_read);
|
|
601
|
-
this->_is.startEncapsulation();
|
|
602
|
-
R v = this->_read(&this->_is);
|
|
603
|
-
this->_is.endEncapsulation();
|
|
604
|
-
this->_promise.set_value(std::move(v));
|
|
605
|
-
}
|
|
606
|
-
else
|
|
456
|
+
this->_response = [&](bool ok)
|
|
607
457
|
{
|
|
608
|
-
this->
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
458
|
+
if (this->_is.b.empty())
|
|
459
|
+
{
|
|
460
|
+
//
|
|
461
|
+
// If there's no response (oneway, batch-oneway proxies), we just set the promise
|
|
462
|
+
// on completion without reading anything from the input stream. This is required for
|
|
463
|
+
// batch invocations.
|
|
464
|
+
//
|
|
465
|
+
this->_promise.set_value();
|
|
466
|
+
}
|
|
467
|
+
else if (ok)
|
|
468
|
+
{
|
|
469
|
+
this->_is.skipEmptyEncapsulation();
|
|
470
|
+
this->_promise.set_value();
|
|
471
|
+
}
|
|
472
|
+
else
|
|
473
|
+
{
|
|
474
|
+
this->throwUserException();
|
|
475
|
+
}
|
|
476
|
+
};
|
|
477
|
+
}
|
|
618
478
|
|
|
619
|
-
|
|
620
|
-
OutgoingAsyncT<void>(proxy, sync)
|
|
621
|
-
{
|
|
622
|
-
this->_response = [&](bool ok)
|
|
479
|
+
bool handleSent(bool done, bool) noexcept final
|
|
623
480
|
{
|
|
624
|
-
if(
|
|
625
|
-
{
|
|
626
|
-
//
|
|
627
|
-
// If there's no response (oneway, batch-oneway proxies), we just set the promise
|
|
628
|
-
// on completion without reading anything from the input stream. This is required for
|
|
629
|
-
// batch invocations.
|
|
630
|
-
//
|
|
631
|
-
this->_promise.set_value();
|
|
632
|
-
}
|
|
633
|
-
else if(ok)
|
|
481
|
+
if (done)
|
|
634
482
|
{
|
|
635
|
-
|
|
636
|
-
this->_promise.set_value();
|
|
483
|
+
PromiseInvoke<void>::_promise.set_value();
|
|
637
484
|
}
|
|
638
|
-
|
|
639
|
-
{
|
|
640
|
-
this->throwUserException();
|
|
641
|
-
}
|
|
642
|
-
};
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
virtual bool handleSent(bool done, bool) override
|
|
646
|
-
{
|
|
647
|
-
if(done)
|
|
648
|
-
{
|
|
649
|
-
PromiseInvoke<P>::_promise.set_value();
|
|
485
|
+
return false;
|
|
650
486
|
}
|
|
651
|
-
|
|
652
|
-
}
|
|
653
|
-
};
|
|
487
|
+
};
|
|
654
488
|
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
//
|
|
658
|
-
// Base class for all callbacks.
|
|
659
|
-
//
|
|
660
|
-
class ICE_API CallbackBase : public IceUtil::Shared
|
|
661
|
-
{
|
|
662
|
-
public:
|
|
663
|
-
|
|
664
|
-
virtual ~CallbackBase();
|
|
665
|
-
|
|
666
|
-
void checkCallback(bool, bool);
|
|
667
|
-
|
|
668
|
-
virtual void completed(const ::Ice::AsyncResultPtr&) const = 0;
|
|
669
|
-
virtual IceUtil::Handle<CallbackBase> verify(const ::Ice::LocalObjectPtr&) = 0;
|
|
670
|
-
virtual void sent(const ::Ice::AsyncResultPtr&) const = 0;
|
|
671
|
-
virtual bool hasSentCallback() const = 0;
|
|
672
|
-
};
|
|
673
|
-
typedef IceUtil::Handle<CallbackBase> CallbackBasePtr;
|
|
674
|
-
|
|
675
|
-
//
|
|
676
|
-
// Base class for generic callbacks.
|
|
677
|
-
//
|
|
678
|
-
class ICE_API GenericCallbackBase : public virtual CallbackBase
|
|
679
|
-
{
|
|
680
|
-
public:
|
|
681
|
-
|
|
682
|
-
virtual ~GenericCallbackBase();
|
|
683
|
-
};
|
|
684
|
-
|
|
685
|
-
//
|
|
686
|
-
// See comments in OutgoingAsync.cpp
|
|
687
|
-
//
|
|
688
|
-
extern ICE_API CallbackBasePtr dummyCallback ICE_GLOBAL_VAR_SUFFIX;
|
|
689
|
-
|
|
690
|
-
//
|
|
691
|
-
// Generic callback template that requires the caller to down-cast the
|
|
692
|
-
// proxy and the cookie that are obtained from the AsyncResult.
|
|
693
|
-
//
|
|
694
|
-
template<class T>
|
|
695
|
-
class AsyncCallback : public GenericCallbackBase
|
|
696
|
-
{
|
|
697
|
-
public:
|
|
698
|
-
|
|
699
|
-
typedef T callback_type;
|
|
700
|
-
typedef IceUtil::Handle<T> TPtr;
|
|
701
|
-
|
|
702
|
-
typedef void (T::*Callback)(const ::Ice::AsyncResultPtr&);
|
|
703
|
-
|
|
704
|
-
AsyncCallback(const TPtr& instance, Callback cb, Callback sentcb = 0) :
|
|
705
|
-
_callback(instance), _completed(cb), _sent(sentcb)
|
|
489
|
+
template<typename R, typename Obj, typename Fn, typename... Args>
|
|
490
|
+
[[nodiscard]] inline std::future<R> makePromiseOutgoing(bool sync, Obj obj, Fn fn, Args&&... args)
|
|
706
491
|
{
|
|
707
|
-
|
|
492
|
+
auto outAsync = std::make_shared<PromiseOutgoing<R>>(*obj, sync);
|
|
493
|
+
(obj->*fn)(outAsync, std::forward<Args>(args)...);
|
|
494
|
+
return outAsync->getFuture();
|
|
708
495
|
}
|
|
709
496
|
|
|
710
|
-
|
|
497
|
+
template<typename R, typename Re, typename E, typename S, typename Obj, typename Fn, typename... Args>
|
|
498
|
+
[[nodiscard]] inline std::function<void()> makeLambdaOutgoing(Re r, E e, S s, Obj obj, Fn fn, Args&&... args)
|
|
711
499
|
{
|
|
712
|
-
(
|
|
500
|
+
auto outAsync = std::make_shared<LambdaOutgoing<R>>(*obj, std::move(r), std::move(e), std::move(s));
|
|
501
|
+
(obj->*fn)(outAsync, std::forward<Args>(args)...);
|
|
502
|
+
return [outAsync]() { outAsync->cancel(); };
|
|
713
503
|
}
|
|
714
|
-
|
|
715
|
-
virtual CallbackBasePtr verify(const ::Ice::LocalObjectPtr&)
|
|
716
|
-
{
|
|
717
|
-
return this; // Nothing to do, the cookie is not type-safe.
|
|
718
|
-
}
|
|
719
|
-
|
|
720
|
-
virtual void sent(const ::Ice::AsyncResultPtr& result) const
|
|
721
|
-
{
|
|
722
|
-
if(_sent)
|
|
723
|
-
{
|
|
724
|
-
(_callback.get()->*_sent)(result);
|
|
725
|
-
}
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
virtual bool hasSentCallback() const
|
|
729
|
-
{
|
|
730
|
-
return _sent != 0;
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
private:
|
|
734
|
-
|
|
735
|
-
TPtr _callback;
|
|
736
|
-
Callback _completed;
|
|
737
|
-
Callback _sent;
|
|
738
|
-
};
|
|
739
|
-
|
|
740
|
-
class CallbackCompletion : public virtual OutgoingAsyncCompletionCallback
|
|
741
|
-
{
|
|
742
|
-
public:
|
|
743
|
-
|
|
744
|
-
CallbackCompletion(const CallbackBasePtr& cb, const Ice::LocalObjectPtr& cookie) : _callback(cb)
|
|
745
|
-
{
|
|
746
|
-
if(!_callback)
|
|
747
|
-
{
|
|
748
|
-
throw IceUtil::IllegalArgumentException(__FILE__, __LINE__);
|
|
749
|
-
}
|
|
750
|
-
const_cast<CallbackBasePtr&>(_callback) = _callback->verify(cookie);
|
|
751
|
-
}
|
|
752
|
-
|
|
753
|
-
virtual bool handleSent(bool, bool alreadySent)
|
|
754
|
-
{
|
|
755
|
-
return _callback && _callback->hasSentCallback() && !alreadySent;
|
|
756
|
-
}
|
|
757
|
-
|
|
758
|
-
virtual bool handleException(const Ice::Exception&)
|
|
759
|
-
{
|
|
760
|
-
return _callback;
|
|
761
|
-
}
|
|
762
|
-
|
|
763
|
-
virtual bool handleResponse(bool)
|
|
764
|
-
{
|
|
765
|
-
return _callback;
|
|
766
|
-
}
|
|
767
|
-
|
|
768
|
-
virtual void handleInvokeSent(bool, OutgoingAsyncBase* outAsync) const
|
|
769
|
-
{
|
|
770
|
-
_callback->sent(outAsync);
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
virtual void handleInvokeException(const Ice::Exception&, OutgoingAsyncBase* outAsync) const
|
|
774
|
-
{
|
|
775
|
-
_callback->completed(outAsync);
|
|
776
|
-
}
|
|
777
|
-
|
|
778
|
-
virtual void handleInvokeResponse(bool, OutgoingAsyncBase* outAsync) const
|
|
779
|
-
{
|
|
780
|
-
_callback->completed(outAsync);
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
private:
|
|
784
|
-
|
|
785
|
-
const CallbackBasePtr _callback;
|
|
786
|
-
};
|
|
787
|
-
|
|
788
|
-
class CallbackOutgoing : public OutgoingAsync, public CallbackCompletion
|
|
789
|
-
{
|
|
790
|
-
public:
|
|
791
|
-
|
|
792
|
-
CallbackOutgoing(const Ice::ObjectPrx& proxy,
|
|
793
|
-
const std::string& operation,
|
|
794
|
-
const CallbackBasePtr& cb,
|
|
795
|
-
const Ice::LocalObjectPtr& cookie,
|
|
796
|
-
bool sync) :
|
|
797
|
-
OutgoingAsync(proxy, sync), CallbackCompletion(cb, cookie), _operation(operation)
|
|
798
|
-
{
|
|
799
|
-
_cookie = cookie;
|
|
800
|
-
}
|
|
801
|
-
|
|
802
|
-
virtual const std::string&
|
|
803
|
-
getOperation() const
|
|
804
|
-
{
|
|
805
|
-
return _operation;
|
|
806
|
-
}
|
|
807
|
-
|
|
808
|
-
private:
|
|
809
|
-
|
|
810
|
-
const std::string& _operation;
|
|
811
|
-
};
|
|
812
|
-
|
|
813
|
-
#endif
|
|
814
|
-
|
|
815
|
-
}
|
|
816
|
-
|
|
817
|
-
#ifndef ICE_CPP11_MAPPING
|
|
818
|
-
|
|
819
|
-
namespace Ice
|
|
820
|
-
{
|
|
821
|
-
|
|
822
|
-
typedef IceUtil::Handle< ::IceInternal::GenericCallbackBase> CallbackPtr;
|
|
823
|
-
|
|
824
|
-
/**
|
|
825
|
-
* Creates a callback wrapper instance that delegates to your object.
|
|
826
|
-
* @param instance The callback object.
|
|
827
|
-
* @param cb The completion callback.
|
|
828
|
-
* @param sentcb The sent callback.
|
|
829
|
-
* @return A callback object that can be passed to an asynchronous invocation.
|
|
830
|
-
*/
|
|
831
|
-
template<class T> CallbackPtr
|
|
832
|
-
newCallback(const IceUtil::Handle<T>& instance,
|
|
833
|
-
void (T::*cb)(const AsyncResultPtr&),
|
|
834
|
-
void (T::*sentcb)(const AsyncResultPtr&) = 0)
|
|
835
|
-
{
|
|
836
|
-
return new ::IceInternal::AsyncCallback<T>(instance, cb, sentcb);
|
|
837
504
|
}
|
|
838
505
|
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
* @param sentcb The sent callback.
|
|
844
|
-
* @return A callback object that can be passed to an asynchronous invocation.
|
|
845
|
-
*/
|
|
846
|
-
template<class T> CallbackPtr
|
|
847
|
-
newCallback(T* instance,
|
|
848
|
-
void (T::*cb)(const AsyncResultPtr&),
|
|
849
|
-
void (T::*sentcb)(const AsyncResultPtr&) = 0)
|
|
850
|
-
{
|
|
851
|
-
return new ::IceInternal::AsyncCallback<T>(instance, cb, sentcb);
|
|
852
|
-
}
|
|
853
|
-
|
|
854
|
-
}
|
|
855
|
-
|
|
856
|
-
//
|
|
857
|
-
// Operation callbacks are specified in Proxy.h
|
|
858
|
-
//
|
|
859
|
-
|
|
860
|
-
#endif
|
|
861
|
-
|
|
862
|
-
#ifdef ICE_CPP11_MAPPING
|
|
863
|
-
# ifdef __clang__
|
|
864
|
-
# pragma clang diagnostic pop
|
|
865
|
-
# endif
|
|
506
|
+
#if defined(_MSC_VER)
|
|
507
|
+
# pragma warning(pop)
|
|
508
|
+
#elif defined(__clang__)
|
|
509
|
+
# pragma clang diagnostic pop
|
|
866
510
|
#endif
|
|
867
511
|
|
|
868
512
|
#endif
|