@Override public void recordRoute(GrpcReadStream<Point> request, Future<RouteSummary> response) { request.exceptionHandler(err -> { System.out.println("recordRoute cancelled"); }); RouteRecorder recorder = new RouteRecorder(); request.handler(recorder::append); request.endHandler(v -> { response.complete(recorder.build()); }); }
@Override public void streamingInputCall(GrpcReadStream<Messages.StreamingInputCallRequest> request, Future<Messages.StreamingInputCallResponse> future) { request.handler(payload -> { System.out.println(payload.getPayload().getType().getNumber()); }).endHandler(v -> { System.out.println("Request has ended."); future.complete(Messages.StreamingInputCallResponse.newBuilder().build()); }); } };
@Override public void start() throws Exception { // Create the channel ManagedChannel channel = VertxChannelBuilder .forAddress(vertx, "localhost", 8080) .usePlaintext(true) .build(); // Get a stub to use for interacting with the remote service ConsumerServiceGrpc.ConsumerServiceVertxStub stub = ConsumerServiceGrpc.newVertxStub(channel); // Make a request Messages.StreamingOutputCallRequest request = Messages .StreamingOutputCallRequest .newBuilder() .build(); // Call the remote service stub.streamingOutputCall(request, stream -> { stream.handler(response -> { System.out .println(new String(response.getPayload().toByteArray(), Charset.forName("UTF-8"))); }).endHandler(v -> { System.out.println("Response has ended."); }); }); } }
response.endHandler(v -> {
@Override public GrpcBidiExchange<I, O> endHandler(Handler<Void> handler) { readStream.endHandler(handler); return this; }
public GrpcUniExchangeImpl(GrpcReadStream<I> readStream, StreamObserver<O> writeObserver) { this.writeStream = GrpcWriteStream.create(writeObserver); readStream.endHandler(v -> { if (complete.compareAndSet(false, true)) { if (GrpcUniExchangeImpl.this.handler != null) { GrpcUniExchangeImpl.this.handler.handle(Future.succeededFuture()); } } }); readStream.handler(input -> { if (complete.compareAndSet(false, true)) { if (GrpcUniExchangeImpl.this.handler != null) { GrpcUniExchangeImpl.this.handler.handle(Future.succeededFuture(input)); } } }); readStream.exceptionHandler(t -> { if (complete.compareAndSet(false, true)) { if (GrpcUniExchangeImpl.this.handler != null) { GrpcUniExchangeImpl.this.handler.handle(Future.failedFuture(t)); } } }); }
@Override public void streamingInputCall(GrpcReadStream<StreamingInputCallRequest> request, Future<StreamingInputCallResponse> response) { will.assertNotNull(response); request .exceptionHandler(will::fail) .handler(resp -> { will.assertNotNull(resp); cnt.incrementAndGet(); }) .endHandler(v -> { will.assertEquals(10, cnt.get()); response.complete(StreamingInputCallResponse.newBuilder().build()); }); } }, startServer -> {
cnt.incrementAndGet(); }) .endHandler(v -> { will.assertEquals(10, cnt.get()); test.complete();
.handler(exchange::write) .exceptionHandler(exchange::fail) .endHandler(v -> exchange.end());
.exceptionHandler(ctx::fail) .handler(item -> items.add(item.getValue())) .endHandler(v -> { List<String> expected = IntStream.rangeClosed(0, numItems - 1).mapToObj(val -> "the-value-" + val).collect(Collectors.toList()); ctx.assertEquals(expected, items);