| 限定符和类型 | 方法和说明 |
|---|---|
static RpcFuture |
RpcFuture.createRpcFuture(Request request,
RpcClient rpcClient) |
io.netty.channel.Channel |
RpcClient.selectChannel(Request request)
select instance by load balance and select channel from the instance.
|
<T> AsyncAwareFuture<T> |
RpcClient.sendRequest(Request request) |
| 限定符和类型 | 方法和说明 |
|---|---|
BrpcChannel |
LoadBalanceStrategy.selectInstance(Request request,
List<BrpcChannel> instances,
Set<BrpcChannel> selectedInstances)
select instance channel from total instances
|
BrpcChannel |
RoundRobinStrategy.selectInstance(Request request,
List<BrpcChannel> instances,
Set<BrpcChannel> selectedInstances) |
BrpcChannel |
WeightStrategy.selectInstance(Request request,
List<BrpcChannel> instances,
Set<BrpcChannel> selectedInstances) |
BrpcChannel |
FairStrategy.selectInstance(Request request,
List<BrpcChannel> instances,
Set<BrpcChannel> selectedInstances) |
BrpcChannel |
RandomStrategy.selectInstance(Request request,
List<BrpcChannel> instances,
Set<BrpcChannel> selectedInstances) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
ServerTraceInterceptor.aroundProcess(Request request,
Response response,
InterceptorChain chain) |
void |
LoadBalanceInterceptor.aroundProcess(Request request,
Response response,
InterceptorChain chain) |
void |
AbstractInterceptor.aroundProcess(Request request,
Response response,
InterceptorChain chain) |
void |
ServerPushInterceptor.aroundProcess(Request request,
Response response,
InterceptorChain chain) |
void |
ClientTraceInterceptor.aroundProcess(Request request,
Response response,
InterceptorChain chain) |
void |
ServerInvokeInterceptor.aroundProcess(Request request,
Response response,
InterceptorChain chain) |
void |
Interceptor.aroundProcess(Request request,
Response response,
InterceptorChain chain)
The around intercept for RPC methods.
|
boolean |
ServerTraceInterceptor.handleRequest(Request request) |
boolean |
AbstractInterceptor.handleRequest(Request request) |
boolean |
CurrentLimitInterceptor.handleRequest(Request request) |
boolean |
ClientTraceInterceptor.handleRequest(Request request) |
boolean |
Interceptor.handleRequest(Request request)
This method is called in two scenarios:
Before the client sends the request;
Before the server processes the request.
|
void |
InterceptorChain.intercept(Request request,
Response response) |
void |
DefaultInterceptorChain.intercept(Request request,
Response response) |
protected void |
LoadBalanceInterceptor.invokeRpc(Request request,
Response response) |
protected void |
ServerPushInterceptor.invokeRpc(Request request,
Response response) |
protected void |
LoadBalanceInterceptor.rpcCore(Request request,
Response response) |
protected void |
ServerPushInterceptor.rpcCore(Request request,
Response response) |
protected io.netty.channel.Channel |
ServerPushInterceptor.selectChannel(Request request) |
| 限定符和类型 | 类和说明 |
|---|---|
class |
AbstractRequest |
class |
HttpRequest
Bprc http request implementation, used for http protocols.
|
class |
RpcRequest
Bprc tcp request implementation, used for tcp protocols.
|
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
Protocol.createRequest()
create a new request instance
|
Request |
AbstractProtocol.createRequest() |
Request |
Protocol.decodeRequest(Object packet)
服务端反序列化rpc请求
|
Request |
Protocol.getRequest()
get a reusable request instance from threadLocal or pool
the request instance must be reset before reuse
|
Request |
AbstractProtocol.getRequest() |
Request |
Request.retain() |
Request |
HttpRequest.retain() |
Request |
AbstractRequest.retain() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
Protocol.afterResponseSent(Request request,
Response response,
io.netty.channel.ChannelFuture channelFuture)
do something if needed after server channel writeAndFlush
|
void |
AbstractProtocol.afterResponseSent(Request request,
Response response,
io.netty.channel.ChannelFuture channelFuture) |
void |
Protocol.beforeRequestSent(Request request,
RpcClient rpcClient,
BrpcChannel channelGroup)
do something if needed before client send request
|
void |
AbstractProtocol.beforeRequestSent(Request request,
RpcClient rpcClient,
BrpcChannel channelGroup) |
io.netty.buffer.ByteBuf |
Protocol.encodeRequest(Request request)
客户端序列化请求对象
|
io.netty.buffer.ByteBuf |
Protocol.encodeResponse(Request request,
Response response)
服务端序列化返回结果。
|
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
HttpRpcProtocol.createRequest() |
Request |
HttpRpcProtocol.decodeRequest(Object packet) |
Request |
HttpRpcProtocol.getRequest() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
HttpRpcProtocol.afterResponseSent(Request request,
Response response,
io.netty.channel.ChannelFuture channelFuture) |
void |
HttpRpcProtocol.beforeRequestSent(Request request,
RpcClient rpcClient,
BrpcChannel channelGroup) |
io.netty.buffer.ByteBuf |
HttpRpcProtocol.encodeRequest(Request request) |
io.netty.buffer.ByteBuf |
HttpRpcProtocol.encodeResponse(Request request,
Response response) |
byte[] |
HttpRpcProtocol.encodeResponseBody(int protocolType,
Request request,
Response response) |
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
HuluRpcProtocol.decodeRequest(Object packet) |
| 限定符和类型 | 方法和说明 |
|---|---|
io.netty.buffer.ByteBuf |
HuluRpcProtocol.encodeRequest(Request request) |
io.netty.buffer.ByteBuf |
HuluRpcProtocol.encodeResponse(Request request,
Response response) |
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
NSHeadRpcProtocol.decodeRequest(Object packet) |
| 限定符和类型 | 方法和说明 |
|---|---|
io.netty.buffer.ByteBuf |
NSHeadRpcProtocol.encodeRequest(Request request) |
io.netty.buffer.ByteBuf |
NSHeadRpcProtocol.encodeResponse(Request request,
Response response) |
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
PublicPbrpcProtocol.decodeRequest(Object packet) |
| 限定符和类型 | 方法和说明 |
|---|---|
io.netty.buffer.ByteBuf |
PublicPbrpcProtocol.encodeRequest(Request request) |
io.netty.buffer.ByteBuf |
PublicPbrpcProtocol.encodeResponse(Request request,
Response response) |
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
DefaultServerPushProtocol.createRequest() |
Request |
DefaultServerPushProtocol.decodeRequest(Object packet) |
Request |
DefaultServerPushProtocol.getRequest() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
DefaultServerPushProtocol.afterResponseSent(Request request,
Response response,
io.netty.channel.ChannelFuture channelFuture) |
void |
DefaultServerPushProtocol.beforeRequestSent(Request request,
RpcClient rpcClient,
BrpcChannel channelGroup) |
void |
DefaultServerPushProtocol.decodeRequestBody(SPBody body,
Request request) |
io.netty.buffer.ByteBuf |
DefaultServerPushProtocol.encodeRequest(Request request) |
io.netty.buffer.ByteBuf |
DefaultServerPushProtocol.encodeRequestBody(Request request,
RpcMethodInfo rpcMethodInfo) |
io.netty.buffer.ByteBuf |
DefaultServerPushProtocol.encodeResponse(Request request,
Response response) |
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
SofaRpcProtocol.decodeRequest(Object packet) |
| 限定符和类型 | 方法和说明 |
|---|---|
io.netty.buffer.ByteBuf |
SofaRpcProtocol.encodeRequest(Request request) |
io.netty.buffer.ByteBuf |
SofaRpcProtocol.encodeResponse(Request request,
Response response) |
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
BaiduRpcProtocol.decodeRequest(Object packet) |
| 限定符和类型 | 方法和说明 |
|---|---|
io.netty.buffer.ByteBuf |
BaiduRpcProtocol.encodeRequest(Request request) |
io.netty.buffer.ByteBuf |
BaiduRpcProtocol.encodeResponse(Request request,
Response response) |
| 限定符和类型 | 方法和说明 |
|---|---|
Request |
StargateRpcProtocol.decodeRequest(Object packet) |
| 限定符和类型 | 方法和说明 |
|---|---|
io.netty.buffer.ByteBuf |
StargateRpcProtocol.encodeRequest(Request request) |
io.netty.buffer.ByteBuf |
StargateRpcProtocol.encodeResponse(Request request,
Response response) |
| 限定符和类型 | 方法和说明 |
|---|---|
<T> AsyncAwareFuture<T> |
RpcServer.sendServerPush(Request request) |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
CurrentLimiter.isAllowable(Request request) |
boolean |
CounterCurrentLimiter.isAllowable(Request request) |
boolean |
TokenBucketCurrentLimiter.isAllowable(Request request) |
Copyright © 2019 Baidu, Inc.. All rights reserved.