Packages
kafka_protocol
0.3.2
4.3.4
4.3.3
4.3.2
4.3.1
4.3.0
4.2.9
4.2.8
4.2.7
4.2.6
4.2.5
4.2.4
4.2.3
4.2.2
4.2.1
4.2.0
4.1.10
4.1.9
4.1.8
4.1.7
4.1.6
4.1.5
4.1.4
4.1.3
4.1.2
4.1.1
4.1.0
4.0.3
4.0.2
4.0.1
3.0.1
3.0.0
2.4.1
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.2
2.1.1
2.1.0
2.0.1
2.0.0
1.1.3
1.1.2
1.1.1
1.1.0
1.0.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.0
0.4.0
0.3.2
0.3.1
0.2.3
Kafka protocol library for Erlang/Elixir
Current section
Files
Jump to
Current section
Files
priv/kafka.bnf
## Reference: https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Protocol#AGuideToTheKafkaProtocol
## This is the source for code generation.
Packet => Size Payload
Size => int32
Payload => Request | Response
Request => ApiKey ApiVersion CorrelationId ClientId RequestMessage
ApiKey => int16
ApiVersion => int16
CorrelationId => int32
ClientId => string
RequestMessage => ProduceRequest | FetchRequest | OffsetRequest | MetadataRequest | OffsetCommitRequestV0 | OffsetCommitRequestV1 | OffsetCommitRequestV2 | OffsetFetchRequest | GroupCoordinatorRequest | JoinGroupRequest | HeartbeatRequest | LeaveGroupRequest | SyncGroupRequest | DescribeGroupsRequest | ListGroupsRequest
Response => CorrelationId ResponseMessage
CorrelationId => int32
ResponseMessage => ProduceResponse | FetchResponse | OffsetResponse | MetadataResponse | OffsetCommitResponse | OffsetFetchResponse | GroupCoordinatorResponse | JoinGroupResponse | HeartbeatResponse | LeaveGroupResponse | SyncGroupResponse | DescribeGroupsResponse | ListGroupsResponse
Message => Offset MessageSize Crc MagicByte Attributes Key Value
Offset => int64
MessageSize => int32
Crc => int32
MagicByte => int8
Attributes => int8
Key => bytes
Value => bytes
MetadataRequest => [TopicName]
TopicName => string
MetadataResponse => [Broker] [TopicMetadata]
Broker => NodeId Host Port
NodeId => int32
Host => string
Port => int32
TopicMetadata => ErrorCode TopicName [PartitionMetadata]
PartitionMetadata => ErrorCode Partition Leader Replicas Isr
Partition => int32
Leader => int32
Replicas => [int32]
Isr => [int32]
ErrorCode => int16
TopicName => string
ProduceRequest => RequiredAcks Timeout [TopicMessageSet]
TopicMessageSet => TopicName [PartitionMessageSet]
PartitionMessageSet => Partition MessageSetSize [Message]
RequiredAcks => int16
Timeout => int32
Partition => int32
MessageSetSize => int32
TopicName => string
ProduceResponse => [ProduceResponseTopic]
ProduceResponseTopic => TopicName [ProduceResponsePartition]
ProduceResponsePartition => Partition ErrorCode Offset
TopicName => string
Partition => int32
ErrorCode => int16
Offset => int64
FetchRequest => ReplicaId MaxWaitTime MinBytes [FetchRequestTopic]
FetchRequestTopic => TopicName [FetchRequestPartition]
FetchRequestPartition => Partition FetchOffset MaxBytes
ReplicaId => int32
MaxWaitTime => int32
MinBytes => int32
TopicName => string
Partition => int32
FetchOffset => int64
MaxBytes => int32
FetchResponse => [FetchResponseTopic]
FetchResponseTopic => TopicName [FetchResponsePartition]
FetchResponsePartition => Partition ErrorCode HighWatermarkOffset MessageSetSize [Message]
TopicName => string
Partition => int32
ErrorCode => int16
HighWatermarkOffset => int64
MessageSetSize => int32
OffsetRequest => ReplicaId [OffsetRequestTopic]
OffsetRequestTopic => TopicName [OffsetRequestPartition]
OffsetRequestPartition => Partition Time MaxNumberOfOffsets
ReplicaId => int32
TopicName => string
Partition => int32
Time => int64
MaxNumberOfOffsets => int32
OffsetResponse => [TopicOffsets]
TopicOffsets => TopicName [PartitionOffsets]
PartitionOffsets => Partition ErrorCode [Offset]
TopicName => string
Partition => int32
ErrorCode => int16
Offset => int64
GroupCoordinatorRequest => GroupId
GroupId => string
GroupCoordinatorResponse => ErrorCode CoordinatorId CoordinatorHost CoordinatorPort
ErrorCode => int16
CoordinatorId => int32
CoordinatorHost => string
CoordinatorPort => int32
OffsetCommitRequestV0 => ConsumerGroupId [OCReqV0Topic]
OCReqV0Topic => TopicName [OCReqV0Partition]
OCReqV0Partition => Partition Offset Metadata
ConsumerGroupId => string
TopicName => string
Partition => int32
Offset => int64
Metadata => string
OffsetCommitRequestV1 => ConsumerGroupId ConsumerGroupGenerationId ConsumerId [OCReqV1Topic]
OCReqV1Topic => TopicName [OCReqV1Partition]
OCReqV1Partition => Partition Offset TimeStamp Metadata
ConsumerGroupId => string
ConsumerGroupGenerationId => int32
ConsumerId => string
TopicName => string
Partition => int32
Offset => int64
TimeStamp => int64
Metadata => string
OffsetCommitRequestV2 => ConsumerGroupId ConsumerGroupGenerationId ConsumerId RetentionTime [OCReqV2Topic]
OCReqV2Topic => TopicName [OCReqV2Partition]
OCReqV2Partition => Partition Offset Metadata
ConsumerGroupId => string
ConsumerGroupGenerationId => int32
ConsumerId => string
RetentionTime => int64
TopicName => string
Partition => int32
Offset => int64
Metadata => string
OffsetCommitResponse => [OCRspTopic]
OCRspTopic => TopicName [OCRspPartition]
OCRspPartition => Partition ErrorCode
TopicName => string
Partition => int32
ErrorCode => int16
OffsetFetchRequest => ConsumerGroup [OFReqTopic]
OFReqTopic => TopicName [Partition]
ConsumerGroup => string
TopicName => string
Partition => int32
OffsetFetchResponse => [TopicOffset]
TopicOffset => TopicName [PartitionOffset]
PartitionOffset => Partition Offset Metadata ErrorCode
TopicName => string
Partition => int32
Offset => int64
Metadata => string
ErrorCode => int16
JoinGroupRequest => GroupId SessionTimeout MemberId ProtocolType [GroupProtocol]
GroupId => string
SessionTimeout => int32
MemberId => string
ProtocolType => string
GroupProtocol => ProtocolName ProtocolMetadata
ProtocolName => string
ProtocolMetadata => bytes
JoinGroupResponse => ErrorCode GenerationId ProtocolName LeaderId MemberId [GroupMemberMetadata]
ErrorCode => int16
GenerationId => int32
ProtocolName => string
LeaderId => string
MemberId => string
GroupMemberMetadata => MemberId ProtocolMetadata
MemberId => string
ProtocolMetadata => bytes
# embeded in 'bytes' content of
# JoinGroupRequest.GroupProtocol.ProtocolMetadata
# JoinGroupResponse.Members.ProtocolMetadata
ConsumerGroupProtocolMetadata => Version [TopicName] UserData
Version => int16
TopicName => string
UserData => bytes
SyncGroupRequest => GroupId GenerationId MemberId [GroupAssignment]
GroupId => string
GenerationId => int32
MemberId => string
GroupAssignment => MemberId MemberAssignment
MemberId => string
MemberAssignment => bytes
## embeded in 'bytes' content of
## SyncGroupRequest.GroupAssignment.MemberAssignment
ConsumerGroupMemberAssignment => Version [ConsumerGroupPartitionAssignment] UserData
Version => int16
ConsumerGroupPartitionAssignment => TopicName [Partition]
TopicName => string
Partition => int32
UserData => bytes
SyncGroupResponse => ErrorCode MemberAssignment
ErrorCode => int16
MemberAssignment => bytes
HeartbeatRequest => GroupId GenerationId MemberId
GroupId => string
GenerationId => int32
MemberId => string
HeartbeatResponse => ErrorCode
ErrorCode => int16
LeaveGroupRequest => GroupId MemberId
GroupId => string
MemberId => string
LeaveGroupResponse => ErrorCode
ErrorCode => int16
ListGroupsRequest =>
ListGroupsResponse => ErrorCode [GroupInfo]
ErrorCode => int16
GroupInfo => GroupId ProtocolType
GroupId => string
ProtocolType => string
DescribeGroupsRequest => [GroupId]
GroupId => string
DescribeGroupsResponse => [GroupDescription]
GroupDescription => ErrorCode GroupId State ProtocolType Protocol [GroupMemberDescription]
ErrorCode => int16
GroupId => string
State => string
ProtocolType => string
Protocol => string
GroupMemberDescription => MemberId ClientId ClientHost MemberMetadata MemberAssignment
MemberId => string
ClientId => string
ClientHost => string
MemberMetadata => bytes
MemberAssignment => bytes