// Code generated by Kitex v0.9.1. DO NOT EDIT. package frontendservice import ( "context" "errors" client "github.com/cloudwego/kitex/client" kitex "github.com/cloudwego/kitex/pkg/serviceinfo" streaming "github.com/cloudwego/kitex/pkg/streaming" facade "github.com/suyiiyii/hertz101/rpc_gen/kitex_gen/facade" proto "google.golang.org/protobuf/proto" ) var errInvalidMessageType = errors.New("invalid message type for service method handler") var serviceMethods = map[string]kitex.MethodInfo{ "Login": kitex.NewMethodInfo( loginHandler, newLoginArgs, newLoginResult, false, kitex.WithStreamingMode(kitex.StreamingUnary), ), } var ( frontendServiceServiceInfo = NewServiceInfo() frontendServiceServiceInfoForClient = NewServiceInfoForClient() frontendServiceServiceInfoForStreamClient = NewServiceInfoForStreamClient() ) // for server func serviceInfo() *kitex.ServiceInfo { return frontendServiceServiceInfo } // for client func serviceInfoForStreamClient() *kitex.ServiceInfo { return frontendServiceServiceInfoForStreamClient } // for stream client func serviceInfoForClient() *kitex.ServiceInfo { return frontendServiceServiceInfoForClient } // NewServiceInfo creates a new ServiceInfo containing all methods func NewServiceInfo() *kitex.ServiceInfo { return newServiceInfo(false, true, true) } // NewServiceInfo creates a new ServiceInfo containing non-streaming methods func NewServiceInfoForClient() *kitex.ServiceInfo { return newServiceInfo(false, false, true) } func NewServiceInfoForStreamClient() *kitex.ServiceInfo { return newServiceInfo(true, true, false) } func newServiceInfo(hasStreaming bool, keepStreamingMethods bool, keepNonStreamingMethods bool) *kitex.ServiceInfo { serviceName := "FrontendService" handlerType := (*facade.FrontendService)(nil) methods := map[string]kitex.MethodInfo{} for name, m := range serviceMethods { if m.IsStreaming() && !keepStreamingMethods { continue } if !m.IsStreaming() && !keepNonStreamingMethods { continue } methods[name] = m } extra := map[string]interface{}{ "PackageName": "frontend", } if hasStreaming { extra["streaming"] = hasStreaming } svcInfo := &kitex.ServiceInfo{ ServiceName: serviceName, HandlerType: handlerType, Methods: methods, PayloadCodec: kitex.Protobuf, KiteXGenVersion: "v0.9.1", Extra: extra, } return svcInfo } func loginHandler(ctx context.Context, handler interface{}, arg, result interface{}) error { switch s := arg.(type) { case *streaming.Args: st := s.Stream req := new(facade.LoginReq) if err := st.RecvMsg(req); err != nil { return err } resp, err := handler.(facade.FrontendService).Login(ctx, req) if err != nil { return err } return st.SendMsg(resp) case *LoginArgs: success, err := handler.(facade.FrontendService).Login(ctx, s.Req) if err != nil { return err } realResult := result.(*LoginResult) realResult.Success = success return nil default: return errInvalidMessageType } } func newLoginArgs() interface{} { return &LoginArgs{} } func newLoginResult() interface{} { return &LoginResult{} } type LoginArgs struct { Req *facade.LoginReq } func (p *LoginArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetReq() { p.Req = new(facade.LoginReq) } return p.Req.FastRead(buf, _type, number) } func (p *LoginArgs) FastWrite(buf []byte) (n int) { if !p.IsSetReq() { return 0 } return p.Req.FastWrite(buf) } func (p *LoginArgs) Size() (n int) { if !p.IsSetReq() { return 0 } return p.Req.Size() } func (p *LoginArgs) Marshal(out []byte) ([]byte, error) { if !p.IsSetReq() { return out, nil } return proto.Marshal(p.Req) } func (p *LoginArgs) Unmarshal(in []byte) error { msg := new(facade.LoginReq) if err := proto.Unmarshal(in, msg); err != nil { return err } p.Req = msg return nil } var LoginArgs_Req_DEFAULT *facade.LoginReq func (p *LoginArgs) GetReq() *facade.LoginReq { if !p.IsSetReq() { return LoginArgs_Req_DEFAULT } return p.Req } func (p *LoginArgs) IsSetReq() bool { return p.Req != nil } func (p *LoginArgs) GetFirstArgument() interface{} { return p.Req } type LoginResult struct { Success *facade.LoginResp } var LoginResult_Success_DEFAULT *facade.LoginResp func (p *LoginResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) { if !p.IsSetSuccess() { p.Success = new(facade.LoginResp) } return p.Success.FastRead(buf, _type, number) } func (p *LoginResult) FastWrite(buf []byte) (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.FastWrite(buf) } func (p *LoginResult) Size() (n int) { if !p.IsSetSuccess() { return 0 } return p.Success.Size() } func (p *LoginResult) Marshal(out []byte) ([]byte, error) { if !p.IsSetSuccess() { return out, nil } return proto.Marshal(p.Success) } func (p *LoginResult) Unmarshal(in []byte) error { msg := new(facade.LoginResp) if err := proto.Unmarshal(in, msg); err != nil { return err } p.Success = msg return nil } func (p *LoginResult) GetSuccess() *facade.LoginResp { if !p.IsSetSuccess() { return LoginResult_Success_DEFAULT } return p.Success } func (p *LoginResult) SetSuccess(x interface{}) { p.Success = x.(*facade.LoginResp) } func (p *LoginResult) IsSetSuccess() bool { return p.Success != nil } func (p *LoginResult) GetResult() interface{} { return p.Success } type kClient struct { c client.Client } func newServiceClient(c client.Client) *kClient { return &kClient{ c: c, } } func (p *kClient) Login(ctx context.Context, Req *facade.LoginReq) (r *facade.LoginResp, err error) { var _args LoginArgs _args.Req = Req var _result LoginResult if err = p.c.Call(ctx, "Login", &_args, &_result); err != nil { return } return _result.GetSuccess(), nil }