Skip to content

Commit abf1a1b

Browse files
committed
Support newer gRPC libraries
Google's gRPC libraries have removed the Data field from the payload structs in the stats package. This change updates the larking library to support the newer gRPC libraries.
1 parent abc36e2 commit abf1a1b

File tree

5 files changed

+34
-40
lines changed

5 files changed

+34
-40
lines changed

go.mod

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
module larking.io
22

3-
go 1.20
3+
go 1.22.7
4+
5+
toolchain go1.22.9
46

57
require (
68
github.com/gobwas/ws v1.2.0
7-
github.com/google/go-cmp v0.5.9
8-
golang.org/x/net v0.9.0
9-
golang.org/x/sync v0.1.0
9+
github.com/google/go-cmp v0.6.0
10+
golang.org/x/net v0.29.0
11+
golang.org/x/sync v0.8.0
1012
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1
11-
google.golang.org/grpc v1.54.0
12-
google.golang.org/protobuf v1.30.1-0.20230501154320-cf06b0c33cda
13+
google.golang.org/grpc v1.68.0
14+
google.golang.org/protobuf v1.34.2
1315
)
1416

1517
require (
1618
github.com/gobwas/httphead v0.1.0 // indirect
1719
github.com/gobwas/pool v0.2.1 // indirect
18-
github.com/golang/protobuf v1.5.3 // indirect
19-
golang.org/x/sys v0.7.0 // indirect
20-
golang.org/x/text v0.9.0 // indirect
20+
golang.org/x/sys v0.25.0 // indirect
21+
golang.org/x/text v0.18.0 // indirect
2122
)

go.sum

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,22 @@ github.com/gobwas/pool v0.2.1 h1:xfeeEhW7pwmX8nuLVlqbzVc7udMDrwetjEv+TZIz1og=
44
github.com/gobwas/pool v0.2.1/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw=
55
github.com/gobwas/ws v1.2.0 h1:u0p9s3xLYpZCA1z5JgCkMeB34CKCMMQbM+G8Ii7YD0I=
66
github.com/gobwas/ws v1.2.0/go.mod h1:hRKAFb8wOxFROYNsT1bqfWnhX+b5MFeJM9r2ZSwg/KY=
7-
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
8-
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
9-
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
10-
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
11-
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
12-
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
13-
golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM=
14-
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
15-
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
16-
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
7+
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
8+
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
9+
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
10+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
11+
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
12+
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
13+
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
14+
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
1715
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
18-
golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
19-
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
20-
golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE=
21-
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
22-
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
16+
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
17+
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
18+
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
19+
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
2320
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
2421
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
25-
google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag=
26-
google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g=
27-
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
28-
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
29-
google.golang.org/protobuf v1.30.1-0.20230501154320-cf06b0c33cda h1:CGKs/jtLmFiQ0tmmt8ykIoaKqn+yi8T/reVFvwOR5aY=
30-
google.golang.org/protobuf v1.30.1-0.20230501154320-cf06b0c33cda/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
22+
google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0=
23+
google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA=
24+
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
25+
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=

larking/grpc.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ func (s *streamGRPC) SendMsg(m interface{}) error {
336336
if stats := s.opts.statsHandler; stats != nil {
337337
// TODO: raw payload stats.
338338
b := b[headerLen:] // shadow
339-
stats.HandleRPC(s.ctx, outPayload(false, m, b, b, time.Now()))
339+
stats.HandleRPC(s.ctx, outPayload(false, m, b, time.Now()))
340340
}
341341
return nil
342342
}
@@ -425,7 +425,7 @@ func (s *streamGRPC) RecvMsg(m interface{}) error {
425425
if stats := s.opts.statsHandler; stats != nil {
426426
// TODO: raw payload stats.
427427
b := b[headerLen:] // shadow
428-
stats.HandleRPC(s.ctx, inPayload(false, m, b, b, time.Now()))
428+
stats.HandleRPC(s.ctx, inPayload(false, m, b, time.Now()))
429429
}
430430
return nil
431431
}

larking/http.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ func (s *streamHTTP) SendMsg(m interface{}) error {
153153
}
154154
if stats := s.opts.statsHandler; stats != nil {
155155
// TODO: raw payload stats.
156-
stats.HandleRPC(s.ctx, outPayload(false, m, b, b, time.Now()))
156+
stats.HandleRPC(s.ctx, outPayload(false, m, b, time.Now()))
157157
}
158158
return nil
159159
}
@@ -243,7 +243,7 @@ func (s *streamHTTP) decodeRequestArgs(args proto.Message) (int, error) {
243243
}
244244
if stats := s.opts.statsHandler; stats != nil {
245245
// TODO: raw payload stats.
246-
stats.HandleRPC(s.ctx, inPayload(false, msg, b, b, time.Now()))
246+
stats.HandleRPC(s.ctx, inPayload(false, msg, b, time.Now()))
247247
}
248248
return count, nil
249249
}

larking/stats.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,24 +16,22 @@ const (
1616
headerLen = payloadLen + sizeLen
1717
)
1818

19-
func outPayload(client bool, msg interface{}, data, payload []byte, t time.Time) *stats.OutPayload {
19+
func outPayload(client bool, msg interface{}, payload []byte, t time.Time) *stats.OutPayload {
2020
return &stats.OutPayload{
2121
Client: client,
2222
Payload: msg,
23-
Data: data,
24-
Length: len(data),
23+
Length: len(payload),
2524
WireLength: len(payload) + headerLen,
2625
SentTime: t,
2726
}
2827
}
2928

30-
func inPayload(client bool, msg interface{}, data, payload []byte, t time.Time) *stats.InPayload {
29+
func inPayload(client bool, msg interface{}, payload []byte, t time.Time) *stats.InPayload {
3130
return &stats.InPayload{
3231
Client: true,
3332
RecvTime: t,
3433
Payload: msg,
35-
Data: data,
36-
Length: len(data),
34+
Length: len(payload),
3735
WireLength: len(payload) + headerLen,
3836
}
3937
}

0 commit comments

Comments
 (0)