代码拉取完成,页面将自动刷新
// Generated by the go idl tools. DO NOT EDIT 2023-01-11 04:41:10
// source: TestCaller
package example
import (
"gitee.com/dennis-kk/rpc-go-backend/idlrpc"
"gitee.com/dennis-kk/rpc-go-backend/idlrpc/example/pbdata"
"gitee.com/dennis-kk/rpc-go-backend/idlrpc/pkg/errors"
"gitee.com/dennis-kk/rpc-go-backend/idlrpc/pkg/protocol"
"gitee.com/dennis-kk/rpc-go-backend/idlrpc/pkg/transport"
"google.golang.org/protobuf/proto"
)
// TestCallerProxy define stub.ProxyStub
type TestCallerProxy struct {
idlrpc.ProxyBase
}
func TestCallerProxyCreator(trans transport.ITransport) idlrpc.IProxy {
if trans == nil {
return nil
}
if trans.IsClose() {
return nil
}
srvProxy := &TestCallerProxy{}
srvProxy.SetTransport(trans)
return srvProxy
}
// GetUUID define function
func (sp *TestCallerProxy) GetUUID() uint64 {
return SrvUUID
}
func (sp *TestCallerProxy) GetSrvName() string {
return SrvName
}
func (sp *TestCallerProxy) GetSignature(methid uint32) string {
var sign string
switch methid {
}
return sign
}
func (sp *TestCallerProxy) IsOneWay(methodid uint32) (isoneway bool) {
switch methodid {
default:
isoneway = false
}
return
}
func (sp *TestCallerProxy) SetInfo(ctx idlrpc.IServiceContext, _1 string) (err error) {
rpc := sp.GetRpc()
if rpc == nil {
//TODO add define error
return
}
pbarg := &pbdata.TestCaller_SetInfoArgs{}
pbarg.Arg1 = _1
//_, err = rpc.Call(sp, 1, 1000, 0, pbarg)
_, err = rpc.SyncCall(ctx, sp, 1, 1000, 0, pbarg)
if err != nil {
return
}
return
}
func (sp *TestCallerProxy) GetInfo(ctx idlrpc.IServiceContext) (ret1 string, err error) {
rpc := sp.GetRpc()
if rpc == nil {
//TODO add define error
return
}
pbarg := &pbdata.TestCaller_GetInfoArgs{}
//respMsg, err := rpc.Call(sp, 2, 1000, 0, pbarg)
protoData, err := rpc.SyncCall(ctx, sp, 2, 1000, 0, pbarg)
if err != nil {
return
}
//如果是oneway 的方法 不用检测返回值序列化,相当于传统的调用
pbret := &pbdata.TestCaller_GetInfoRet{}
err = proto.Unmarshal(protoData, pbret)
if err != nil {
return
}
ret1 = pbret.Ret1
return
}
// ======================= Async Function =======================
// SetInfoAsync define func
func (sp *TestCallerProxy) SetInfoAsync(ctx idlrpc.IServiceContext, _1 string, cb SetInfoCallBack) (err error) {
rpc := sp.GetRpc()
if rpc == nil {
//TODO add define error
return
}
pbarg := &pbdata.TestCaller_SetInfoArgs{}
pbarg.Arg1 = _1
callBackWrapper := func(_ []byte, errorCode uint32) {
cb(idlrpc.RpcStrError(errorCode))
}
return rpc.AsyncCall(ctx, sp, 1, 1000, 0, pbarg, callBackWrapper)
}
// GetInfoAsync define func
func (sp *TestCallerProxy) GetInfoAsync(ctx idlrpc.IServiceContext, cb GetInfoCallBack) (err error) {
rpc := sp.GetRpc()
if rpc == nil {
cb("", errors.ErrRpcNotInit)
return
}
pbarg := &pbdata.TestCaller_GetInfoArgs{}
callBackWrapper := func(protoData []byte, errorCode uint32) {
if errorCode != protocol.IDL_SUCCESS {
cb("", idlrpc.RpcStrError(errorCode))
return
}
pbret := &pbdata.TestCaller_GetInfoRet{}
err = proto.Unmarshal(protoData, pbret)
if err != nil {
cb("", err)
return
}
cb(pbret.Ret1, nil)
}
return rpc.AsyncCall(ctx, sp, 2, 1000, 0, pbarg, callBackWrapper)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。