Method: Kafka::Protocol::TxnOffsetCommitRequest#encode

Defined in:
lib/kafka/protocol/txn_offset_commit_request.rb

#encode(encoder) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/kafka/protocol/txn_offset_commit_request.rb', line 27

def encode(encoder)
  encoder.write_string(@transactional_id.to_s)
  encoder.write_string(@group_id)
  encoder.write_int64(@producer_id)
  encoder.write_int16(@producer_epoch)

  encoder.write_array(@offsets) do |topic, partitions|
    encoder.write_string(topic)
    encoder.write_array(partitions) do |partition, offset|
      encoder.write_int32(partition)
      encoder.write_int64(offset[:offset])
      encoder.write_string(nil) # metadata
      encoder.write_int32(offset[:leader_epoch])
    end
  end
end