blob: 4cd2529a26bab8064ea71e2c2a650c258281d8bf [file] [log] [blame]
package org.apache.dubbo.sample.tri;
import io.grpc.stub.StreamObserver;
public class GrpcPbGreeterImpl extends PbGreeterGrpc.PbGreeterImplBase {
private final PbGreeter delegate;
public GrpcPbGreeterImpl(PbGreeter delegate) {
this.delegate = delegate;
}
@Override
public void greet(GreeterRequest request, StreamObserver<GreeterReply> responseObserver) {
try {
final GreeterReply response = delegate.greet(request);
responseObserver.onNext(response);
responseObserver.onCompleted();
} catch (Throwable t) {
responseObserver.onError(t);
}
}
@Override
public void greetException(GreeterRequest request, StreamObserver<GreeterReply> responseObserver) {
try {
final GreeterReply response = delegate.greetException(request);
responseObserver.onNext(response);
responseObserver.onCompleted();
} catch (Throwable t) {
responseObserver.onError(t);
}
}
@Override
public StreamObserver<GreeterRequest> greetStream(StreamObserver<GreeterReply> responseObserver) {
return new GrpcStreamObserverAdapter<>(delegate.greetStream(new StreamObserverAdapter<>(responseObserver)));
}
@Override
public void greetServerStream(GreeterRequest request, StreamObserver<GreeterReply> responseObserver) {
delegate.greetServerStream(request, new StreamObserverAdapter<>(responseObserver));
}
}