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

◆ findObjectByTypeOnLeastLoadedNodeAsync() [2/2]

std::function< void()> IceGrid::QueryPrx::findObjectByTypeOnLeastLoadedNodeAsync ( std::string_view type,
LoadSample sample,
std::function< void(std::optional< Ice::ObjectPrx >)> response,
std::function< void(std::exception_ptr)> exception = nullptr,
std::function< void(bool)> sent = nullptr,
const Ice::Context & context = Ice::noExplicitContext ) const

Finds a well-known object by type on the least-loaded node.

If the registry does not know which node hosts the object (for example, because the object was registered with a direct proxy), the registry assumes the object is hosted on a node that has a load average of 1.0.

Parameters
typeThe object type.
sampleThe sampling interval.
responseThe response callback. The Ice runtime calls this function from an Ice thread pool thread. If you set Ice::InitializationData::executor, the executor determines the thread that executes this function. It accepts:
  • A proxy to the well-known object, or null if no such object is registered.
exceptionThe exception callback. The Ice runtime calls this function from an Ice thread pool thread. If you set Ice::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 Ice::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.