class Af::TCPCommand::Client

Attributes

client[R]
server_hostname[R]
server_port[R]

Public Class Methods

new(server_hostname, server_port) click to toggle source
# File lib/fiksu-af/tcp_command/client.rb, line 7
def initialize(server_hostname, server_port)
  @server_hostname = server_hostname
  @server_port = server_port
  @client = TCPSocket.new(server_hostname, server_port)
end

Public Instance Methods

command_dispatcher(line) click to toggle source
# File lib/fiksu-af/tcp_command/client.rb, line 21
def command_dispatcher(line)
  logger.debug_fine "process command: #{line}"
end
command_reader() click to toggle source
# File lib/fiksu-af/tcp_command/client.rb, line 17
def command_reader
  return client.readline.chomp
end
logger() click to toggle source
# File lib/fiksu-af/tcp_command/client.rb, line 13
def logger
  return af_logger(self.class.name)
end
ready() click to toggle source
# File lib/fiksu-af/tcp_command/client.rb, line 29
def ready
  reply_to_server("ready")
end
reply_to_server(line) click to toggle source
# File lib/fiksu-af/tcp_command/client.rb, line 25
def reply_to_server(line)
  client.write("#{line}\n")
end
serve() click to toggle source
# File lib/fiksu-af/tcp_command/client.rb, line 33
def serve
  while true
    logger.debug_medium "READY!"
    ready
    begin
      line = command_reader
      logger.debug_fine "working on: #{line}"
      command_dispatcher(line)
    rescue EOFError
      logger.warn "master closed connection: #{client.inspect}"
      client.close
      break
    end
  end
end