Ice 3.9
C++ API Reference
Loading...
Searching...
No Matches

◆ ice_invokeAsync() [2/4]

std::function< void()> Ice::ObjectPrx::ice_invokeAsync ( std::string_view operation,
Ice::OperationMode mode,
const std::vector< std::byte > & inParams,
std::function< void(bool, std::vector< std::byte >)> response,
std::function< void(std::exception_ptr)> ex = nullptr,
std::function< void(bool)> sent = nullptr,
const Ice::Context & context = Ice::noExplicitContext ) const

Invokes an operation asynchronously.

Parameters
operationThe name of the operation to invoke.
modeThe operation mode (normal or idempotent).
inParamsAn encapsulation containing the encoded in-parameters for the operation.
responseThe response callback. The Ice runtime calls this function from an Ice thread pool thread. If you set InitializationData::executor, the executor determines the thread that executes this function. It accepts:
  • returnValue true if the operation completed successfully, false if it completed with a user exception.
  • outParams An encapsulation containing the encoded result.
exThe exception callback. The Ice runtime calls this function from an Ice thread pool thread. If you set InitializationData::executor, the executor determines the thread that executes this function.
sentThe sent callback. The Ice runtime calls this function when the request is accepted by the transport. When the request is accepted synchronously, the Ice runtime calls this function from the current thread and passes true as argument. When the request is accepted asynchronously, the Ice runtime calls this function from an Ice thread pool thread and passes false as argument. If you set InitializationData::executor, the executor determines the thread that executes this function in the asynchronous case.
contextThe request context.
Returns
A function that can be called to cancel the invocation locally.
Remarks
When this proxy is a oneway or datagram proxy, the Ice runtime does not call the response callback: a successful invocation completes with the sent callback. When this proxy is a batch proxy, this function only adds the request to the batch: the Ice runtime calls none of the callbacks, and the request is sent later, by a flush.