Example usage for com.google.common.util.concurrent SettableFuture set

List of usage examples for com.google.common.util.concurrent SettableFuture set

Introduction

In this page you can find the example usage for com.google.common.util.concurrent SettableFuture set.

Prototype

@Override
    public boolean set(@Nullable V value) 

Source Link

Usage

From source file:com.yahoo.yqlplus.engine.internal.java.sequences.Sequences.java

private static <ROW, SEQUENCE extends Iterable<ROW>> ListenableFuture<List<ROW>> gatherResults(
        Executor executor, ListenableFuture<List<SEQUENCE>> gather, final int estimatedResultSize) {
    final SettableFuture<List<ROW>> target = SettableFuture.create();
    Futures.addCallback(gather, new FutureCallback<List<SEQUENCE>>() {
        @Override//from  w  w  w . j a v  a2s  .c om
        public void onSuccess(List<SEQUENCE> result) {
            List<ROW> data = Lists.newArrayListWithExpectedSize(estimatedResultSize);
            for (SEQUENCE item : result) {
                if (item != null) {
                    for (ROW row : item) {
                        data.add(row);
                    }
                }
            }
            target.set(data);
        }

        @Override
        public void onFailure(Throwable t) {
            target.setException(t);
        }
    }, executor);
    return target;
}

From source file:com.facebook.buck.rules.modern.builders.grpc.GrpcRemoteExecution.java

private static ListenableFuture<ByteString> readByteStream(String instanceName, Protocol.Digest digest,
        ByteStreamStub byteStreamStub) {
    String name = getReadResourceName(instanceName, digest);
    SettableFuture<ByteString> future = SettableFuture.create();
    byteStreamStub.read(ReadRequest.newBuilder().setResourceName(name).setReadLimit(0).setReadOffset(0).build(),
            new StreamObserver<ReadResponse>() {
                ByteString data = ByteString.EMPTY;

                @Override/*from   w w w. j  ava  2 s  .  c  o  m*/
                public void onNext(ReadResponse value) {
                    data = data.concat(value.getData());
                }

                @Override
                public void onError(Throwable t) {
                    future.setException(t);
                }

                @Override
                public void onCompleted() {
                    future.set(data);
                }
            });
    return future;
}

From source file:com.microsoft.azure.storage.DictionaryKeyResolver.java

@Override
public ListenableFuture<IKey> resolveKeyAsync(String keyId) {
    SettableFuture<IKey> future = SettableFuture.create();
    future.set(this.keys.get(keyId));
    return future;
}

From source file:org.midonet.odp.protos.OvsDatapathConnection.java

@Nonnull
private static <T> Callback<T> wrapFuture(final SettableFuture<T> future) {
    return new Callback<T>() {
        @Override/*from   ww w.  j a  v  a2s.  c o  m*/
        public void onSuccess(T data) {
            future.set(data);
        }

        @Override
        public void onError(NetlinkException e) {
            future.setException(e);
        }
    };
}

From source file:com.facebook.buck.core.build.engine.impl.FakeBuildEngine.java

@Override
public BuildEngineResult build(BuildEngineBuildContext buildContext, ExecutionContext executionContext,
        BuildRule rule) {// w w  w.  j  a v  a 2  s .com
    SettableFuture<BuildResult> future = SettableFuture.create();
    future.set(buildResults.get(rule.getBuildTarget()));
    return BuildEngineResult.builder().setResult(future).build();
}

From source file:com.facebook.buck.rules.FakeBuildEngine.java

@Override
public ListenableFuture<BuildResult> build(BuildEngineBuildContext buildContext,
        ExecutionContext executionContext, BuildRule rule) {
    SettableFuture<BuildResult> future = SettableFuture.create();
    future.set(buildResults.get(rule.getBuildTarget()));
    return future;
}

From source file:c5db.client.scanner.ClientScannerManager.java

public ClientScanner createAndGet(Channel channel, long scannerId, long commandId) throws IOException {
    if (hasScanner(scannerId)) {
        throw new IOException("Scanner already created");
    }/*from   w  w  w  .j ava2 s . c  o m*/

    final ClientScanner scanner = new ClientScanner(channel, scannerId, commandId);
    SettableFuture<ClientScanner> clientScannerSettableFuture = SettableFuture.create();
    clientScannerSettableFuture.set(scanner);
    scannerMap.put(scannerId, clientScannerSettableFuture);
    return scanner;
}

From source file:io.prestosql.execution.FutureStateChange.java

private void fireStateChange(T newState, Executor executor) {
    requireNonNull(executor, "executor is null");
    Set<SettableFuture<T>> futures;
    synchronized (listeners) {
        futures = ImmutableSet.copyOf(listeners);
        listeners.clear();/*from  ww  w.  java 2 s. c  om*/
    }

    for (SettableFuture<T> future : futures) {
        executor.execute(() -> future.set(newState));
    }
}

From source file:org.opendaylight.laas.impl.CentinelEventNotifierImpl.java

@Override
public Future<RpcResult<Void>> notifyEvent(NotifyEventInput input) {

    final SettableFuture<RpcResult<Void>> futureResult = SettableFuture.create();
    futureResult.set(RpcResultBuilder.<Void>success().build());

    notificationProvider.publish(new EventNotifiedBuilder().setEventType(input.getEventType())
            .setEventBodyType(input.getEventBodyType()).setEventBody(input.getEventBody())
            .setEventKeys(input.getEventKeys()).build());
    return futureResult;
}

From source file:org.apache.omid.tso.client.MockTSOClient.java

@Override
public TSOFuture<Void> close() {
    SettableFuture<Void> f = SettableFuture.create();
    f.set(null);
    return new ForwardingTSOFuture<>(f);
}