2025-01-17 17:09:32 +08:00

433 lines
9.1 KiB
Go

// Code generated by Kitex v0.9.1. DO NOT EDIT.
package userservice
import (
"context"
"errors"
client "github.com/cloudwego/kitex/client"
kitex "github.com/cloudwego/kitex/pkg/serviceinfo"
streaming "github.com/cloudwego/kitex/pkg/streaming"
user "github.com/suyiiyii/hertz101/rpc_gen/kitex_gen/user"
proto "google.golang.org/protobuf/proto"
)
var errInvalidMessageType = errors.New("invalid message type for service method handler")
var serviceMethods = map[string]kitex.MethodInfo{
"Register": kitex.NewMethodInfo(
registerHandler,
newRegisterArgs,
newRegisterResult,
false,
kitex.WithStreamingMode(kitex.StreamingUnary),
),
"Login": kitex.NewMethodInfo(
loginHandler,
newLoginArgs,
newLoginResult,
false,
kitex.WithStreamingMode(kitex.StreamingUnary),
),
}
var (
userServiceServiceInfo = NewServiceInfo()
userServiceServiceInfoForClient = NewServiceInfoForClient()
userServiceServiceInfoForStreamClient = NewServiceInfoForStreamClient()
)
// for server
func serviceInfo() *kitex.ServiceInfo {
return userServiceServiceInfo
}
// for client
func serviceInfoForStreamClient() *kitex.ServiceInfo {
return userServiceServiceInfoForStreamClient
}
// for stream client
func serviceInfoForClient() *kitex.ServiceInfo {
return userServiceServiceInfoForClient
}
// 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 := "UserService"
handlerType := (*user.UserService)(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": "user",
}
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 registerHandler(ctx context.Context, handler interface{}, arg, result interface{}) error {
switch s := arg.(type) {
case *streaming.Args:
st := s.Stream
req := new(user.RegisterResp)
if err := st.RecvMsg(req); err != nil {
return err
}
resp, err := handler.(user.UserService).Register(ctx, req)
if err != nil {
return err
}
return st.SendMsg(resp)
case *RegisterArgs:
success, err := handler.(user.UserService).Register(ctx, s.Req)
if err != nil {
return err
}
realResult := result.(*RegisterResult)
realResult.Success = success
return nil
default:
return errInvalidMessageType
}
}
func newRegisterArgs() interface{} {
return &RegisterArgs{}
}
func newRegisterResult() interface{} {
return &RegisterResult{}
}
type RegisterArgs struct {
Req *user.RegisterResp
}
func (p *RegisterArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) {
if !p.IsSetReq() {
p.Req = new(user.RegisterResp)
}
return p.Req.FastRead(buf, _type, number)
}
func (p *RegisterArgs) FastWrite(buf []byte) (n int) {
if !p.IsSetReq() {
return 0
}
return p.Req.FastWrite(buf)
}
func (p *RegisterArgs) Size() (n int) {
if !p.IsSetReq() {
return 0
}
return p.Req.Size()
}
func (p *RegisterArgs) Marshal(out []byte) ([]byte, error) {
if !p.IsSetReq() {
return out, nil
}
return proto.Marshal(p.Req)
}
func (p *RegisterArgs) Unmarshal(in []byte) error {
msg := new(user.RegisterResp)
if err := proto.Unmarshal(in, msg); err != nil {
return err
}
p.Req = msg
return nil
}
var RegisterArgs_Req_DEFAULT *user.RegisterResp
func (p *RegisterArgs) GetReq() *user.RegisterResp {
if !p.IsSetReq() {
return RegisterArgs_Req_DEFAULT
}
return p.Req
}
func (p *RegisterArgs) IsSetReq() bool {
return p.Req != nil
}
func (p *RegisterArgs) GetFirstArgument() interface{} {
return p.Req
}
type RegisterResult struct {
Success *user.RegisterResp
}
var RegisterResult_Success_DEFAULT *user.RegisterResp
func (p *RegisterResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) {
if !p.IsSetSuccess() {
p.Success = new(user.RegisterResp)
}
return p.Success.FastRead(buf, _type, number)
}
func (p *RegisterResult) FastWrite(buf []byte) (n int) {
if !p.IsSetSuccess() {
return 0
}
return p.Success.FastWrite(buf)
}
func (p *RegisterResult) Size() (n int) {
if !p.IsSetSuccess() {
return 0
}
return p.Success.Size()
}
func (p *RegisterResult) Marshal(out []byte) ([]byte, error) {
if !p.IsSetSuccess() {
return out, nil
}
return proto.Marshal(p.Success)
}
func (p *RegisterResult) Unmarshal(in []byte) error {
msg := new(user.RegisterResp)
if err := proto.Unmarshal(in, msg); err != nil {
return err
}
p.Success = msg
return nil
}
func (p *RegisterResult) GetSuccess() *user.RegisterResp {
if !p.IsSetSuccess() {
return RegisterResult_Success_DEFAULT
}
return p.Success
}
func (p *RegisterResult) SetSuccess(x interface{}) {
p.Success = x.(*user.RegisterResp)
}
func (p *RegisterResult) IsSetSuccess() bool {
return p.Success != nil
}
func (p *RegisterResult) GetResult() interface{} {
return p.Success
}
func loginHandler(ctx context.Context, handler interface{}, arg, result interface{}) error {
switch s := arg.(type) {
case *streaming.Args:
st := s.Stream
req := new(user.LoginReq)
if err := st.RecvMsg(req); err != nil {
return err
}
resp, err := handler.(user.UserService).Login(ctx, req)
if err != nil {
return err
}
return st.SendMsg(resp)
case *LoginArgs:
success, err := handler.(user.UserService).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 *user.LoginReq
}
func (p *LoginArgs) FastRead(buf []byte, _type int8, number int32) (n int, err error) {
if !p.IsSetReq() {
p.Req = new(user.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(user.LoginReq)
if err := proto.Unmarshal(in, msg); err != nil {
return err
}
p.Req = msg
return nil
}
var LoginArgs_Req_DEFAULT *user.LoginReq
func (p *LoginArgs) GetReq() *user.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 *user.LoginResp
}
var LoginResult_Success_DEFAULT *user.LoginResp
func (p *LoginResult) FastRead(buf []byte, _type int8, number int32) (n int, err error) {
if !p.IsSetSuccess() {
p.Success = new(user.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(user.LoginResp)
if err := proto.Unmarshal(in, msg); err != nil {
return err
}
p.Success = msg
return nil
}
func (p *LoginResult) GetSuccess() *user.LoginResp {
if !p.IsSetSuccess() {
return LoginResult_Success_DEFAULT
}
return p.Success
}
func (p *LoginResult) SetSuccess(x interface{}) {
p.Success = x.(*user.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) Register(ctx context.Context, Req *user.RegisterResp) (r *user.RegisterResp, err error) {
var _args RegisterArgs
_args.Req = Req
var _result RegisterResult
if err = p.c.Call(ctx, "Register", &_args, &_result); err != nil {
return
}
return _result.GetSuccess(), nil
}
func (p *kClient) Login(ctx context.Context, Req *user.LoginReq) (r *user.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
}