List of usage examples for com.google.common.util.concurrent SettableFuture create
public static <V> SettableFuture<V> create()
From source file:org.opendaylight.openflowplugin.impl.statistics.StatisticsContextImpl.java
@Override public ListenableFuture<Boolean> gatherDynamicData() { final ListenableFuture<Boolean> errorResultFuture = deviceConnectionCheck(); if (errorResultFuture != null) { return errorResultFuture; }/* ww w . jav a 2 s . c om*/ final Iterator<MultipartType> statIterator = collectingStatType.iterator(); final SettableFuture<Boolean> settableStatResultFuture = SettableFuture.create(); statChainFuture(statIterator, settableStatResultFuture); return settableStatResultFuture; }
From source file:es.udc.pfc.xmpp.component.AbstractXMPPComponent.java
/** * Send an IQ request, handling the response using a Future. * /* w w w .ja v a 2s. co m*/ * @param iq the IQ request to be sent * @return a Future */ public final ListenableFuture<IQ> sendIQ(final IQ iq) { checkNotNull(iq); checkArgument(iq.isRequest() && !Strings.isNullOrEmpty(iq.getId())); if (futureHandlers.containsKey(iq.getId())) { log.warning("ID " + iq.getId() + " already being handled."); return futureHandlers.get(iq.getId()); } final SettableFuture<IQ> future = SettableFuture.create(); futureHandlers.put(iq.getId(), future); send(iq); return future; }
From source file:io.datakernel.service.ServiceAdapters.java
public static ServiceAdapter<Eventloop> forEventloop(final ThreadFactory threadFactory) { return new ServiceAdapter<Eventloop>() { @Override//from w ww . jav a 2 s . c om public Service toService(final Eventloop eventloop, final Executor executor) { return new Service() { volatile SettableFuture<?> stopFuture; @Override public ListenableFuture<?> start() { final SettableFuture<?> future = SettableFuture.create(); threadFactory.newThread(new Runnable() { @Override public void run() { eventloop.keepAlive(true); future.set(null); eventloop.run(); if (stopFuture != null) { stopFuture.set(null); } } }).start(); return future; } @Override public ListenableFuture<?> stop() { stopFuture = SettableFuture.create(); eventloop.execute(new Runnable() { @Override public void run() { eventloop.keepAlive(false); } }); return stopFuture; } }; } }; }
From source file:org.apache.qpid.server.security.auth.manager.AbstractAuthenticationManager.java
private ListenableFuture<Void> performDelete() { final SettableFuture<Void> futureResult = SettableFuture.create(); addFutureCallback(closeAsync(), new FutureCallback<Void>() { @Override/*from w ww . j av a 2 s . co m*/ public void onSuccess(final Void result) { try { tidyUp(); futureResult.set(null); } catch (Exception e) { futureResult.setException(e); } } @Override public void onFailure(final Throwable t) { try { tidyUp(); } finally { futureResult.setException(t); } } private void tidyUp() { deleted(); setState(State.DELETED); _eventLogger.message(AuthenticationProviderMessages.DELETE(getName())); } }, getTaskExecutor()); return futureResult; }
From source file:org.apache.heron.statemgr.NullStateManager.java
@Override public ListenableFuture<TopologyMaster.MetricsCacheLocation> getMetricsCacheLocation(WatchCallback watcher, String topologyName) { return SettableFuture.create(); }
From source file:org.opendaylight.netvirt.vpnmanager.VpnRpcServiceImpl.java
/** * Remove label for the given ip prefix from the associated VPN. */// ww w . j ava2s . c om @Override public Future<RpcResult<Void>> removeVpnLabel(RemoveVpnLabelInput input) { String vpnName = input.getVpnName(); String ipPrefix = input.getIpPrefix(); String rd = VpnUtil.getVpnRd(dataBroker, vpnName); SettableFuture<RpcResult<Void>> futureResult = SettableFuture.create(); VpnUtil.releaseId(idManager, VpnConstants.VPN_IDPOOL_NAME, VpnUtil.getNextHopLabelKey((rd != null) ? rd : vpnName, ipPrefix)); futureResult.set(RpcResultBuilder.<Void>success().build()); return futureResult; }
From source file:com.vmware.photon.controller.common.thrift.ClientPoolImpl.java
@Override public synchronized ListenableFuture<C> acquire() { if (promises.size() < options.getMaxWaiters()) { SettableFuture<C> future = SettableFuture.create(); Promise<C> promise = new Promise<>(future); promises.add(promise);/* w ww. j a v a 2 s.co m*/ processPromises(); logger.info("options.getTimeoutMs() is {}", options.getTimeoutMs()); if (options.getTimeoutMs() > 0 && !future.isDone()) { setTimeout(promise); } logger.info("{} Promise processed {}", options.getServiceName(), promise); return future; } return Futures.immediateFailedFuture(new ClientPoolException("Too many waiters")); }
From source file:org.opendaylight.streamhandler.impl.StreamhandlerImpl.java
@Override public Future<RpcResult<Void>> persistEvent(PersistEventInput input) { final SettableFuture<RpcResult<Void>> futureResult = SettableFuture.create(); boolean result = true; try {//from w w w .j a va 2 s . c o m // Initialize client with the remote Flume agent's host and port if (client == null) { client = new PersistEvent(commonServices.flumeHostname, commonServices.flumePort); } result = client.sendDataToFlume(input); } catch (Exception e) { futureResult.set(RpcResultBuilder.<Void>failed().build()); LOG.error("Unable to save data " + e.getMessage(), e); } if (!result) { futureResult.set(RpcResultBuilder.<Void>failed().build()); } else { futureResult.set(RpcResultBuilder.<Void>success().build()); } return futureResult; }
From source file:org.opendaylight.controller.cluster.databroker.actors.dds.RemoteProxyTransaction.java
@Override CheckedFuture<Boolean, ReadFailedException> doExists(final YangInstanceIdentifier path) { final SettableFuture<Boolean> future = SettableFuture.create(); return sendReadRequest(new ExistsTransactionRequest(getIdentifier(), client().self(), path), t -> completeExists(future, t), future); }