Method: AvroMachine::Connection#handle_avro

Defined in:
lib/avro_machine/connection.rb

#handle_avro(input) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/avro_machine/connection.rb', line 25

def handle_avro(input)
  reader = Avro::IPC::FramedReader.new(StringIO.new(input))
  str = reader.read_framed_message

  # handle the request
  responder = self.class.responder.new
  resp = responder.respond(str)

  # format the response
  writer = Avro::IPC::FramedWriter.new(StringIO.new(""))
  writer.write_framed_message(resp)
  send_data(writer.to_s)
end