Module: Kafka::Protocol
- Defined in:
- lib/kafka/protocol.rb,
lib/kafka/protocol/decoder.rb,
lib/kafka/protocol/encoder.rb,
lib/kafka/protocol/message.rb,
lib/kafka/protocol/message_set.rb,
lib/kafka/protocol/fetch_request.rb,
lib/kafka/protocol/fetch_response.rb,
lib/kafka/protocol/produce_request.rb,
lib/kafka/protocol/request_message.rb,
lib/kafka/protocol/produce_response.rb,
lib/kafka/protocol/metadata_response.rb,
lib/kafka/protocol/list_offset_request.rb,
lib/kafka/protocol/list_offset_response.rb,
lib/kafka/protocol/topic_metadata_request.rb
Defined Under Namespace
Classes: Decoder, Encoder, FetchRequest, FetchResponse, ListOffsetRequest, ListOffsetResponse, Message, MessageSet, MetadataResponse, ProduceRequest, ProduceResponse, RequestMessage, TopicMetadataRequest
Constant Summary collapse
- REPLICA_ID =
The replica id of non-brokers is always -1.
-1
- APIS =
{ 0 => :produce, 1 => :fetch, 2 => :list_offset, 3 => :topic_metadata, }
- ERRORS =
{ -1 => UnknownError, 1 => OffsetOutOfRange, 2 => CorruptMessage, 3 => UnknownTopicOrPartition, 4 => InvalidMessageSize, 5 => LeaderNotAvailable, 6 => NotLeaderForPartition, 7 => RequestTimedOut, 8 => BrokerNotAvailable, 9 => ReplicaNotAvailable, 10 => MessageSizeTooLarge, 12 => OffsetMetadataTooLarge, 17 => InvalidTopic, 18 => RecordListTooLarge, 19 => NotEnoughReplicas, 20 => NotEnoughReplicasAfterAppend, 21 => InvalidRequiredAcks, }
Class Method Summary collapse
Class Method Details
.api_name(api_key) ⇒ Object
43 44 45 |
# File 'lib/kafka/protocol.rb', line 43 def self.api_name(api_key) APIS.fetch(api_key, :unknown) end |
.handle_error(error_code) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/kafka/protocol.rb', line 33 def self.handle_error(error_code) if error_code == 0 # No errors, yay! elsif error = ERRORS[error_code] raise error else raise UnknownError, "Unknown error with code #{error_code}" end end |