module Mysql2::EM::Client::Watcher

def initialize(client, deferable)

def initialize(client, deferable)
  @client = client
  @deferable = deferable
end

def notify_readable

def notify_readable
  detach
  begin
    result = @client.async_result
  rescue Exception => e
    @deferable.fail(e)
  else
    @deferable.succeed(result)
  end
end