Class: Kafka::Protocol::ListOffsetRequest
- Inherits:
-
Object
- Object
- Kafka::Protocol::ListOffsetRequest
- Defined in:
- lib/kafka/protocol/list_offset_request.rb
Overview
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
Constant Summary collapse
- ISOLATION_READ_UNCOMMITTED =
0
- ISOLATION_READ_COMMITTED =
1
Instance Method Summary collapse
- #api_key ⇒ Object
- #api_version ⇒ Object
- #encode(encoder) ⇒ Object
-
#initialize(topics:) ⇒ ListOffsetRequest
constructor
A new instance of ListOffsetRequest.
- #response_class ⇒ Object
Constructor Details
#initialize(topics:) ⇒ ListOffsetRequest
Returns a new instance of ListOffsetRequest.
21 22 23 24 |
# File 'lib/kafka/protocol/list_offset_request.rb', line 21 def initialize(topics:) @replica_id = REPLICA_ID @topics = topics end |
Instance Method Details
#api_key ⇒ Object
30 31 32 |
# File 'lib/kafka/protocol/list_offset_request.rb', line 30 def api_key LIST_OFFSET_API end |
#api_version ⇒ Object
26 27 28 |
# File 'lib/kafka/protocol/list_offset_request.rb', line 26 def api_version 2 end |
#encode(encoder) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 |
# 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 ⇒ Object
34 35 36 |
# File 'lib/kafka/protocol/list_offset_request.rb', line 34 def response_class Protocol::ListOffsetResponse end |