Search in sources :

Example 1 with VertxServer

use of io.vertx.grpc.VertxServer in project vertx-examples by vert-x3.

the class Server method start.

@Override
public void start() throws Exception {
    // The rcp service
    ProducerServiceGrpc.ProducerServiceVertxImplBase service = new ProducerServiceGrpc.ProducerServiceVertxImplBase() {

        @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());
            });
        }
    };
    // Create the server
    VertxServer rpcServer = VertxServerBuilder.forPort(vertx, 8080).addService(service).build();
    // start the server
    rpcServer.start(ar -> {
        if (ar.failed()) {
            ar.cause().printStackTrace();
        }
    });
}
Also used : Messages(io.vertx.example.grpc.Messages) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) AbstractVerticle(io.vertx.core.AbstractVerticle) VertxServerBuilder(io.vertx.grpc.VertxServerBuilder) Future(io.vertx.core.Future) Runner(io.vertx.example.util.Runner) GrpcReadStream(io.vertx.grpc.GrpcReadStream) VertxServer(io.vertx.grpc.VertxServer) ProducerServiceGrpc(io.vertx.example.grpc.ProducerServiceGrpc) ProducerServiceGrpc(io.vertx.example.grpc.ProducerServiceGrpc) GrpcReadStream(io.vertx.grpc.GrpcReadStream) Messages(io.vertx.example.grpc.Messages) VertxServer(io.vertx.grpc.VertxServer) Future(io.vertx.core.Future)

Example 2 with VertxServer

use of io.vertx.grpc.VertxServer in project vertx-examples by vert-x3.

the class Server method start.

@Override
public void start() throws Exception {
    URL featureFile = Util.getDefaultFeaturesFile();
    features = Util.parseFeatures(featureFile);
    VertxServer server = VertxServerBuilder.forAddress(vertx, "localhost", 8080).addService(new RouteGuideGrpc.RouteGuideVertxImplBase() {

        @Override
        public void getFeature(Point request, Future<Feature> response) {
            response.complete(checkFeature(request));
        }

        @Override
        public void listFeatures(Rectangle request, GrpcWriteStream<Feature> response) {
            int left = Math.min(request.getLo().getLongitude(), request.getHi().getLongitude());
            int right = Math.max(request.getLo().getLongitude(), request.getHi().getLongitude());
            int top = Math.max(request.getLo().getLatitude(), request.getHi().getLatitude());
            int bottom = Math.min(request.getLo().getLatitude(), request.getHi().getLatitude());
            for (Feature feature : features) {
                if (!Util.exists(feature)) {
                    continue;
                }
                int lat = feature.getLocation().getLatitude();
                int lon = feature.getLocation().getLongitude();
                if (lon >= left && lon <= right && lat >= bottom && lat <= top) {
                    response.write(feature);
                }
            }
            response.end();
        }

        @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 routeChat(GrpcBidiExchange<RouteNote, RouteNote> exchange) {
            exchange.handler(note -> {
                List<RouteNote> notes = getOrCreateNotes(note.getLocation());
                // Respond with all previous notes at this location.
                for (RouteNote prevNote : notes.toArray(new RouteNote[0])) {
                    exchange.write(prevNote);
                }
                // Now add the new note to the list
                notes.add(note);
            });
            exchange.exceptionHandler(err -> {
                System.out.println("routeChat cancelled");
            });
            exchange.endHandler(v -> exchange.end());
        }
    }).build();
    server.start(ar -> {
        if (ar.succeeded()) {
            System.out.println("gRPC service started");
        } else {
            System.out.println("Could not start server " + ar.cause().getMessage());
        }
    });
}
Also used : GrpcBidiExchange(io.vertx.grpc.GrpcBidiExchange) VertxServer(io.vertx.grpc.VertxServer) Rectangle(io.grpc.examples.routeguide.Rectangle) Point(io.grpc.examples.routeguide.Point) Feature(io.grpc.examples.routeguide.Feature) URL(java.net.URL) Point(io.grpc.examples.routeguide.Point) GrpcReadStream(io.vertx.grpc.GrpcReadStream) RouteNote(io.grpc.examples.routeguide.RouteNote) Future(io.vertx.core.Future) GrpcWriteStream(io.vertx.grpc.GrpcWriteStream)

Example 3 with VertxServer

use of io.vertx.grpc.VertxServer in project vertx-examples by vert-x3.

the class Server method start.

@Override
public void start() throws Exception {
    // The rcp service
    EmptyPingPongServiceGrpc.EmptyPingPongServiceVertxImplBase service = new EmptyPingPongServiceGrpc.EmptyPingPongServiceVertxImplBase() {

        @Override
        public void emptyCall(EmptyProtos.Empty request, Future<EmptyProtos.Empty> future) {
            future.complete(EmptyProtos.Empty.newBuilder().build());
        }
    };
    // Create the server
    VertxServer rpcServer = VertxServerBuilder.forPort(vertx, 8080).addService(service).build();
    // start the server
    rpcServer.start(ar -> {
        if (ar.failed()) {
            ar.cause().printStackTrace();
        }
    });
}
Also used : EmptyPingPongServiceGrpc(io.vertx.example.grpc.EmptyPingPongServiceGrpc) VertxServer(io.vertx.grpc.VertxServer) Future(io.vertx.core.Future) EmptyProtos(io.vertx.example.grpc.EmptyProtos)

Example 4 with VertxServer

use of io.vertx.grpc.VertxServer in project vertx-examples by vert-x3.

the class Server method start.

@Override
public void start() throws Exception {
    // The rcp service
    PingPongServiceGrpc.PingPongServiceVertxImplBase service = new PingPongServiceGrpc.PingPongServiceVertxImplBase() {

        @Override
        public void unaryCall(Messages.SimpleRequest request, Future<Messages.SimpleResponse> future) {
            future.complete(Messages.SimpleResponse.newBuilder().setUsername("Paulo").build());
        }
    };
    // Create the server
    VertxServer rpcServer = VertxServerBuilder.forPort(vertx, 8080).addService(service).build();
    // start the server
    rpcServer.start(ar -> {
        if (ar.failed()) {
            ar.cause().printStackTrace();
        }
    });
}
Also used : Messages(io.vertx.example.grpc.Messages) VertxServer(io.vertx.grpc.VertxServer) Future(io.vertx.core.Future) PingPongServiceGrpc(io.vertx.example.grpc.PingPongServiceGrpc) EmptyPingPongServiceGrpc(io.vertx.example.grpc.EmptyPingPongServiceGrpc)

Example 5 with VertxServer

use of io.vertx.grpc.VertxServer in project vertx-zero by silentbalanceyh.

the class ZeroRpcAgent method start.

@Override
public void start() {
    /**
     * 1. Iterate all the configuration *
     */
    Fn.itMap(ZeroAtomic.RPC_OPTS, (port, config) -> {
        /**
         * 2.Rcp server builder initialized *
         */
        final VertxServerBuilder builder = VertxServerBuilder.forAddress(this.vertx, config.getHost(), config.getPort());
        /**
         * 3.Service added.
         */
        {
            // UnityService add ( Envelop )
            final Tunnel tunnel = Instance.singleton(UnityTunnel.class);
            builder.addService(tunnel.init(this.vertx));
        }
        /**
         * 4.Server added.
         */
        final VertxServer server = builder.build();
        server.start(handler -> this.registryServer(handler, config));
    });
}
Also used : VertxServerBuilder(io.vertx.grpc.VertxServerBuilder) Tunnel(io.vertx.up.micro.ipc.server.Tunnel) UnityTunnel(io.vertx.up.micro.ipc.server.UnityTunnel) UnityTunnel(io.vertx.up.micro.ipc.server.UnityTunnel) VertxServer(io.vertx.grpc.VertxServer)

Aggregations

VertxServer (io.vertx.grpc.VertxServer)10 Future (io.vertx.core.Future)7 Messages (io.vertx.example.grpc.Messages)4 HelloRequest (io.grpc.examples.helloworld.HelloRequest)3 VertxServerBuilder (io.vertx.grpc.VertxServerBuilder)3 AbstractVerticle (io.vertx.core.AbstractVerticle)2 JksOptions (io.vertx.core.net.JksOptions)2 EmptyPingPongServiceGrpc (io.vertx.example.grpc.EmptyPingPongServiceGrpc)2 GrpcBidiExchange (io.vertx.grpc.GrpcBidiExchange)2 GrpcReadStream (io.vertx.grpc.GrpcReadStream)2 GrpcWriteStream (io.vertx.grpc.GrpcWriteStream)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2 GreeterGrpc (io.grpc.examples.helloworld.GreeterGrpc)1 HelloReply (io.grpc.examples.helloworld.HelloReply)1 Feature (io.grpc.examples.routeguide.Feature)1 Point (io.grpc.examples.routeguide.Point)1 Rectangle (io.grpc.examples.routeguide.Rectangle)1 RouteNote (io.grpc.examples.routeguide.RouteNote)1 ConsumerServiceGrpc (io.vertx.example.grpc.ConsumerServiceGrpc)1 ConversationalServiceGrpc (io.vertx.example.grpc.ConversationalServiceGrpc)1