public class DLedgerRpcNettyService extends DLedgerRpcService
| 构造器和说明 |
|---|
DLedgerRpcNettyService(AbstractDLedgerServer dLedger) |
DLedgerRpcNettyService(AbstractDLedgerServer dLedger,
org.apache.rocketmq.remoting.netty.NettyServerConfig nettyServerConfig,
org.apache.rocketmq.remoting.netty.NettyClientConfig nettyClientConfig) |
DLedgerRpcNettyService(AbstractDLedgerServer dLedger,
org.apache.rocketmq.remoting.netty.NettyServerConfig nettyServerConfig,
org.apache.rocketmq.remoting.netty.NettyClientConfig nettyClientConfig,
org.apache.rocketmq.remoting.ChannelEventListener channelEventListener) |
| 限定符和类型 | 方法和说明 |
|---|---|
java.util.concurrent.CompletableFuture<AppendEntryResponse> |
append(AppendEntryRequest request) |
java.util.concurrent.CompletableFuture<GetEntriesResponse> |
get(GetEntriesRequest request) |
org.apache.rocketmq.remoting.netty.NettyRemotingClient |
getRemotingClient() |
org.apache.rocketmq.remoting.netty.NettyRemotingServer |
getRemotingServer() |
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 |
setDLedger(AbstractDLedgerServer dLedger) |
void |
shutdown() |
void |
startup() |
java.util.concurrent.CompletableFuture<VoteResponse> |
vote(VoteRequest request) |
public DLedgerRpcNettyService(AbstractDLedgerServer dLedger)
public DLedgerRpcNettyService(AbstractDLedgerServer dLedger, org.apache.rocketmq.remoting.netty.NettyServerConfig nettyServerConfig, org.apache.rocketmq.remoting.netty.NettyClientConfig nettyClientConfig)
public DLedgerRpcNettyService(AbstractDLedgerServer dLedger, org.apache.rocketmq.remoting.netty.NettyServerConfig nettyServerConfig, org.apache.rocketmq.remoting.netty.NettyClientConfig nettyClientConfig, org.apache.rocketmq.remoting.ChannelEventListener channelEventListener)
public java.util.concurrent.CompletableFuture<HeartBeatResponse> heartBeat(HeartBeatRequest request)
public java.util.concurrent.CompletableFuture<VoteResponse> vote(VoteRequest request)
public 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 void setDLedger(AbstractDLedgerServer dLedger)
public org.apache.rocketmq.remoting.netty.NettyRemotingServer getRemotingServer()
public org.apache.rocketmq.remoting.netty.NettyRemotingClient getRemotingClient()
Copyright © 2022. All Rights Reserved.