class Kafka::Protocol::MessageSet
Attributes
messages[R]
Public Class Methods
decode(decoder)
click to toggle source
# File lib/kafka/protocol/message_set.rb, line 28 def self.decode(decoder) fetched_messages = [] until decoder.eof? begin message = Message.decode(decoder) if message.compressed? fetched_messages.concat(message.decompress) else fetched_messages << message end rescue EOFError if fetched_messages.empty? # If the first message in the set is truncated, it's likely because the # message is larger than the maximum size that we have asked for. raise MessageTooLargeToRead else # We tried to decode a partial message at the end of the set; just skip it. end end end new(messages: fetched_messages) end
new(messages: [])
click to toggle source
# File lib/kafka/protocol/message_set.rb, line 8 def initialize(messages: []) @messages = messages end
Public Instance Methods
==(other)
click to toggle source
# File lib/kafka/protocol/message_set.rb, line 16 def ==(other) messages == other.messages end
encode(encoder)
click to toggle source
# File lib/kafka/protocol/message_set.rb, line 20 def encode(encoder) # Messages in a message set are *not* encoded as an array. Rather, # they are written in sequence. @messages.each do |message| message.encode(encoder) end end
size()
click to toggle source
# File lib/kafka/protocol/message_set.rb, line 12 def size @messages.size end