Can someone help me understand how I can send the error in case of full duplex with ReadStream and WriteStream.
This is the sample proto file.
syntax = "proto3";
option java_multiple_files = true;
option java_package = "com.pace.vertx.grpc.generated";
package com.pace.vertx.grpc.generated;
service ArrangementService {
rpc GetArrangementDetails (stream ArrangementRequest) returns (stream ArrangementAllDetails) {}
}
message ArrangementRequest {
string arrangementId = 1;
}
message ArrangementAllDetails {
string arrangementDetails = 1;
}
This is the code I have so far.
BindableService vertxArrangementServiceGrpc = new VertxArrangementServiceGrpc.ArrangementServiceVertxImplBase() {
@Override
public void getArrangementDetails(ReadStream<ArrangementRequest> request, WriteStream<ArrangementAllDetails> response) {
Pump.pump((ReadStream)request, response).start();
request.handler(arrangementRequest -> {
couchbaseDAO.getReactiveCollection()
.get(arrangementRequest.getArrangementId())
.map(getResult -> getResult
.contentAsObject()
.removeKey("key_tx")
.removeKey("version"))
.subscribe(
jsonObject -> response.end(ArrangementAllDetails.newBuilder().setArrangementDetails(jsonObject.toString()).build()),
error -> ?????
);
});
}
}
.withCompression("gzip");
How can I send the error back in the error subscription block ?
question from:
https://stackoverflow.com/questions/66047667/sending-the-error-in-case-of-grpc-with-full-duplex-readstream-and-writestream 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…