| 限定符和类型 | 方法和说明 |
|---|---|
static Future |
SofaResponseFuture.getFuture() |
static Future |
SofaResponseFuture.getFuture(boolean clear) |
static Object |
SofaResponseFuture.getResponse(long timeout,
boolean clear)
get response
If remoting get exception, framework will wrapped it to SofaRpcException
|
static boolean |
SofaResponseFuture.isDone()
Returns true if this task completed.
|
| 限定符和类型 | 方法和说明 |
|---|---|
SofaResponse |
FailoverCluster.doInvoke(SofaRequest request) |
SofaResponse |
FailFastCluster.doInvoke(SofaRequest request) |
protected abstract SofaResponse |
AbstractCluster.doInvoke(SofaRequest msg)
子类实现各自逻辑的调用,例如重试等
|
protected SofaResponse |
AbstractCluster.doSendMsg(ProviderInfo providerInfo,
ClientTransport transport,
SofaRequest request)
调用客户端
|
protected SofaResponse |
AbstractCluster.filterChain(ProviderInfo providerInfo,
SofaRequest request)
发起调用链
|
SofaResponse |
ClientProxyInvoker.invoke(SofaRequest request)
proxy拦截的调用
|
SofaResponse |
AbstractCluster.invoke(SofaRequest request) |
protected ProviderInfo |
AbstractCluster.select(SofaRequest message)
根据规则进行负载均衡
|
abstract ProviderInfo |
LoadBalancer.select(SofaRequest request,
List<ProviderInfo> providerInfos)
选择服务
|
ProviderInfo |
AbstractLoadBalancer.select(SofaRequest request,
List<ProviderInfo> providerInfos) |
protected ProviderInfo |
AbstractCluster.select(SofaRequest message,
List<ProviderInfo> invokedProviderInfos)
根据规则进行负载均衡
|
abstract SofaResponse |
Cluster.sendMsg(ProviderInfo providerInfo,
SofaRequest request)
调用远程地址发送消息
|
SofaResponse |
AbstractCluster.sendMsg(ProviderInfo providerInfo,
SofaRequest request) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected SofaRpcException |
AbstractSerializer.buildDeserializeError(String message) |
protected SofaRpcException |
AbstractSerializer.buildDeserializeError(String message,
Throwable throwable) |
protected SofaRpcException |
AbstractSerializer.buildSerializeError(String message) |
protected SofaRpcException |
AbstractSerializer.buildSerializeError(String message,
Throwable throwable) |
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
Serializer.decode(AbstractByteBuf data,
Class clazz,
Map<String,String> context)
反序列化,只有类型,返回对象
|
void |
Serializer.decode(AbstractByteBuf data,
Object template,
Map<String,String> context)
反序列化,已有数据,填充字段
|
AbstractByteBuf |
Serializer.encode(Object object,
Map<String,String> context)
序列化
|
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
ProtobufSerializer.decode(AbstractByteBuf data,
Class clazz,
Map<String,String> context) |
void |
ProtobufSerializer.decode(AbstractByteBuf data,
Object template,
Map<String,String> context) |
AbstractByteBuf |
ProtobufSerializer.encode(Object object,
Map<String,String> context) |
protected AbstractByteBuf |
ProtobufSerializer.encodeSofaRequest(SofaRequest sofaRequest,
Map<String,String> context) |
protected AbstractByteBuf |
ProtobufSerializer.encodeSofaResponse(SofaResponse sofaResponse,
Map<String,String> context) |
| 限定符和类型 | 方法和说明 |
|---|---|
Object |
SofaHessianSerializer.decode(AbstractByteBuf data,
Class clazz,
Map<String,String> context) |
void |
SofaHessianSerializer.decode(AbstractByteBuf data,
Object template,
Map<String,String> context) |
protected SofaRequest |
SofaHessianSerializer.decodeSofaRequest(AbstractByteBuf data,
Map<String,String> context)
Do decode SofaRequest
|
protected void |
SofaHessianSerializer.decodeSofaRequestByTemplate(AbstractByteBuf data,
Map<String,String> context,
SofaRequest template)
Do decode SofaRequest
|
protected SofaResponse |
SofaHessianSerializer.decodeSofaResponse(AbstractByteBuf data,
Map<String,String> context)
Do decode SofaResponse
|
protected void |
SofaHessianSerializer.decodeSofaResponseByTemplate(AbstractByteBuf data,
Map<String,String> context,
SofaResponse template)
Do decode SofaResponse
|
| 限定符和类型 | 方法和说明 |
|---|---|
static boolean |
ExceptionUtils.isClientException(SofaRpcException exception) |
static boolean |
ExceptionUtils.isServerException(SofaRpcException exception) |
| 限定符和类型 | 类和说明 |
|---|---|
class |
SofaRouteException
SOFA RPC Route Exception
|
class |
SofaTimeOutException
SOFA RPC Timeout Exception
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
SofaResponseCallback.onSofaException(SofaRpcException sofaException,
String methodName,
RequestBase request)
SOFA RPC will callback this method when framework meet exception
|
void |
SendableResponseCallback.sendSofaException(SofaRpcException exception)
A->B(当前)->C的场景下,B将异常异步返回给调用者A
|
| 限定符和类型 | 方法和说明 |
|---|---|
abstract SofaResponse |
Filter.invoke(FilterInvoker invoker,
SofaRequest request)
Do filtering
doBeforeInvoke(); // the code before invoke, even new dummy response for return (skip all next invoke). |
SofaResponse |
ExcludeFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
SofaResponse |
ProviderExceptionFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
SofaResponse |
ConsumerExceptionFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
SofaResponse |
ProviderBaggageFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
SofaResponse |
ConsumerGenericFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
SofaResponse |
RpcServiceContextFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
SofaResponse |
RpcReferenceContextFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
SofaResponse |
ProviderInvoker.invoke(SofaRequest request) |
SofaResponse |
FilterInvoker.invoke(SofaRequest request) |
SofaResponse |
FilterChain.invoke(SofaRequest sofaRequest) |
SofaResponse |
ConsumerInvoker.invoke(SofaRequest sofaRequest) |
void |
FilterChain.onAsyncResponse(ConsumerConfig config,
SofaRequest request,
SofaResponse response,
Throwable throwable)
Do filtering when async respond from server
|
void |
Filter.onAsyncResponse(ConsumerConfig config,
SofaRequest request,
SofaResponse response,
Throwable exception)
Do filtering after asynchronous respond, only supported in CONSUMER SIDE.
|
| 限定符和类型 | 方法和说明 |
|---|---|
SofaResponse |
ProviderTracerFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
SofaResponse |
ConsumerTracerFilter.invoke(FilterInvoker invoker,
SofaRequest request) |
| 限定符和类型 | 方法和说明 |
|---|---|
SofaResponse |
Invoker.invoke(SofaRequest request)
执行调用
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
BoltSendableResponseCallback.onSofaException(SofaRpcException sofaException,
String methodName,
RequestBase request) |
void |
BoltSendableResponseCallback.sendSofaException(SofaRpcException sofaException)
A->B(当前)->C的场景下,将远程服务端C的RPc异常异步返回给调用者A
|
protected void |
BoltSendableResponseCallback.sendSofaResponse(SofaResponse response,
SofaRpcException sofaException)
发送响应数据
|
| 限定符和类型 | 方法和说明 |
|---|---|
SofaResponse |
ProviderProxyInvoker.invoke(SofaRequest request)
proxy拦截的调用
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected SofaResponse |
AbstractHttpServerTask.doInvoke(String serviceName,
Invoker invoker,
SofaRequest request) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected SofaRpcException |
AbstractProxyClientTransport.convertToRpcException(InvocationTargetException e)
转换调用出现的异常为RPC异常
|
| 限定符和类型 | 方法和说明 |
|---|---|
abstract ResponseFuture |
ClientTransport.asyncSend(SofaRequest message,
int timeout)
异步调用
|
ResponseFuture |
AbstractProxyClientTransport.asyncSend(SofaRequest message,
int timeout) |
protected abstract Object |
AbstractProxyClientTransport.buildProxy(ClientTransportConfig transportConfig)
构造远程调用代理
|
protected abstract Method |
AbstractProxyClientTransport.getMethod(SofaRequest request)
构造远程调用代理
|
abstract void |
ClientTransport.oneWaySend(SofaRequest message,
int timeout)
单向调用
|
void |
AbstractProxyClientTransport.oneWaySend(SofaRequest message,
int timeout) |
abstract SofaResponse |
ClientTransport.syncSend(SofaRequest message,
int timeout)
同步调用
|
SofaResponse |
AbstractProxyClientTransport.syncSend(SofaRequest request,
int timeout) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected SofaRpcException |
BoltClientTransport.convertToRpcException(Exception e)
转换调用出现的异常为RPC异常
|
| 限定符和类型 | 方法和说明 |
|---|---|
ResponseFuture |
BoltClientTransport.asyncSend(SofaRequest request,
int timeout) |
protected void |
BoltClientTransport.checkConnection() |
void |
BoltClientTransport.oneWaySend(SofaRequest request,
int timeout) |
SofaResponse |
BoltClientTransport.syncSend(SofaRequest request,
int timeout) |
| 限定符和类型 | 方法和说明 |
|---|---|
ResponseFuture |
AbstractHttp2ClientTransport.asyncSend(SofaRequest request,
int timeout) |
protected void |
AbstractHttp2ClientTransport.checkConnection() |
static byte |
HttpTransportUtils.getSerializeTypeByContentType(String contentType)
Parse serialize type from content type
|
static byte |
HttpTransportUtils.getSerializeTypeByName(String serialization)
根据序列化名称获得序列化类型
|
void |
AbstractHttp2ClientTransport.oneWaySend(SofaRequest request,
int timeout) |
SofaResponse |
AbstractHttp2ClientTransport.syncSend(SofaRequest request,
int timeout) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected Object |
RestClientTransport.buildProxy(ClientTransportConfig transportConfig) |
protected Method |
RestClientTransport.getMethod(SofaRequest request) |
Copyright © 2008–2018 The Ant Financial. All rights reserved.