class Baleen::Client

Public Class Methods

new(host, port, debug=false) click to toggle source
# File lib/baleen/client.rb, line 10
def initialize(host, port, debug=false)
  Celluloid.logger = nil unless debug
  @socket = TCPSocket.open(host, port)
end

Public Instance Methods

close() click to toggle source
# File lib/baleen/client.rb, line 26
def close
  @socket.close if @socket
  hl_warn "Connection closed"

rescue IOError; nil
end
handle_response(msg) click to toggle source
# File lib/baleen/client.rb, line 33
def handle_response(msg)
  if msg.nil?
    raise RuntimeError, 'Connection closed by server'
  end

  response = Serializable.deserialize(msg)

  if response.is_a? Message::Base
    response.print_message
  end

  if response.terminate?
    response
  else
    nil
  end
end
request(request) click to toggle source
# File lib/baleen/client.rb, line 15
def request(request)
  @socket.puts(request.to_json)
end
wait_response() click to toggle source
# File lib/baleen/client.rb, line 19
def wait_response
  loop {
    response = handle_response(@socket.gets)
    return response if response
  }
end