You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
2.0 KiB
52 lines
2.0 KiB
package metadata
|
|
|
|
import "github.com/segmentio/kafka-go/protocol"
|
|
|
|
func init() {
|
|
protocol.Register(&Request{}, &Response{})
|
|
}
|
|
|
|
type Request struct {
|
|
TopicNames []string `kafka:"min=v0,max=v8,nullable"`
|
|
AllowAutoTopicCreation bool `kafka:"min=v4,max=v8"`
|
|
IncludeClusterAuthorizedOperations bool `kafka:"min=v8,max=v8"`
|
|
IncludeTopicAuthorizedOperations bool `kafka:"min=v8,max=v8"`
|
|
}
|
|
|
|
func (r *Request) ApiKey() protocol.ApiKey { return protocol.Metadata }
|
|
|
|
type Response struct {
|
|
ThrottleTimeMs int32 `kafka:"min=v3,max=v8"`
|
|
Brokers []ResponseBroker `kafka:"min=v0,max=v8"`
|
|
ClusterID string `kafka:"min=v2,max=v8,nullable"`
|
|
ControllerID int32 `kafka:"min=v1,max=v8"`
|
|
Topics []ResponseTopic `kafka:"min=v0,max=v8"`
|
|
ClusterAuthorizedOperations int32 `kafka:"min=v8,max=v8"`
|
|
}
|
|
|
|
func (r *Response) ApiKey() protocol.ApiKey { return protocol.Metadata }
|
|
|
|
type ResponseBroker struct {
|
|
NodeID int32 `kafka:"min=v0,max=v8"`
|
|
Host string `kafka:"min=v0,max=v8"`
|
|
Port int32 `kafka:"min=v0,max=v8"`
|
|
Rack string `kafka:"min=v1,max=v8,nullable"`
|
|
}
|
|
|
|
type ResponseTopic struct {
|
|
ErrorCode int16 `kafka:"min=v0,max=v8"`
|
|
Name string `kafka:"min=v0,max=v8"`
|
|
IsInternal bool `kafka:"min=v1,max=v8"`
|
|
Partitions []ResponsePartition `kafka:"min=v0,max=v8"`
|
|
TopicAuthorizedOperations int32 `kafka:"min=v8,max=v8"`
|
|
}
|
|
|
|
type ResponsePartition struct {
|
|
ErrorCode int16 `kafka:"min=v0,max=v8"`
|
|
PartitionIndex int32 `kafka:"min=v0,max=v8"`
|
|
LeaderID int32 `kafka:"min=v0,max=v8"`
|
|
LeaderEpoch int32 `kafka:"min=v7,max=v8"`
|
|
ReplicaNodes []int32 `kafka:"min=v0,max=v8"`
|
|
IsrNodes []int32 `kafka:"min=v0,max=v8"`
|
|
OfflineReplicas []int32 `kafka:"min=v5,max=v8"`
|
|
}
|
|
|