private void getLocalCounter(String name, Handler<AsyncResult<Counter>> resultHandler) { Counter counter = localCounters.computeIfAbsent(name, n -> new AsynchronousCounter(vertx)); Context context = vertx.getOrCreateContext(); context.runOnContext(v -> resultHandler.handle(Future.succeededFuture(counter))); }
@Override public void getCounter(String name, Handler<AsyncResult<Counter>> resultHandler) { AtomicLong counter = new AtomicLong(); AtomicLong prev = counters.putIfAbsent(name, counter); if (prev != null) { counter = prev; } AtomicLong theCounter = counter; Context context = vertx.getOrCreateContext(); context.runOnContext(v -> resultHandler.handle(Future.succeededFuture(new AsynchronousCounter(vertx, theCounter)))); }
private void getLocalCounter(String name, Handler<AsyncResult<Counter>> resultHandler) { Counter counter = localCounters.computeIfAbsent(name, n -> new AsynchronousCounter(vertx)); Context context = vertx.getOrCreateContext(); context.runOnContext(v -> resultHandler.handle(Future.succeededFuture(counter))); }
@Override public void getCounter(String name, Handler<AsyncResult<Counter>> resultHandler) { AtomicLong counter = new AtomicLong(); AtomicLong prev = counters.putIfAbsent(name, counter); if (prev != null) { counter = prev; } AtomicLong theCounter = counter; Context context = vertx.getOrCreateContext(); context.runOnContext(v -> resultHandler.handle(Future.succeededFuture(new AsynchronousCounter(vertx, theCounter)))); }
@Override public void getCounter(final String name, final Handler<AsyncResult<Counter>> resultHandler) { AtomicLong counter = new AtomicLong(); final AtomicLong prev = counters.putIfAbsent(name, counter); if (prev != null) { counter = prev; } final AtomicLong theCounter = counter; final Context context = this.vertx.getOrCreateContext(); context.runOnContext(v -> resultHandler.handle(Future.succeededFuture(new AsynchronousCounter(this.vertx, theCounter)))); }
@Override public void getCounter(final String name, final Handler<AsyncResult<Counter>> resultHandler) { AtomicLong counter = new AtomicLong(); final AtomicLong prev = counters.putIfAbsent(name, counter); if (prev != null) { counter = prev; } final AtomicLong theCounter = counter; final Context context = this.vertx.getOrCreateContext(); context.runOnContext(v -> resultHandler.handle(Future.succeededFuture(new AsynchronousCounter(this.vertx, theCounter)))); }
/** * Get a local counter. The counter will be passed to the handler. * * @param name the name of the counter. * @param resultHandler the handler */ public void getCounter(String name, Handler<AsyncResult<Counter>> resultHandler) { Objects.requireNonNull(name, "name"); Objects.requireNonNull(resultHandler, "resultHandler"); Counter counter = this.localCounters .computeIfAbsent(name, (n) -> new AsynchronousCounter((VertxInternal) this.vertx)); Context context = this.vertx.getOrCreateContext(); context.runOnContext((v) -> resultHandler.handle(Future.succeededFuture(counter))); }