@Override public GridPredicate<GridNode> apply(GridProjection e) { return e.predicate(); }
/** {@inheritDoc} */ @Override public <T extends GridEvent> GridFuture<UUID> remoteListen(int bufSize, long interval, boolean autoUnsubscribe, @Nullable GridBiPredicate<UUID, T> locLsnr, @Nullable GridPredicate<T> rmtFilter, @Nullable int... types) { A.ensure(bufSize > 0, "bufSize > 0"); A.ensure(interval >= 0, "interval >= 0"); guard(); try { return ctx.continuous().startRoutine(new GridEventConsumeHandler((GridBiPredicate<UUID, GridEvent>) locLsnr, (GridPredicate<GridEvent>) rmtFilter, types), bufSize, interval, autoUnsubscribe, prj.predicate()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public GridFuture<UUID> remoteListen(@Nullable Object topic, GridBiPredicate<UUID, ?> p) { A.notNull(p, "p"); guard(); try { GridContinuousHandler hnd = new GridMessageListenHandler(topic, (GridBiPredicate<UUID, Object>)p); return ctx.continuous().startRoutine(hnd, 1, 0, false, prj.predicate()); } finally { unguard(); } }
/** {@inheritDoc} */ @Override public GridProjection forOthers(GridProjection prj) { A.notNull(prj, "prj"); if (ids != null) { guard(); try { Set<UUID> nodeIds = U.newHashSet(ids.size()); for (UUID id : ids) { GridNode n = node(id); if (n != null && !prj.predicate().apply(n)) nodeIds.add(id); } return new GridProjectionAdapter(this, ctx, subjId, nodeIds); } finally { unguard(); } } else return forPredicate(F.not(prj.predicate())); }
/** * @param name Service name. * @param svc Service. * @param totalCnt Total count. * @param maxPerNodeCnt Max per-node count. * @return Future. */ public GridFuture<?> deployMultiple(GridProjection prj, String name, GridService svc, int totalCnt, int maxPerNodeCnt) { GridServiceConfiguration cfg = new GridServiceConfiguration(); cfg.setName(name); cfg.setService(svc); cfg.setTotalCount(totalCnt); cfg.setMaxPerNodeCount(maxPerNodeCnt); cfg.setNodeFilter(F.<GridNode>alwaysTrue() == prj.predicate() ? null : prj.predicate()); return deploy(cfg); }
prj.predicate()).get();