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:io.v.x.jni.test.fortune.FortuneServerImpl.java
@Override public ListenableFuture<String> get(final VContext context, ServerCall call) { if (serverLatch != null) { serverLatch.countDown();//from w w w . ja va 2 s .c o m } if (clientLatch != null) { try { // Caution: this is not idiomatic for server methods: they must be non-blocking. // However, it helps us with LameDuck tests. clientLatch.await(); } catch (InterruptedException e) { return Futures.immediateFailedFuture(new VException(e.getMessage())); } } if (lastAddedFortune == null) { return Futures.immediateFailedFuture(new NoFortunesException(context)); } return Futures.immediateFuture(lastAddedFortune); }
From source file:org.glowroot.central.util.MoreFutures.java
public static ListenableFuture<?> rollupAsync(ListenableFuture<ResultSet> input, Executor asyncExecutor, DoRollup function) {//from ww w. j ava 2 s. c om return transformAsync(input, asyncExecutor, new AsyncFunction<ResultSet, /*@Nullable*/ Object>() { @Override @SuppressWarnings("unchecked") public ListenableFuture</*@Nullable*/ Object> apply(ResultSet results) throws Exception { if (results.isExhausted()) { return Futures.immediateFuture(null); } return (ListenableFuture</*@Nullable*/ Object>) function.execute(results); } }); }
From source file:org.opendaylight.lispflowmapping.southbound.LispSouthboundRPC.java
@Override public Future<RpcResult<Void>> sendMapNotify(SendMapNotifyInput mapNotifyInput) { LOG.trace("sendMapNotify called!!"); if (mapNotifyInput != null) { ByteBuffer outBuffer = MapNotifySerializer.getInstance().serialize(mapNotifyInput.getMapNotify()); lispSbPlugin.handleSerializedLispBuffer(mapNotifyInput.getTransportAddress(), outBuffer, MessageType.MapNotify);/*w w w.jav a 2 s .c o m*/ } else { LOG.warn("MapNotify was null"); return Futures.immediateFuture(RpcResultBuilder.<Void>failed().build()); } return Futures.immediateFuture(RpcResultBuilder.<Void>success().build()); }
From source file:org.opendaylight.openflowplugin.applications.frsync.impl.SyncReactorFutureWithCompressionDecorator.java
protected ListenableFuture<Boolean> doSyncupInFuture( final InstanceIdentifier<FlowCapableNode> flowcapableNodePath, final FlowCapableNode configTree, final FlowCapableNode operationalTree) throws InterruptedException { final NodeId nodeId = PathUtil.digNodeId(flowcapableNodePath); LOG.trace("doSyncupInFuture {}", nodeId.getValue()); final Pair<FlowCapableNode, FlowCapableNode> lastCompressionState = removeLastCompressionState( flowcapableNodePath);/*from w w w . j a va2 s . co m*/ if (lastCompressionState == null) { return Futures.immediateFuture(true); } else { return super.doSyncupInFuture(flowcapableNodePath, lastCompressionState.getLeft(), lastCompressionState.getRight()); } }
From source file:org.esbtools.eventhandler.lightblue.testing.MultiStringDocumentEvent.java
@Override public Future<?> lookupDocument() { return Futures.immediateFuture(values); }
From source file:org.hawkular.rx.cassandra.driver.MockResultSet.java
@Override public ListenableFuture<ResultSet> fetchMoreResults() { if (fetched < count) { fetched += Math.min(pageSize, count - fetched); }/* ww w.ja v a 2 s. c o m*/ return Futures.immediateFuture(this); }
From source file:com.google.api.server.spi.config.datastore.testing.FakeAsyncMemcacheService.java
@Override public Future<Object> get(Object key) { return Futures.immediateFuture(memcacheService.get(key)); }
From source file:org.apache.qpid.server.logging.logback.AbstractNameAndLevelLogInclusionRule.java
@StateTransition(currentState = { State.ERRORED, State.UNINITIALIZED }, desiredState = State.ACTIVE) private ListenableFuture<Void> doActivate() { setState(State.ACTIVE); QpidLoggerTurboFilter.filterAddedToRootContext(_filter); return Futures.immediateFuture(null); }
From source file:org.opendaylight.openflowplugin.impl.services.OfMessageProcessingServiceImpl.java
@Override public Future<RpcResult<GetOfVersionOutput>> getOfVersion(GetOfVersionInput input) { RpcResultBuilder<GetOfVersionOutput> rpcResultBuilder = RpcResultBuilder.success(); GetOfVersionOutputBuilder builder = new GetOfVersionOutputBuilder(); builder.setNode(input.getNode());//from www.ja va 2 s. c o m builder.setOfVersion(deviceContext.getDeviceInfo().getVersion()); rpcResultBuilder.withResult(builder); return Futures.immediateFuture(rpcResultBuilder.build()); }
From source file:com.linkedin.pinot.server.request.ScheduledRequestHandler.java
@Override public ListenableFuture<byte[]> processRequest(ChannelHandlerContext channelHandlerContext, ByteBuf request) { final long queryStartTime = System.nanoTime(); serverMetrics.addMeteredGlobalValue(ServerMeter.QUERIES, 1); LOGGER.debug("Processing request : {}", request); byte[] byteArray = new byte[request.readableBytes()]; request.readBytes(byteArray);//from w ww . ja v a2 s. co m SerDe serDe = new SerDe(new TCompactProtocol.Factory()); final InstanceRequest instanceRequest = new InstanceRequest(); if (!serDe.deserialize(instanceRequest, byteArray)) { LOGGER.error("Failed to deserialize query request from broker ip: {}", ((InetSocketAddress) channelHandlerContext.channel().remoteAddress()).getAddress() .getHostAddress()); DataTable result = new DataTable(); result.addException(QueryException.INTERNAL_ERROR); serverMetrics.addMeteredGlobalValue(ServerMeter.REQUEST_DESERIALIZATION_EXCEPTIONS, 1); return Futures.immediateFuture(serializeDataTable(null, serverMetrics, result, queryStartTime)); } long deserializationEndTime = System.nanoTime(); final BrokerRequest brokerRequest = instanceRequest.getQuery(); serverMetrics.addPhaseTiming(brokerRequest, ServerQueryPhase.REQUEST_DESERIALIZATION, deserializationEndTime - queryStartTime); LOGGER.debug("Processing requestId:{},request={}", instanceRequest.getRequestId(), instanceRequest); final QueryRequest queryRequest = new QueryRequest(instanceRequest); String brokerId = instanceRequest.isSetBrokerId() ? instanceRequest.getBrokerId() : ((InetSocketAddress) channelHandlerContext.channel().remoteAddress()).getAddress() .getHostAddress(); // we will set the ip address as client id. This is good enough for start. // Ideally, broker should send it's identity as part of the request queryRequest.setClientId(brokerId); final long schedulerSubmitTime = System.nanoTime(); ListenableFuture<DataTable> queryTask = queryScheduler.submit(queryRequest); // following future will provide default response in case of uncaught // exceptions from query processing ListenableFuture<DataTable> queryResponse = Futures.catching(queryTask, Throwable.class, new Function<Throwable, DataTable>() { @Nullable @Override public DataTable apply(@Nullable Throwable input) { // this is called iff queryTask fails with unhandled exception serverMetrics.addMeteredGlobalValue(ServerMeter.UNCAUGHT_EXCEPTIONS, 1); DataTable result = new DataTable(); result.addException(QueryException.INTERNAL_ERROR); return result; } }); // transform the DataTable to serialized byte[] to send back to broker ListenableFuture<byte[]> serializedQueryResponse = Futures.transform(queryResponse, new Function<DataTable, byte[]>() { @Nullable @Override public byte[] apply(@Nullable DataTable instanceResponse) { long totalNanos = System.nanoTime() - schedulerSubmitTime; serverMetrics.addPhaseTiming(brokerRequest, ServerQueryPhase.QUERY_PROCESSING, totalNanos); return serializeDataTable(instanceRequest, serverMetrics, instanceResponse, queryStartTime); } }); return serializedQueryResponse; }