Skip to content

Commit 5b5b590

Browse files
committed
add more tagged fields
1 parent 35535cf commit 5b5b590

File tree

2 files changed

+36
-12
lines changed

2 files changed

+36
-12
lines changed

protocol/alterclientquotas/alterclientquotas.go

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,28 @@ func (r *Request) Broker(cluster protocol.Cluster) (protocol.Broker, error) {
2222
}
2323

2424
type Entry struct {
25+
// We need at least one tagged field to indicate that this is a "flexible" message
26+
// type.
27+
_ struct{} `kafka:"min=v1,max=v1,tag"`
2528
Entities []Entity `kafka:"min=v0,max=v1"`
2629
Ops []Ops `kafka:"min=v0,max=v1"`
2730
}
2831

2932
type Entity struct {
30-
EntityType string `kafka:"min=v0,max=v0|min=v1,max=v1,compact"`
31-
EntityName string `kafka:"min=v0,max=v0,nullable|min=v1,max=v1,nullable,compact"`
33+
// We need at least one tagged field to indicate that this is a "flexible" message
34+
// type.
35+
_ struct{} `kafka:"min=v1,max=v1,tag"`
36+
EntityType string `kafka:"min=v0,max=v0|min=v1,max=v1,compact"`
37+
EntityName string `kafka:"min=v0,max=v0,nullable|min=v1,max=v1,nullable,compact"`
3238
}
3339

3440
type Ops struct {
35-
Key string `kafka:"min=v0,max=v0|min=v1,max=v1,compact"`
36-
Value float64 `kafka:"min=v0,max=v1"`
37-
Remove bool `kafka:"min=v0,max=v1"`
41+
// We need at least one tagged field to indicate that this is a "flexible" message
42+
// type.
43+
_ struct{} `kafka:"min=v1,max=v1,tag"`
44+
Key string `kafka:"min=v0,max=v0|min=v1,max=v1,compact"`
45+
Value float64 `kafka:"min=v0,max=v1"`
46+
Remove bool `kafka:"min=v0,max=v1"`
3847
}
3948

4049
type Response struct {
@@ -48,6 +57,9 @@ type Response struct {
4857
func (r *Response) ApiKey() protocol.ApiKey { return protocol.AlterClientQuotas }
4958

5059
type ResponseQuotas struct {
60+
// We need at least one tagged field to indicate that this is a "flexible" message
61+
// type.
62+
_ struct{} `kafka:"min=v1,max=v1,tag"`
5163
ErrorCode int16 `kafka:"min=v0,max=v1"`
5264
ErrorMessage string `kafka:"min=v0,max=v1,nullable"`
5365
Entities []Entity `kafka:"min=v0,max=v1"`

protocol/describeclientquotas/describeclientquotas.go

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@ func (r *Request) Broker(cluster protocol.Cluster) (protocol.Broker, error) {
2121
}
2222

2323
type Component struct {
24-
EntityType string `kafka:"min=v0,max=v1"`
25-
MatchType int8 `kafka:"min=v0,max=v1"`
26-
Match string `kafka:"min=v0,max=v1,nullable"`
24+
// We need at least one tagged field to indicate that this is a "flexible" message
25+
// type.
26+
_ struct{} `kafka:"min=v1,max=v1,tag"`
27+
EntityType string `kafka:"min=v0,max=v1"`
28+
MatchType int8 `kafka:"min=v0,max=v1"`
29+
Match string `kafka:"min=v0,max=v1,nullable"`
2730
}
2831

2932
type Response struct {
@@ -39,16 +42,25 @@ type Response struct {
3942
func (r *Response) ApiKey() protocol.ApiKey { return protocol.DescribeClientQuotas }
4043

4144
type Entity struct {
42-
EntityType string `kafka:"min=v0,max=v0|min=v1,max=v1,compact"`
43-
EntityName string `kafka:"min=v0,max=v0,nullable|min=v1,max=v1,nullable,compact"`
45+
// We need at least one tagged field to indicate that this is a "flexible" message
46+
// type.
47+
_ struct{} `kafka:"min=v1,max=v1,tag"`
48+
EntityType string `kafka:"min=v0,max=v0|min=v1,max=v1,compact"`
49+
EntityName string `kafka:"min=v0,max=v0,nullable|min=v1,max=v1,nullable,compact"`
4450
}
4551

4652
type Value struct {
47-
Key string `kafka:"min=v0,max=v0|min=v1,max=v1,compact"`
48-
Value float64 `kafka:"min=v0,max=v1"`
53+
// We need at least one tagged field to indicate that this is a "flexible" message
54+
// type.
55+
_ struct{} `kafka:"min=v1,max=v1,tag"`
56+
Key string `kafka:"min=v0,max=v0|min=v1,max=v1,compact"`
57+
Value float64 `kafka:"min=v0,max=v1"`
4958
}
5059

5160
type ResponseQuotas struct {
61+
// We need at least one tagged field to indicate that this is a "flexible" message
62+
// type.
63+
_ struct{} `kafka:"min=v1,max=v1,tag"`
5264
Entities []Entity `kafka:"min=v0,max=v1"`
5365
Values []Value `kafka:"min=v0,max=v1"`
5466
}

0 commit comments

Comments
 (0)