Skip to content

Commit

Permalink
refactor: no need isClient
Browse files Browse the repository at this point in the history
  • Loading branch information
Marina-Sakai committed Jun 18, 2024
1 parent 5978061 commit 00251a9
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 12 deletions.
21 changes: 13 additions & 8 deletions pkg/generic/generic_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (

gproto "github.com/cloudwego/kitex/pkg/generic/proto"
gthrift "github.com/cloudwego/kitex/pkg/generic/thrift"
codecProto "github.com/cloudwego/kitex/pkg/remote/codec/protobuf"
codecThrift "github.com/cloudwego/kitex/pkg/remote/codec/thrift"
"github.com/cloudwego/kitex/pkg/serviceinfo"
)
Expand Down Expand Up @@ -115,6 +116,8 @@ type Args struct {
var (
_ codecThrift.MessageReaderWithMethodWithContext = (*Args)(nil)
_ codecThrift.MessageWriterWithMethodWithContext = (*Args)(nil)
_ codecProto.MessageWriterWithContext = (*Args)(nil)
_ codecProto.MessageReaderWithMethodWithContext = (*Args)(nil)
_ WithCodec = (*Args)(nil)
)

Expand Down Expand Up @@ -142,12 +145,12 @@ func (g *Args) Write(ctx context.Context, method string, out thrift.TProtocol) e
return fmt.Errorf("unexpected Args writer type: %T", g.inner)
}

func (g *Args) WritePb(ctx context.Context, method string, isClient bool) (interface{}, error) {
func (g *Args) WritePb(ctx context.Context, method string) (interface{}, error) {
if err, ok := g.inner.(error); ok {
return nil, err
}
if w, ok := g.inner.(gproto.MessageWriter); ok {
return w.Write(ctx, g.Request, method, isClient)
return w.Write(ctx, g.Request, method, true)
}
return nil, fmt.Errorf("unexpected Args writer type: %T", g.inner)
}
Expand All @@ -166,14 +169,14 @@ func (g *Args) Read(ctx context.Context, method string, dataLen int, in thrift.T
return fmt.Errorf("unexpected Args reader type: %T", g.inner)
}

func (g *Args) ReadPb(ctx context.Context, method string, isClient bool, in []byte) error {
func (g *Args) ReadPb(ctx context.Context, method string, in []byte) error {
if err, ok := g.inner.(error); ok {
return err
}
if w, ok := g.inner.(gproto.MessageReader); ok {
g.Method = method
var err error
g.Request, err = w.Read(ctx, method, isClient, in)
g.Request, err = w.Read(ctx, method, false, in)
return err
}
return fmt.Errorf("unexpected Args reader type: %T", g.inner)
Expand All @@ -193,6 +196,8 @@ type Result struct {
var (
_ codecThrift.MessageReaderWithMethodWithContext = (*Result)(nil)
_ codecThrift.MessageWriterWithMethodWithContext = (*Result)(nil)
_ codecProto.MessageWriterWithContext = (*Result)(nil)
_ codecProto.MessageReaderWithMethodWithContext = (*Result)(nil)
_ WithCodec = (*Result)(nil)
)

Expand All @@ -213,12 +218,12 @@ func (r *Result) Write(ctx context.Context, method string, out thrift.TProtocol)
return fmt.Errorf("unexpected Result writer type: %T", r.inner)
}

func (r *Result) WritePb(ctx context.Context, method string, isClient bool) (interface{}, error) {
func (r *Result) WritePb(ctx context.Context, method string) (interface{}, error) {
if err, ok := r.inner.(error); ok {
return nil, err
}
if w, ok := r.inner.(gproto.MessageWriter); ok {
return w.Write(ctx, r.Success, method, isClient)
return w.Write(ctx, r.Success, method, false)
}
return nil, fmt.Errorf("unexpected Result writer type: %T", r.inner)
}
Expand All @@ -236,13 +241,13 @@ func (r *Result) Read(ctx context.Context, method string, dataLen int, in thrift
return fmt.Errorf("unexpected Result reader type: %T", r.inner)
}

func (r *Result) ReadPb(ctx context.Context, method string, isClient bool, in []byte) error {
func (r *Result) ReadPb(ctx context.Context, method string, in []byte) error {
if err, ok := r.inner.(error); ok {
return err
}
if w, ok := r.inner.(gproto.MessageReader); ok {
var err error
r.Success, err = w.Read(ctx, method, isClient, in)
r.Success, err = w.Read(ctx, method, true, in)
return err
}
return fmt.Errorf("unexpected Result reader type: %T", r.inner)
Expand Down
8 changes: 4 additions & 4 deletions pkg/remote/codec/protobuf/protobuf.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ func (c protobufCodec) Marshal(ctx context.Context, message remote.Message, out
// Generic Case
genmsg, isgen := data.(MessageWriterWithContext)
if isgen {
actualMsg, err := genmsg.WritePb(ctx, methodName, message.RPCRole() == remote.Client)
actualMsg, err := genmsg.WritePb(ctx, methodName)
if err != nil {
return perrors.NewProtocolErrorWithErrMsg(err, fmt.Sprintf("protobuf marshal message failed: %s", err.Error()))
}
Expand Down Expand Up @@ -197,7 +197,7 @@ func (c protobufCodec) Unmarshal(ctx context.Context, message remote.Message, in

// Generic Case
if msg, ok := data.(MessageReaderWithMethodWithContext); ok {
err := msg.ReadPb(ctx, methodName, message.RPCRole() == remote.Client, actualMsgBuf)
err := msg.ReadPb(ctx, methodName, actualMsgBuf)
if err != nil {
return err
}
Expand All @@ -220,12 +220,12 @@ func (c protobufCodec) Name() string {

// MessageWriterWithContext writes to output bytebuffer
type MessageWriterWithContext interface {
WritePb(ctx context.Context, method string, isClient bool) (interface{}, error)
WritePb(ctx context.Context, method string) (interface{}, error)
}

// MessageReaderWithMethodWithContext read from ActualMsgBuf with method
type MessageReaderWithMethodWithContext interface {
ReadPb(ctx context.Context, method string, isClient bool, in []byte) error
ReadPb(ctx context.Context, method string, in []byte) error
}

type ProtobufMsgCodec interface {
Expand Down
1 change: 1 addition & 0 deletions pkg/remote/message.go
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ func (m *message) SpecifyServiceInfo(svcName, methodName string) (*serviceinfo.S
if svcName == "" && m.refuseTrafficWithoutServiceName {
return nil, NewTransErrorWithMsg(NoServiceName, "no service name while the server has WithRefuseTrafficWithoutServiceName option enabled")
}
// TODO: modify logic when supporting multi-service for generic
var key string
if svcName == "" {
key = methodName
Expand Down

0 comments on commit 00251a9

Please sign in to comment.