%% generated code, do not edit! -module(kpro_structs). -export([encode/1]). -export([decode/2]). -include("kpro.hrl"). encode(#kpro_ProduceRequest{} = R) -> [enc({int16, R#kpro_ProduceRequest.requiredAcks}), enc({int32, R#kpro_ProduceRequest.timeout}), enc({array, R#kpro_ProduceRequest.topicMessageSet_L})]; encode(#kpro_TopicMessageSet{} = R) -> [enc({string, R#kpro_TopicMessageSet.topicName}), enc({array, R#kpro_TopicMessageSet.partitionMessageSet_L})]; encode(#kpro_PartitionMessageSet{} = R) -> [enc({int32, R#kpro_PartitionMessageSet.partition}), enc({int32, R#kpro_PartitionMessageSet.messageSetSize}), enc({array, R#kpro_PartitionMessageSet.message_L})]; encode(#kpro_Message{} = R) -> [enc({int64, R#kpro_Message.offset}), enc({int32, R#kpro_Message.messageSize}), enc({int32, R#kpro_Message.crc}), enc({int8, R#kpro_Message.magicByte}), enc({int8, R#kpro_Message.attributes}), enc({bytes, R#kpro_Message.key}), enc({bytes, R#kpro_Message.value})]; encode(#kpro_FetchRequest{} = R) -> [enc({int32, R#kpro_FetchRequest.replicaId}), enc({int32, R#kpro_FetchRequest.maxWaitTime}), enc({int32, R#kpro_FetchRequest.minBytes}), enc({array, R#kpro_FetchRequest.fetchRequestTopic_L})]; encode(#kpro_FetchRequestTopic{} = R) -> [enc({string, R#kpro_FetchRequestTopic.topicName}), enc({array, R#kpro_FetchRequestTopic.fetchRequestPartition_L})]; encode(#kpro_FetchRequestPartition{} = R) -> [enc({int32, R#kpro_FetchRequestPartition.partition}), enc({int64, R#kpro_FetchRequestPartition.fetchOffset}), enc({int32, R#kpro_FetchRequestPartition.maxBytes})]; encode(#kpro_OffsetRequest{} = R) -> [enc({int32, R#kpro_OffsetRequest.replicaId}), enc({array, R#kpro_OffsetRequest.offsetRequestTopic_L})]; encode(#kpro_OffsetRequestTopic{} = R) -> [enc({string, R#kpro_OffsetRequestTopic.topicName}), enc({array, R#kpro_OffsetRequestTopic.offsetRequestPartition_L})]; encode(#kpro_OffsetRequestPartition{} = R) -> [enc({int32, R#kpro_OffsetRequestPartition.partition}), enc({int64, R#kpro_OffsetRequestPartition.time}), enc({int32, R#kpro_OffsetRequestPartition.maxNumberOfOffsets})]; encode(#kpro_MetadataRequest{} = R) -> [enc({{array, string}, R#kpro_MetadataRequest.topicName_L})]; encode(#kpro_OffsetCommitRequestV2{} = R) -> [enc({string, R#kpro_OffsetCommitRequestV2.consumerGroupId}), enc({int32, R#kpro_OffsetCommitRequestV2.consumerGroupGenerationId}), enc({string, R#kpro_OffsetCommitRequestV2.consumerId}), enc({int64, R#kpro_OffsetCommitRequestV2.retentionTime}), enc({array, R#kpro_OffsetCommitRequestV2.oCReqV2Topic_L})]; encode(#kpro_OCReqV2Topic{} = R) -> [enc({string, R#kpro_OCReqV2Topic.topicName}), enc({array, R#kpro_OCReqV2Topic.oCReqV2Partition_L})]; encode(#kpro_OCReqV2Partition{} = R) -> [enc({int32, R#kpro_OCReqV2Partition.partition}), enc({int64, R#kpro_OCReqV2Partition.offset}), enc({string, R#kpro_OCReqV2Partition.metadata})]; encode(#kpro_OffsetCommitRequestV1{} = R) -> [enc({string, R#kpro_OffsetCommitRequestV1.consumerGroupId}), enc({int32, R#kpro_OffsetCommitRequestV1.consumerGroupGenerationId}), enc({string, R#kpro_OffsetCommitRequestV1.consumerId}), enc({array, R#kpro_OffsetCommitRequestV1.oCReqV1Topic_L})]; encode(#kpro_OCReqV1Topic{} = R) -> [enc({string, R#kpro_OCReqV1Topic.topicName}), enc({array, R#kpro_OCReqV1Topic.oCReqV1Partition_L})]; encode(#kpro_OCReqV1Partition{} = R) -> [enc({int32, R#kpro_OCReqV1Partition.partition}), enc({int64, R#kpro_OCReqV1Partition.offset}), enc({int64, R#kpro_OCReqV1Partition.timeStamp}), enc({string, R#kpro_OCReqV1Partition.metadata})]; encode(#kpro_OffsetCommitRequestV0{} = R) -> [enc({string, R#kpro_OffsetCommitRequestV0.consumerGroupId}), enc({array, R#kpro_OffsetCommitRequestV0.oCReqV0Topic_L})]; encode(#kpro_OCReqV0Topic{} = R) -> [enc({string, R#kpro_OCReqV0Topic.topicName}), enc({array, R#kpro_OCReqV0Topic.oCReqV0Partition_L})]; encode(#kpro_OCReqV0Partition{} = R) -> [enc({int32, R#kpro_OCReqV0Partition.partition}), enc({int64, R#kpro_OCReqV0Partition.offset}), enc({string, R#kpro_OCReqV0Partition.metadata})]; encode(#kpro_OffsetFetchRequest{} = R) -> [enc({string, R#kpro_OffsetFetchRequest.consumerGroup}), enc({array, R#kpro_OffsetFetchRequest.oFReqTopic_L})]; encode(#kpro_OFReqTopic{} = R) -> [enc({string, R#kpro_OFReqTopic.topicName}), enc({{array, int32}, R#kpro_OFReqTopic.partition_L})]; encode(#kpro_GroupCoordinatorRequest{} = R) -> [enc({string, R#kpro_GroupCoordinatorRequest.groupId})]; encode(#kpro_JoinGroupRequest{} = R) -> [enc({string, R#kpro_JoinGroupRequest.groupId}), enc({int32, R#kpro_JoinGroupRequest.sessionTimeout}), enc({string, R#kpro_JoinGroupRequest.memberId}), enc({string, R#kpro_JoinGroupRequest.protocolType}), enc({array, R#kpro_JoinGroupRequest.groupProtocol_L})]; encode(#kpro_GroupProtocol{} = R) -> [enc({string, R#kpro_GroupProtocol.protocolName}), enc({bytes, R#kpro_GroupProtocol.protocolMetadata})]; encode(#kpro_HeartbeatRequest{} = R) -> [enc({string, R#kpro_HeartbeatRequest.groupId}), enc({int32, R#kpro_HeartbeatRequest.generationId}), enc({string, R#kpro_HeartbeatRequest.memberId})]; encode(#kpro_LeaveGroupRequest{} = R) -> [enc({string, R#kpro_LeaveGroupRequest.groupId}), enc({string, R#kpro_LeaveGroupRequest.memberId})]; encode(#kpro_SyncGroupRequest{} = R) -> [enc({string, R#kpro_SyncGroupRequest.groupId}), enc({int32, R#kpro_SyncGroupRequest.generationId}), enc({string, R#kpro_SyncGroupRequest.memberId}), enc({array, R#kpro_SyncGroupRequest.groupAssignment_L})]; encode(#kpro_GroupAssignment{} = R) -> [enc({string, R#kpro_GroupAssignment.memberId}), enc({bytes, R#kpro_GroupAssignment.memberAssignment})]; encode(#kpro_DescribeGroupsRequest{} = R) -> [enc({{array, string}, R#kpro_DescribeGroupsRequest.groupId_L})]; encode(#kpro_ListGroupsRequest{}) -> []; encode(#kpro_ConsumerGroupProtocolMetadata{} = R) -> [enc({int16, R#kpro_ConsumerGroupProtocolMetadata.version}), enc({{array, string}, R#kpro_ConsumerGroupProtocolMetadata.topicName_L}), enc({bytes, R#kpro_ConsumerGroupProtocolMetadata.userData})]; encode(#kpro_ConsumerGroupMemberAssignment{} = R) -> [enc({int16, R#kpro_ConsumerGroupMemberAssignment.version}), enc({array, R#kpro_ConsumerGroupMemberAssignment.consumerGroupPartitionAssignment_L}), enc({bytes, R#kpro_ConsumerGroupMemberAssignment.userData})]; encode(#kpro_ConsumerGroupPartitionAssignment{} = R) -> [enc({string, R#kpro_ConsumerGroupPartitionAssignment.topicName}), enc({{array, int32}, R#kpro_ConsumerGroupPartitionAssignment.partition_L})]. decode(kpro_ProduceResponse, Bin) -> Fields = [{produceResponseTopic_L, {array, kpro_ProduceResponseTopic}}], kpro:decode_fields(kpro_ProduceResponse, Fields, Bin); decode(kpro_ProduceResponseTopic, Bin) -> Fields = [{topicName, string}, {produceResponsePartition_L, {array, kpro_ProduceResponsePartition}}], kpro:decode_fields(kpro_ProduceResponseTopic, Fields, Bin); decode(kpro_ProduceResponsePartition, Bin) -> Fields = [{partition, int32}, {errorCode, int16}, {offset, int64}], kpro:decode_fields(kpro_ProduceResponsePartition, Fields, Bin); decode(kpro_FetchResponse, Bin) -> Fields = [{fetchResponseTopic_L, {array, kpro_FetchResponseTopic}}], kpro:decode_fields(kpro_FetchResponse, Fields, Bin); decode(kpro_FetchResponseTopic, Bin) -> Fields = [{topicName, string}, {fetchResponsePartition_L, {array, kpro_FetchResponsePartition}}], kpro:decode_fields(kpro_FetchResponseTopic, Fields, Bin); decode(kpro_FetchResponsePartition, Bin) -> Fields = [{partition, int32}, {errorCode, int16}, {highWatermarkOffset, int64}, {messageSetSize, int32}, {message_L, {array, kpro_Message}}], kpro:decode_fields(kpro_FetchResponsePartition, Fields, Bin); decode(kpro_Message, Bin) -> Fields = [{offset, int64}, {messageSize, int32}, {crc, int32}, {magicByte, int8}, {attributes, int8}, {key, bytes}, {value, bytes}], kpro:decode_fields(kpro_Message, Fields, Bin); decode(kpro_OffsetResponse, Bin) -> Fields = [{topicOffsets_L, {array, kpro_TopicOffsets}}], kpro:decode_fields(kpro_OffsetResponse, Fields, Bin); decode(kpro_TopicOffsets, Bin) -> Fields = [{topicName, string}, {partitionOffsets_L, {array, kpro_PartitionOffsets}}], kpro:decode_fields(kpro_TopicOffsets, Fields, Bin); decode(kpro_PartitionOffsets, Bin) -> Fields = [{partition, int32}, {errorCode, int16}, {offset_L, {array, int64}}], kpro:decode_fields(kpro_PartitionOffsets, Fields, Bin); decode(kpro_MetadataResponse, Bin) -> Fields = [{broker_L, {array, kpro_Broker}}, {topicMetadata_L, {array, kpro_TopicMetadata}}], kpro:decode_fields(kpro_MetadataResponse, Fields, Bin); decode(kpro_Broker, Bin) -> Fields = [{nodeId, int32}, {host, string}, {port, int32}], kpro:decode_fields(kpro_Broker, Fields, Bin); decode(kpro_TopicMetadata, Bin) -> Fields = [{errorCode, int16}, {topicName, string}, {partitionMetadata_L, {array, kpro_PartitionMetadata}}], kpro:decode_fields(kpro_TopicMetadata, Fields, Bin); decode(kpro_PartitionMetadata, Bin) -> Fields = [{errorCode, int16}, {partition, int32}, {leader, int32}, {replicas, {array, int32}}, {isr, {array, int32}}], kpro:decode_fields(kpro_PartitionMetadata, Fields, Bin); decode(kpro_OffsetCommitResponse, Bin) -> Fields = [{oCRspTopic_L, {array, kpro_OCRspTopic}}], kpro:decode_fields(kpro_OffsetCommitResponse, Fields, Bin); decode(kpro_OCRspTopic, Bin) -> Fields = [{topicName, string}, {oCRspPartition_L, {array, kpro_OCRspPartition}}], kpro:decode_fields(kpro_OCRspTopic, Fields, Bin); decode(kpro_OCRspPartition, Bin) -> Fields = [{partition, int32}, {errorCode, int16}], kpro:decode_fields(kpro_OCRspPartition, Fields, Bin); decode(kpro_OffsetFetchResponse, Bin) -> Fields = [{topicOffset_L, {array, kpro_TopicOffset}}], kpro:decode_fields(kpro_OffsetFetchResponse, Fields, Bin); decode(kpro_TopicOffset, Bin) -> Fields = [{topicName, string}, {partitionOffset_L, {array, kpro_PartitionOffset}}], kpro:decode_fields(kpro_TopicOffset, Fields, Bin); decode(kpro_PartitionOffset, Bin) -> Fields = [{partition, int32}, {offset, int64}, {metadata, string}, {errorCode, int16}], kpro:decode_fields(kpro_PartitionOffset, Fields, Bin); decode(kpro_GroupCoordinatorResponse, Bin) -> Fields = [{errorCode, int16}, {coordinatorId, int32}, {coordinatorHost, string}, {coordinatorPort, int32}], kpro:decode_fields(kpro_GroupCoordinatorResponse, Fields, Bin); decode(kpro_JoinGroupResponse, Bin) -> Fields = [{errorCode, int16}, {generationId, int32}, {protocolName, string}, {leaderId, string}, {memberId, string}, {groupMemberMetadata_L, {array, kpro_GroupMemberMetadata}}], kpro:decode_fields(kpro_JoinGroupResponse, Fields, Bin); decode(kpro_GroupMemberMetadata, Bin) -> Fields = [{memberId, string}, {protocolMetadata, bytes}], kpro:decode_fields(kpro_GroupMemberMetadata, Fields, Bin); decode(kpro_HeartbeatResponse, Bin) -> Fields = [{errorCode, int16}], kpro:decode_fields(kpro_HeartbeatResponse, Fields, Bin); decode(kpro_LeaveGroupResponse, Bin) -> Fields = [{errorCode, int16}], kpro:decode_fields(kpro_LeaveGroupResponse, Fields, Bin); decode(kpro_SyncGroupResponse, Bin) -> Fields = [{errorCode, int16}, {memberAssignment, bytes}], kpro:decode_fields(kpro_SyncGroupResponse, Fields, Bin); decode(kpro_DescribeGroupsResponse, Bin) -> Fields = [{groupDescription_L, {array, kpro_GroupDescription}}], kpro:decode_fields(kpro_DescribeGroupsResponse, Fields, Bin); decode(kpro_GroupDescription, Bin) -> Fields = [{errorCode, int16}, {groupId, string}, {state, string}, {protocolType, string}, {protocol, string}, {groupMemberDescription_L, {array, kpro_GroupMemberDescription}}], kpro:decode_fields(kpro_GroupDescription, Fields, Bin); decode(kpro_GroupMemberDescription, Bin) -> Fields = [{memberId, string}, {clientId, string}, {clientHost, string}, {memberMetadata, bytes}, {memberAssignment, bytes}], kpro:decode_fields(kpro_GroupMemberDescription, Fields, Bin); decode(kpro_ListGroupsResponse, Bin) -> Fields = [{errorCode, int16}, {groupInfo_L, {array, kpro_GroupInfo}}], kpro:decode_fields(kpro_ListGroupsResponse, Fields, Bin); decode(kpro_GroupInfo, Bin) -> Fields = [{groupId, string}, {protocolType, string}], kpro:decode_fields(kpro_GroupInfo, Fields, Bin); decode(kpro_ConsumerGroupProtocolMetadata, Bin) -> Fields = [{version, int16}, {topicName_L, {array, string}}, {userData, bytes}], kpro:decode_fields(kpro_ConsumerGroupProtocolMetadata, Fields, Bin); decode(kpro_ConsumerGroupMemberAssignment, Bin) -> Fields = [{version, int16}, {consumerGroupPartitionAssignment_L, {array, kpro_ConsumerGroupPartitionAssignment}}, {userData, bytes}], kpro:decode_fields(kpro_ConsumerGroupMemberAssignment, Fields, Bin); decode(kpro_ConsumerGroupPartitionAssignment, Bin) -> Fields = [{topicName, string}, {partition_L, {array, int32}}], kpro:decode_fields(kpro_ConsumerGroupPartitionAssignment, Fields, Bin). enc(X) -> kpro:encode(X).