class Kafka::Protocol::ListOffsetRequest
A request to list the available offsets for a set of topics/partitions.
## API Specification
OffsetRequest => ReplicaId [TopicName [Partition Time MaxNumberOfOffsets]] ReplicaId => int32 IsolationLevel => int8 TopicName => string Partition => int32 Time => int64
Constants
- ISOLATION_READ_COMMITTED
- ISOLATION_READ_UNCOMMITTED
Public Class Methods
new(topics:)
click to toggle source
@param topics [Hash]
# File lib/kafka/protocol/list_offset_request.rb, line 21 def initialize(topics:) @replica_id = REPLICA_ID @topics = topics end
Public Instance Methods
api_key()
click to toggle source
# File lib/kafka/protocol/list_offset_request.rb, line 30 def api_key LIST_OFFSET_API end
api_version()
click to toggle source
# File lib/kafka/protocol/list_offset_request.rb, line 26 def api_version 2 end
encode(encoder)
click to toggle source
# File lib/kafka/protocol/list_offset_request.rb, line 38 def encode(encoder) encoder.write_int32(@replica_id) encoder.write_int8(ISOLATION_READ_COMMITTED) encoder.write_array(@topics) do |topic, partitions| encoder.write_string(topic) encoder.write_array(partitions) do |partition| encoder.write_int32(partition.fetch(:partition)) encoder.write_int64(partition.fetch(:time)) end end end
response_class()
click to toggle source
# File lib/kafka/protocol/list_offset_request.rb, line 34 def response_class Protocol::ListOffsetResponse end