in ratis-hadoop/src/main/java/org/apache/ratis/hadooprpc/server/RaftServerProtocolServerSideTranslatorPB.java [50:78]
public ServerReplyProto sendServer(RpcController unused, ServerRequestProto requestProto) throws ServiceException {
ServerOps type = requestProto.getType();
ByteBuffer buffer = requestProto.getRequest().asReadOnlyByteBuffer();
GeneratedMessageV3 respone = null;
try {
switch (type) {
case requestVote:
respone = requestVote(RequestVoteRequestProto.parseFrom(buffer));
break;
case startLeaderElection:
respone = startLeaderElection(StartLeaderElectionRequestProto.parseFrom(buffer));
break;
case installSnapshot:
respone = installSnapshot(InstallSnapshotRequestProto.parseFrom(buffer));
break;
case appendEntries:
respone = appendEntries(AppendEntriesRequestProto.parseFrom(buffer));
break;
default:
throw new IOException("Invalid Request Type:" + type);
}
return ServerReplyProto.newBuilder()
.setType(type)
.setResponse(com.google.protobuf.ByteString.copyFrom(respone.toByteArray()))
.build();
} catch(IOException ioe) {
throw new ServiceException(ioe);
}
}