GreetingServiceImpl.java 1.56 KB
Newer Older
Gabriele Civitarese's avatar
Gabriele Civitarese committed
1 2
package grpchelloserver;

Gabriele Civitarese's avatar
Gabriele Civitarese committed
3 4
import com.example.grpc.GreetingServiceGrpc.GreetingServiceImplBase;
import com.example.grpc.GreetingServiceOuterClass.*;
Gabriele Civitarese's avatar
Gabriele Civitarese committed
5 6
import io.grpc.stub.StreamObserver;

Gabriele Civitarese's avatar
Gabriele Civitarese committed
7
public class GreetingServiceImpl extends GreetingServiceImplBase {
Gabriele Civitarese's avatar
Gabriele Civitarese committed
8 9

    @Override
Gabriele Civitarese's avatar
Gabriele Civitarese committed
10
    public void greeting(HelloRequest request, StreamObserver<HelloResponse> responseObserver){
Gabriele Civitarese's avatar
Gabriele Civitarese committed
11 12 13 14 15

        //la richiesta è di tipo HelloRequest (definito in .proto)
        System.out.println(request);

        //costruisco la richiesta di tipo HelloResponse (sempre definito in .proto)
Gabriele Civitarese's avatar
Gabriele Civitarese committed
16
        HelloResponse response = HelloResponse.newBuilder().setGreeting("Hello there, "+request.getName()).build();
Gabriele Civitarese's avatar
Gabriele Civitarese committed
17 18 19 20 21 22 23 24 25 26

        //passo la risposta nello stream
        responseObserver.onNext(response);

        //completo e finisco la comunicazione
        responseObserver.onCompleted();

    }

    @Override
Gabriele Civitarese's avatar
Gabriele Civitarese committed
27
    public void streamGreeting(HelloRequest request, StreamObserver<HelloResponse> responseObserver){
Gabriele Civitarese's avatar
Gabriele Civitarese committed
28 29 30 31 32 33 34

        System.out.println("Metodo stream chiamato!");

        //la richiesta è di tipo HelloRequest (definito in .proto)
        System.out.println(request);

        //costruisco la richiesta di tipo HelloResponse (sempre definito in .proto)
Gabriele Civitarese's avatar
Gabriele Civitarese committed
35
        HelloResponse response = HelloResponse.newBuilder().setGreeting("Hello there, "+request.getName()).build();
Gabriele Civitarese's avatar
Gabriele Civitarese committed
36 37 38 39 40 41 42 43 44 45 46 47

        //passo la risposta nello stream
        responseObserver.onNext(response);
        responseObserver.onNext(response);
        responseObserver.onNext(response);

        //completo e finisco la comunicazione
        responseObserver.onCompleted();

    }

}