Skip to content

Commit 8216231

Browse files
committed
fix missing return, make code flatter
1 parent d122748 commit 8216231

File tree

1 file changed

+23
-20
lines changed

1 file changed

+23
-20
lines changed

server/util/vtprotocodec/vtprotocodec.go

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -24,35 +24,38 @@ func (vtprotoCodecV2) Name() string {
2424
}
2525

2626
func (c *vtprotoCodecV2) Marshal(v any) (mem.BufferSlice, error) {
27-
if m, ok := v.(proto.VtprotoMessage); ok {
28-
size := m.SizeVT()
29-
if mem.IsBelowBufferPoolingThreshold(size) {
30-
buf := make([]byte, 0, size)
31-
if _, err := m.MarshalToSizedBufferVT(buf[:size]); err != nil {
32-
return nil, err
33-
}
34-
}
27+
m, ok := v.(proto.VtprotoMessage)
28+
if !ok {
29+
return c.fallback.Marshal(v)
30+
}
3531

36-
pool := mem.DefaultBufferPool()
37-
buf := pool.Get(size)
38-
if _, err := m.MarshalToSizedBufferVT((*buf)[:size]); err != nil {
39-
pool.Put(buf)
32+
size := m.SizeVT()
33+
if mem.IsBelowBufferPoolingThreshold(size) {
34+
buf := make([]byte, 0, size)
35+
if _, err := m.MarshalToSizedBufferVT(buf[:size]); err != nil {
4036
return nil, err
4137
}
38+
return mem.BufferSlice{mem.SliceBuffer(buf)}, nil
39+
}
4240

43-
return mem.BufferSlice{mem.NewBuffer(buf, pool)}, nil
41+
pool := mem.DefaultBufferPool()
42+
buf := pool.Get(size)
43+
if _, err := m.MarshalToSizedBufferVT((*buf)[:size]); err != nil {
44+
pool.Put(buf)
45+
return nil, err
4446
}
45-
return c.fallback.Marshal(v)
47+
return mem.BufferSlice{mem.NewBuffer(buf, pool)}, nil
4648
}
4749

4850
func (c *vtprotoCodecV2) Unmarshal(data mem.BufferSlice, v any) error {
49-
if m, ok := v.(proto.VtprotoMessage); ok {
50-
buf := data.MaterializeToBuffer(mem.DefaultBufferPool())
51-
defer buf.Free()
52-
53-
return m.UnmarshalVT(buf.ReadOnlyData())
51+
m, ok := v.(proto.VtprotoMessage)
52+
if !ok {
53+
return c.fallback.Unmarshal(data, v)
5454
}
55-
return c.fallback.Unmarshal(data, v)
55+
56+
buf := data.MaterializeToBuffer(mem.DefaultBufferPool())
57+
defer buf.Free()
58+
return m.UnmarshalVT(buf.ReadOnlyData())
5659
}
5760

5861
// RegisterCodec registers the vtprotoCodec to encode/decode proto messages with

0 commit comments

Comments
 (0)