Module: RightScale::CommandIO::ServerInputHandler

Defined in:
lib/right_agent/command/command_io.rb

Overview

EventMachine connection Define event loop callbacks handler

Instance Method Summary collapse

Instance Method Details

#initialize(handler) ⇒ Object

Keep block used to handle incoming data

Parameters

handler(Proc)

Incoming data handler should take two arguments:

* First argument contains command
* Second argument contains connection used to reply


36
37
38
39
# File 'lib/right_agent/command/command_io.rb', line 36

def initialize(handler)
  @handler = handler
  @parser = CommandParser.new { |cmd| handler.call(cmd, self) }
end

#receive_data(data) ⇒ Object

EventMachine loop callback called whenever there is data coming from the socket

Parameter

data(String)

Incoming data

Return

true

Always return true



48
49
50
51
# File 'lib/right_agent/command/command_io.rb', line 48

def receive_data(data)
  @parser.parse_chunk(data)
  true
end