class Protobuf::Rpc::Connectors::EMClient

def connect(options={})

def connect(options={})
  options = DEFAULT_OPTIONS.merge(options)
  log_debug "[client-#{self}] Connecting to server: %s" % options.inspect
  EM.connect(options[:host], options[:port], self, options)
end

def initialize(options={}, &failure_cb)

def initialize(options={}, &failure_cb)
  @failure_cb = failure_cb
  @options = DEFAULT_OPTIONS.merge(options)
  verify_options
  initialize_stats
  log_debug "[#{log_signature}] Client Initialized: %s" % options.inspect
rescue
  fail(:RPC_ERROR, 'Failed to initialize connection: %s' % $!.message)
end

def on_complete(&complete_cb)

Completion callback registration
def on_complete(&complete_cb)
  @complete_cb = complete_cb
end

def on_failure(&failure_cb)

Failure callback registration
def on_failure(&failure_cb)
  @failure_cb = failure_cb
end

def on_success(&success_cb)

Success callback registration
def on_success(&success_cb)
  @success_cb = success_cb
end

def receive_data(data)

def receive_data(data)
  log_debug "[#{log_signature}] receive_data: %s" % data
  @buffer << data
  parse_response if @buffer.flushed?
end