From 23145f078b84561711dc926edf0edde9efe3151f Mon Sep 17 00:00:00 2001 From: Joel De Jesus Date: Tue, 7 May 2024 23:36:44 +0900 Subject: [PATCH 1/3] exported proxy.Frame to get access to payload length --- proxy/codec.go | 12 ++++++++---- proxy/handler_one2many.go | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/proxy/codec.go b/proxy/codec.go index 0ef2424..205f909 100644 --- a/proxy/codec.go +++ b/proxy/codec.go @@ -32,17 +32,21 @@ type rawCodec struct { parentCodec grpc.Codec //nolint: staticcheck } -type frame struct { +type Frame struct { payload []byte } +func (f *Frame) Size() int { + return len(f.payload) +} + // NewFrame constructs a frame for raw codec. func NewFrame(payload []byte) interface{} { - return &frame{payload: payload} + return &Frame{payload: payload} } func (c *rawCodec) Marshal(v interface{}) ([]byte, error) { - out, ok := v.(*frame) + out, ok := v.(*Frame) if !ok { return c.parentCodec.Marshal(v) } @@ -51,7 +55,7 @@ func (c *rawCodec) Marshal(v interface{}) ([]byte, error) { } func (c *rawCodec) Unmarshal(data []byte, v interface{}) error { - dst, ok := v.(*frame) + dst, ok := v.(*Frame) if !ok { return c.parentCodec.Unmarshal(data, v) } diff --git a/proxy/handler_one2many.go b/proxy/handler_one2many.go index b2beb6c..203fb81 100644 --- a/proxy/handler_one2many.go +++ b/proxy/handler_one2many.go @@ -123,7 +123,7 @@ func (s *handler) forwardClientsToServerMultiUnary(sources []backendConnection, return nil } - f := &frame{} + f := &Frame{} for j := 0; ; j++ { if err := src.clientStream.RecvMsg(f); err != nil { @@ -225,7 +225,7 @@ func (s *handler) forwardClientsToServerMultiStreaming(sources []backendConnecti return s.sendError(src, dst, src.connError) } - f := &frame{} + f := &Frame{} for j := 0; ; j++ { if err := src.clientStream.RecvMsg(f); err != nil { From 665bc965b188de91d035750ce1d7f22bb274e268 Mon Sep 17 00:00:00 2001 From: Joel De Jesus Date: Tue, 7 May 2024 23:40:20 +0900 Subject: [PATCH 2/3] changing name --- go.mod | 2 +- proxy/codec_test.go | 2 +- proxy/examples_test.go | 2 +- proxy/handler_one2many_test.go | 4 ++-- proxy/handler_one2one_test.go | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index b6542c5..2a8fda7 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/siderolabs/grpc-proxy +module github.com/noncepad/grpc-proxy go 1.19 diff --git a/proxy/codec_test.go b/proxy/codec_test.go index 3a10e59..685e583 100644 --- a/proxy/codec_test.go +++ b/proxy/codec_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/siderolabs/grpc-proxy/proxy" + "github.com/noncepad/grpc-proxy/proxy" ) func TestCodec_ReadYourWrites(t *testing.T) { diff --git a/proxy/examples_test.go b/proxy/examples_test.go index 1bcfa6b..dce79e7 100644 --- a/proxy/examples_test.go +++ b/proxy/examples_test.go @@ -12,7 +12,7 @@ import ( "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" - "github.com/siderolabs/grpc-proxy/proxy" + "github.com/noncepad/grpc-proxy/proxy" ) var director proxy.StreamDirector diff --git a/proxy/handler_one2many_test.go b/proxy/handler_one2many_test.go index d133321..5664862 100644 --- a/proxy/handler_one2many_test.go +++ b/proxy/handler_one2many_test.go @@ -30,8 +30,8 @@ import ( "google.golang.org/protobuf/encoding/protowire" "google.golang.org/protobuf/proto" - "github.com/siderolabs/grpc-proxy/proxy" - pb "github.com/siderolabs/grpc-proxy/testservice" + "github.com/noncepad/grpc-proxy/proxy" + pb "github.com/noncepad/grpc-proxy/testservice" ) const ( diff --git a/proxy/handler_one2one_test.go b/proxy/handler_one2one_test.go index dfc8f7f..6f32919 100644 --- a/proxy/handler_one2one_test.go +++ b/proxy/handler_one2one_test.go @@ -23,8 +23,8 @@ import ( "google.golang.org/grpc/status" "google.golang.org/protobuf/proto" - "github.com/siderolabs/grpc-proxy/proxy" - pb "github.com/siderolabs/grpc-proxy/testservice" + "github.com/noncepad/grpc-proxy/proxy" + pb "github.com/noncepad/grpc-proxy/testservice" ) const ( From 1200bdb1734d19aaa511804e28cde36dac3f99fc Mon Sep 17 00:00:00 2001 From: Joel De Jesus Date: Wed, 8 May 2024 12:35:33 +0900 Subject: [PATCH 3/3] changing name back to siderolabs for pull request --- go.mod | 2 +- proxy/codec_test.go | 2 +- proxy/examples_test.go | 2 +- proxy/handler_one2many_test.go | 4 ++-- proxy/handler_one2one_test.go | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index 2a8fda7..b6542c5 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/noncepad/grpc-proxy +module github.com/siderolabs/grpc-proxy go 1.19 diff --git a/proxy/codec_test.go b/proxy/codec_test.go index 685e583..3a10e59 100644 --- a/proxy/codec_test.go +++ b/proxy/codec_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/noncepad/grpc-proxy/proxy" + "github.com/siderolabs/grpc-proxy/proxy" ) func TestCodec_ReadYourWrites(t *testing.T) { diff --git a/proxy/examples_test.go b/proxy/examples_test.go index dce79e7..1bcfa6b 100644 --- a/proxy/examples_test.go +++ b/proxy/examples_test.go @@ -12,7 +12,7 @@ import ( "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" - "github.com/noncepad/grpc-proxy/proxy" + "github.com/siderolabs/grpc-proxy/proxy" ) var director proxy.StreamDirector diff --git a/proxy/handler_one2many_test.go b/proxy/handler_one2many_test.go index 5664862..d133321 100644 --- a/proxy/handler_one2many_test.go +++ b/proxy/handler_one2many_test.go @@ -30,8 +30,8 @@ import ( "google.golang.org/protobuf/encoding/protowire" "google.golang.org/protobuf/proto" - "github.com/noncepad/grpc-proxy/proxy" - pb "github.com/noncepad/grpc-proxy/testservice" + "github.com/siderolabs/grpc-proxy/proxy" + pb "github.com/siderolabs/grpc-proxy/testservice" ) const ( diff --git a/proxy/handler_one2one_test.go b/proxy/handler_one2one_test.go index 6f32919..dfc8f7f 100644 --- a/proxy/handler_one2one_test.go +++ b/proxy/handler_one2one_test.go @@ -23,8 +23,8 @@ import ( "google.golang.org/grpc/status" "google.golang.org/protobuf/proto" - "github.com/noncepad/grpc-proxy/proxy" - pb "github.com/noncepad/grpc-proxy/testservice" + "github.com/siderolabs/grpc-proxy/proxy" + pb "github.com/siderolabs/grpc-proxy/testservice" ) const (