mirror of
https://github.com/duanhf2012/origin.git
synced 2026-03-06 06:07:32 +08:00
优化RPC异步调用
This commit is contained in:
@@ -235,8 +235,11 @@ func (handler *RpcHandler) HandlerRpcRequest(request *RpcRequest) {
|
|||||||
request.requestHandle(nil,rpcErr)
|
request.requestHandle(nil,rpcErr)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if request.requestHandle == nil {
|
||||||
|
ReleaseRpcRequest(request)
|
||||||
|
}
|
||||||
}()
|
}()
|
||||||
defer ReleaseRpcRequest(request)
|
|
||||||
if request.inputArgs!=nil {
|
if request.inputArgs!=nil {
|
||||||
defer request.inputArgs.DoGc()
|
defer request.inputArgs.DoGc()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -164,6 +164,7 @@ func (agent *RpcAgent) Run() {
|
|||||||
if req.RpcRequestData.IsNoReply()==false {
|
if req.RpcRequestData.IsNoReply()==false {
|
||||||
req.requestHandle = func(Returns interface{},Err RpcError){
|
req.requestHandle = func(Returns interface{},Err RpcError){
|
||||||
agent.WriteResponse(processor,req.RpcRequestData.GetServiceMethod(),req.RpcRequestData.GetSeq(),Returns,Err)
|
agent.WriteResponse(processor,req.RpcRequestData.GetServiceMethod(),req.RpcRequestData.GetSeq(),Returns,Err)
|
||||||
|
ReleaseRpcRequest(req)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user