public class DLedgerRpcNettyService extends DLedgerRpcService
| 构造器和说明 |
|---|
DLedgerRpcNettyService(DLedgerServer dLedgerServer) |
| 限定符和类型 | 方法和说明 |
|---|---|
java.util.concurrent.CompletableFuture<AppendEntryResponse> |
append(AppendEntryRequest request) |
java.util.concurrent.CompletableFuture<GetEntriesResponse> |
get(GetEntriesRequest request) |
DLedgerServer |
getdLedgerServer() |
MemberState |
getMemberState() |
java.util.concurrent.CompletableFuture<AppendEntryResponse> |
handleAppend(AppendEntryRequest request) |
java.util.concurrent.CompletableFuture<GetEntriesResponse> |
handleGet(GetEntriesRequest request) |
java.util.concurrent.CompletableFuture<HeartBeatResponse> |
handleHeartBeat(HeartBeatRequest request) |
java.util.concurrent.CompletableFuture<LeadershipTransferResponse> |
handleLeadershipTransfer(LeadershipTransferRequest leadershipTransferRequest) |
java.util.concurrent.CompletableFuture<MetadataResponse> |
handleMetadata(MetadataRequest request) |
java.util.concurrent.CompletableFuture<PullEntriesResponse> |
handlePull(PullEntriesRequest request) |
java.util.concurrent.CompletableFuture<PushEntryResponse> |
handlePush(PushEntryRequest request) |
org.apache.rocketmq.remoting.protocol.RemotingCommand |
handleResponse(RequestOrResponse response,
org.apache.rocketmq.remoting.protocol.RemotingCommand request) |
java.util.concurrent.CompletableFuture<VoteResponse> |
handleVote(VoteRequest request) |
java.util.concurrent.CompletableFuture<HeartBeatResponse> |
heartBeat(HeartBeatRequest request) |
java.util.concurrent.CompletableFuture<LeadershipTransferResponse> |
leadershipTransfer(LeadershipTransferRequest request) |
java.util.concurrent.CompletableFuture<MetadataResponse> |
metadata(MetadataRequest request) |
org.apache.rocketmq.remoting.protocol.RemotingCommand |
processRequest(io.netty.channel.ChannelHandlerContext ctx,
org.apache.rocketmq.remoting.protocol.RemotingCommand request)
The core method to handle rpc requests.
|
java.util.concurrent.CompletableFuture<PullEntriesResponse> |
pull(PullEntriesRequest request) |
java.util.concurrent.CompletableFuture<PushEntryResponse> |
push(PushEntryRequest request) |
void |
setdLedgerServer(DLedgerServer dLedgerServer) |
void |
setMemberState(MemberState memberState) |
void |
shutdown() |
void |
startup() |
java.util.concurrent.CompletableFuture<VoteResponse> |
vote(VoteRequest request) |
public DLedgerRpcNettyService(DLedgerServer dLedgerServer)
public java.util.concurrent.CompletableFuture<HeartBeatResponse> heartBeat(HeartBeatRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<VoteResponse> vote(VoteRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<GetEntriesResponse> get(GetEntriesRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<AppendEntryResponse> append(AppendEntryRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<MetadataResponse> metadata(MetadataRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<PullEntriesResponse> pull(PullEntriesRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<PushEntryResponse> push(PushEntryRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<LeadershipTransferResponse> leadershipTransfer(LeadershipTransferRequest request) throws java.lang.Exception
java.lang.Exceptionpublic org.apache.rocketmq.remoting.protocol.RemotingCommand processRequest(io.netty.channel.ChannelHandlerContext ctx,
org.apache.rocketmq.remoting.protocol.RemotingCommand request)
throws java.lang.Exception
1. separate the caller from actual executor, which make it able to handle the future results by the caller's wish 2. simplify the later execution method
CompletableFuture is an excellent choice, whenCompleteAsync will handle the response asynchronously. With an independent thread-pool, it will improve performance and reduce blocking points.
ctx - request - java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<LeadershipTransferResponse> handleLeadershipTransfer(LeadershipTransferRequest leadershipTransferRequest) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<HeartBeatResponse> handleHeartBeat(HeartBeatRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<VoteResponse> handleVote(VoteRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<AppendEntryResponse> handleAppend(AppendEntryRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<GetEntriesResponse> handleGet(GetEntriesRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<MetadataResponse> handleMetadata(MetadataRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<PullEntriesResponse> handlePull(PullEntriesRequest request) throws java.lang.Exception
java.lang.Exceptionpublic java.util.concurrent.CompletableFuture<PushEntryResponse> handlePush(PushEntryRequest request) throws java.lang.Exception
java.lang.Exceptionpublic org.apache.rocketmq.remoting.protocol.RemotingCommand handleResponse(RequestOrResponse response, org.apache.rocketmq.remoting.protocol.RemotingCommand request)
public void startup()
startup 在类中 DLedgerRpcServicepublic void shutdown()
shutdown 在类中 DLedgerRpcServicepublic MemberState getMemberState()
public void setMemberState(MemberState memberState)
public DLedgerServer getdLedgerServer()
public void setdLedgerServer(DLedgerServer dLedgerServer)
Copyright © 2020. All Rights Reserved.