class Rafka::Message

Message represents a message consumed from a topic.

Attributes

offset[R]
partition[R]
topic[R]
value[R]

Public Class Methods

new(msg) click to toggle source

@param msg [Array] a message as received by the server

@raise [MalformedMessageError] if message is malformed

@example

Message.new(
  ["topic", "greetings", "partition", 2, "offset", 321123, "value", "Hi!"]
)
# File lib/rafka/message.rb, line 14
def initialize(msg)
  if !msg.is_a?(Array) || msg.size != 8
    raise MalformedMessageError, msg
  end

  @topic = msg[1]

  begin
    @partition = Integer(msg[3])
    @offset = Integer(msg[5])
  rescue ArgumentError
    raise MalformedMessageError, msg
  end

  @value = msg[7]
end