12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package joingroup
- import "github.com/segmentio/kafka-go/protocol"
- func init() {
- protocol.Register(&Request{}, &Response{})
- }
- type Request struct {
- // We need at least one tagged field to indicate that this is a "flexible" message
- // type.
- _ struct{} `kafka:"min=v6,max=v7,tag"`
- GroupID string `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- SessionTimeoutMS int32 `kafka:"min=v0,max=v7"`
- RebalanceTimeoutMS int32 `kafka:"min=v1,max=v7"`
- MemberID string `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- GroupInstanceID string `kafka:"min=v5,max=v5,nullable|min=v6,max=v7,compact,nullable"`
- ProtocolType string `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- Protocols []RequestProtocol `kafka:"min=v0,max=v7"`
- }
- type RequestProtocol struct {
- // We need at least one tagged field to indicate that this is a "flexible" message
- // type.
- _ struct{} `kafka:"min=v6,max=v7,tag"`
- Name string `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- Metadata []byte `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- }
- func (r *Request) ApiKey() protocol.ApiKey {
- return protocol.JoinGroup
- }
- func (r *Request) Group() string { return r.GroupID }
- var _ protocol.GroupMessage = (*Request)(nil)
- type Response struct {
- // We need at least one tagged field to indicate that this is a "flexible" message
- // type.
- _ struct{} `kafka:"min=v6,max=v7,tag"`
- ThrottleTimeMS int32 `kafka:"min=v2,max=v7"`
- ErrorCode int16 `kafka:"min=v0,max=v7"`
- GenerationID int32 `kafka:"min=v0,max=v7"`
- ProtocolType string `kafka:"min=v7,max=v7,compact,nullable"`
- ProtocolName string `kafka:"min=v0,max=v5|min=v6,max=v6,compact|min=v7,max=v7,compact,nullable"`
- LeaderID string `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- MemberID string `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- Members []ResponseMember `kafka:"min=v0,max=v7"`
- }
- type ResponseMember struct {
- // We need at least one tagged field to indicate that this is a "flexible" message
- // type.
- _ struct{} `kafka:"min=v6,max=v7,tag"`
- MemberID string `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- GroupInstanceID string `kafka:"min=v5,max=v5,nullable|min=v6,max=v7,nullable,compact"`
- Metadata []byte `kafka:"min=v0,max=v5|min=v6,max=v7,compact"`
- }
- type ResponseMemberMetadata struct{}
- func (r *Response) ApiKey() protocol.ApiKey { return protocol.JoinGroup }
|