TGridClientFutureVariantMap GridClientDataProjectionImpl::getAllAsync(const TGridClientVariantSet& keys) { if (invalidated) return TGridClientFutureVariantMap( new GridFailFutureImpl<TGridClientVariantMap, GridClientClosedException>()); GridFutureImpl<TGridClientVariantMap>* fut = new GridFutureImpl<TGridClientVariantMap>(threadPool); TGridClientFutureVariantMap res(fut); boost::packaged_task<TGridClientVariantMap> pt(boost::bind(&GridClientDataProjectionImpl::getAll, this, keys)); fut->task(pt); return res; }
TGridClientFutureVariant GridClientDataProjectionImpl::getAsync(const GridClientVariant& key) { if (invalidated) return TGridClientFutureVariant( new GridFailFutureImpl<GridClientVariant, GridClientClosedException>()); GridFutureImpl<GridClientVariant>* fut = new GridFutureImpl<GridClientVariant>(threadPool); TGridClientFutureVariant res(fut); boost::packaged_task<GridClientVariant> pt(boost::bind(&GridClientDataProjectionImpl::get, this, key)); fut->task(pt); return res; }
TGridClientFutureDataMetrics GridClientDataProjectionImpl::metricsAsync() { if (invalidated) return TGridClientFutureDataMetrics( new GridFailFutureImpl<GridClientDataMetrics, GridClientClosedException>()); GridFutureImpl<GridClientDataMetrics>* fut = new GridFutureImpl<GridClientDataMetrics>(threadPool); TGridClientFutureDataMetrics res(fut); boost::packaged_task<GridClientDataMetrics> pt( boost::bind( static_cast<GridClientDataMetrics (GridClientDataProjectionImpl::*)( void)> (&GridClientDataProjectionImpl::metrics), this)); fut->task(pt); return res; }
/** * Asynchronously gets contents of custom log file. * * @param path Log file path. Can be absolute or relative to GRIDGAIN_HOME. * @param lineFrom Index of line from which log is get, inclusive (starting from 0). * @param lineTo Index of line to which log is get, inclusive (starting from 0). * @return Future. */ TGridFutureStringList GridClientComputeProjectionImpl::logAsync(const string& path, int lineFrom, int lineTo) { if (invalidated) return TGridFutureStringList( new GridFailFutureImpl<vector<string>, GridClientClosedException>()); GridFutureImpl<vector<string> >* fut = new GridFutureImpl<vector<string> >(threadPool); TGridFutureStringList res(fut); boost::packaged_task<vector<string> > pt( boost::bind(static_cast<vector<string> (GridClientComputeProjectionImpl::*)(const string&, int, int)> (&GridClientComputeProjectionImpl::log), this, path, lineFrom, lineTo)); fut->task(pt); return res; }
/** * Asynchronously executes task. * * @param taskName Task name or task class name. * @param taskArg Optional task argument. * @return Future. */ TGridClientFutureVariant GridClientComputeProjectionImpl::executeAsync(const string& taskName, const GridClientVariant& taskArg) { if (invalidated) return TGridClientFutureVariant( new GridFailFutureImpl<GridClientVariant, GridClientClosedException>()); GridFutureImpl<GridClientVariant>* fut = new GridFutureImpl<GridClientVariant>(threadPool); TGridClientFutureVariant res(fut); boost::packaged_task<GridClientVariant> pt( boost::bind(&GridClientComputeProjectionImpl::execute, this, taskName, taskArg)); fut->task(pt); return res; }
/** * Asynchronously gets current topology. * * @param includeAttrs Whether to include node attributes. * @param includeMetrics Whether to include node metrics. * @return Future. */ TGridClientNodeFutureList GridClientComputeProjectionImpl::refreshTopologyAsync(bool includeAttrs, bool includeMetrics) { if (invalidated) return TGridClientNodeFutureList( new GridFailFutureImpl<TGridClientNodeList, GridClientClosedException>()); GridFutureImpl<TGridClientNodeList>* fut = new GridFutureImpl<TGridClientNodeList>(threadPool); TGridClientNodeFutureList res(fut); boost::packaged_task<TGridClientNodeList> pt( boost::bind(static_cast<TGridClientNodeList (GridClientComputeProjectionImpl::*)(bool, bool)> (&GridClientComputeProjectionImpl::refreshTopology), this, includeAttrs, includeMetrics)); fut->task(pt); return res; }
/** * Asynchronously gets node by IP address. * * @param ip IP address. * @param includeAttrs Whether to include node attributes. * @param includeMetrics Whether to include node metrics. * @return Future. */ TGridClientNodeFuturePtr GridClientComputeProjectionImpl::refreshNodeAsync(const string& ip, bool includeAttrs, bool includeMetrics) { if (invalidated) return TGridClientNodeFuturePtr( new GridFailFutureImpl<TGridClientNodePtr, GridClientClosedException>()); GridFutureImpl<TGridClientNodePtr>* fut = new GridFutureImpl<TGridClientNodePtr>(threadPool); TGridClientNodeFuturePtr res(fut); boost::packaged_task<TGridClientNodePtr> pt( boost::bind(static_cast<TGridClientNodePtr (GridClientComputeProjectionImpl::*)(const string&, bool, bool)> (&GridClientComputeProjectionImpl::refreshNode), this, ip, includeAttrs, includeMetrics)); fut->task(pt); return res; }