Skip to content

Commit 191f5a2

Browse files
authored
Support newer gRPC libraries (#115)
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 191f5a2

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)