/** * @param nodeId Node ID. * @param res Response. */ private void processLockResponse(UUID nodeId, GridNearLockResponse<K, V> res) { assert nodeId != null; assert res != null; GridNearLockFuture<K, V> fut = (GridNearLockFuture<K, V>) ctx.mvcc().<Boolean>future(res.version().id(), res.futureId()); if (fut != null) fut.onResult(nodeId, res); }
/** {@inheritDoc} */ @Override protected GridFuture<Boolean> lockAllAsync( Collection<? extends K> keys, long timeout, GridCacheTxLocalEx<K, V> tx, boolean isInvalidate, boolean isRead, boolean retval, GridCacheTxIsolation isolation, GridPredicate<? super GridCacheEntry<K, V>>[] filter) { GridNearLockFuture<K, V> fut = new GridNearLockFuture<K, V>( ctx, keys, (GridNearTxLocal<K, V>) tx, isRead, retval, timeout, filter); if (!ctx.mvcc().addFuture(fut)) throw new IllegalStateException("Duplicate future ID: " + fut); fut.map(); return fut; }