List of usage examples for com.google.common.util.concurrent Futures immediateFuture
@CheckReturnValue public static <V> ListenableFuture<V> immediateFuture(@Nullable V value)
From source file:org.apache.twill.internal.Services.java
/** * Returns a {@link ListenableFuture} that will be completed when the given service is stopped. If the service * stopped due to error, the failure cause would be reflected in the future. * * @param service The {@link Service} to block on. * @return A {@link ListenableFuture} that will be completed when the service is stopped. *///from w ww .j a va 2 s .com public static ListenableFuture<Service.State> getCompletionFuture(Service service) { final SettableFuture<Service.State> resultFuture = SettableFuture.create(); service.addListener(new ServiceListenerAdapter() { @Override public void terminated(Service.State from) { resultFuture.set(Service.State.TERMINATED); } @Override public void failed(Service.State from, Throwable failure) { resultFuture.setException(failure); } }, Threads.SAME_THREAD_EXECUTOR); Service.State state = service.state(); if (state == Service.State.TERMINATED) { return Futures.immediateFuture(state); } else if (state == Service.State.FAILED) { return Futures .immediateFailedFuture(new IllegalStateException("Service failed with unknown exception.")); } return resultFuture; }
From source file:com.facebook.presto.server.remotetask.RequestErrorTracker.java
public ListenableFuture<?> acquireRequestPermit() { long delayNanos = backoff.getBackoffDelayNanos(); if (delayNanos == 0) { return Futures.immediateFuture(null); }//from ww w. j a v a2 s. c o m ListenableFutureTask<Object> futureTask = ListenableFutureTask.create(() -> null); scheduledExecutor.schedule(futureTask, delayNanos, NANOSECONDS); return futureTask; }
From source file:org.opendaylight.netvirt.federation.plugin.FederationPluginRpcServiceImpl.java
@Override public Future<RpcResult<Void>> updateFederatedNetworks(UpdateFederatedNetworksInput input) { FederationPluginRoutedRpcService routedRpcService = rpcRegistry .getRpcService(FederationPluginRoutedRpcService.class); if (routedRpcService == null) { return Futures.immediateFuture(RpcResultBuilder.<Void>failed() .withError(ErrorType.RPC, "Failed to get routed RPC service for federation plugin").build()); }//from w ww .j ava2 s.co m List<FederatedNetworksIn> federatedNetworks = input.getFederatedNetworksIn(); UpdateFederatedNetworksInputBuilder builder = new UpdateFederatedNetworksInputBuilder() .setFederatedNetworksIn(convertFederatedNetworks(federatedNetworks)) .setFederatedAclsIn(convertFederatedAcls(input.getFederatedAclsIn())) .setRouteKeyItem(buildtRouteKeyInstanceIdentifier()); return routedRpcService.updateFederatedNetworks(builder.build()); }
From source file:org.apache.qpid.server.security.AbstractKeyStore.java
@Override protected ListenableFuture<Void> onClose() { if (_checkExpiryTaskFuture != null) { _checkExpiryTaskFuture.cancel(false); _checkExpiryTaskFuture = null;/* w ww . j av a2 s.c om*/ } return Futures.immediateFuture(null); }
From source file:io.v.impl.google.rpc.ServerRPCHelper.java
static ListenableFuture<byte[][]> invoke(final Invoker invoker, final VContext ctx, final StreamServerCall call, final String method, final byte[][] vomArgs) { return Futures.transform(invoker.getArgumentTypes(ctx, method), new AsyncFunction<Type[], byte[][]>() { @Override//from ww w. ja va 2 s .c o m public ListenableFuture<byte[][]> apply(Type[] argTypes) throws Exception { if (argTypes.length != vomArgs.length) { throw new VException(String.format("Wrong number of args, want %d, got %d", argTypes.length, vomArgs.length)); } final Object[] args = new Object[argTypes.length]; for (int i = 0; i < argTypes.length; ++i) { args[i] = VomUtil.decode(vomArgs[i], argTypes[i]); } return Futures.transform( Futures.<Object>allAsList(invoker.getResultTypes(ctx, method), invoker.invoke(ctx, call, method, args)), new AsyncFunction<List<Object>, byte[][]>() { @Override public ListenableFuture<byte[][]> apply(List<Object> input) throws Exception { Type[] resultTypes = (Type[]) input.get(0); Object[] results = (Object[]) input.get(1); if (resultTypes.length != results.length) { throw new VException(String.format("Wrong number of results, want %d, got %d", resultTypes.length, results.length)); } byte[][] vomResults = new byte[resultTypes.length][]; for (int i = 0; i < resultTypes.length; ++i) { vomResults[i] = VomUtil.encode(results[i], resultTypes[i]); } return Futures.immediateFuture(vomResults); } }); } }); }
From source file:org.opendaylight.controller.clustering.it.provider.impl.PrefixLeaderHandler.java
public ListenableFuture<RpcResult<Void>> makeLeaderLocal(final BecomePrefixLeaderInput input) { final YangInstanceIdentifier yid = serializer.toYangInstanceIdentifier(input.getPrefix()); final DOMDataTreeIdentifier prefix = new DOMDataTreeIdentifier(LogicalDatastoreType.CONFIGURATION, yid); try (CDSDataTreeProducer producer = (CDSDataTreeProducer) domDataTreeService .createProducer(Collections.singleton(prefix))) { final CDSShardAccess shardAccess = producer.getShardAccess(prefix); final CompletionStage<Void> completionStage = shardAccess.makeLeaderLocal(); completionStage.exceptionally(throwable -> { LOG.error("Leader movement failed.", throwable); return null; });/*www .jav a2s. com*/ } catch (final DOMDataTreeProducerException e) { LOG.warn("Error while closing producer", e); } catch (final TimeoutException e) { LOG.warn("Timeout while on producer operation", e); Futures.immediateFuture( RpcResultBuilder.failed().withError(RpcError.ErrorType.RPC, "resource-denied-transport", "Timeout while opening producer please retry.", "clustering-it", "clustering-it", e)); } return Futures.immediateFuture(RpcResultBuilder.<Void>success().build()); }
From source file:org.opendaylight.netconf.topology.example.ExampleNodeManagerCallback.java
@Nonnull @Override//from www . j ava 2 s. c o m public ListenableFuture<Node> onNodeUpdated(@Nonnull final NodeId nodeId, @Nonnull final Node configNode) { // update magic return Futures .immediateFuture(new NodeBuilder() .addAugmentation(NetconfNode.class, new NetconfNodeBuilder() .setConnectionStatus(NetconfNodeFields.ConnectionStatus.Connected).build()) .build()); }
From source file:org.opendaylight.openflowplugin.applications.frsync.impl.SyncReactorFutureZipDecorator.java
protected ListenableFuture<Boolean> doSyncupInFuture( final InstanceIdentifier<FlowCapableNode> flowcapableNodePath, final SyncupEntry syncupEntry) throws InterruptedException { final NodeId nodeId = PathUtil.digNodeId(flowcapableNodePath); LOG.trace("doSyncupInFuture zip decorator: {}", nodeId.getValue()); final SyncupEntry lastCompressionState = removeLastCompressionState(flowcapableNodePath); if (lastCompressionState == null) { return Futures.immediateFuture(true); } else {/* ww w .ja v a 2s . com*/ return super.doSyncupInFuture(flowcapableNodePath, lastCompressionState); } }
From source file:com.facebook.buck.distributed.testutil.FakeFileContentsProvider.java
@Override public ListenableFuture<Boolean> materializeFileContentsAsync(BuildJobStateFileHashEntry entry, Path targetAbsPath) {// w w w . j av a 2s .c o m try { return Futures.immediateFuture(materializeFileContents(entry, targetAbsPath)); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:org.opendaylight.lockmanager.LockManager.java
@Override public Future<RpcResult<Void>> lock(LockInput input) { String lockName = input.getLockName(); LOG.info("Locking {}", lockName); InstanceIdentifier<Lock> lockInstanceIdentifier = LockManagerUtils.getLockInstanceIdentifier(lockName); Lock lockData = LockManagerUtils.buildLockData(lockName); try {// w ww . ja va 2 s . co m getLock(lockInstanceIdentifier, lockData); RpcResultBuilder<Void> lockRpcBuilder = RpcResultBuilder.success(); LOG.info("Acquired lock {}", lockName); return Futures.immediateFuture(lockRpcBuilder.build()); } catch (InterruptedException e) { RpcResultBuilder<Void> lockRpcBuilder = RpcResultBuilder.failed(); LOG.info("Failed to get lock {}", lockName); return Futures.immediateFuture(lockRpcBuilder.build()); } }