module Memcached

def connect(servers)

def connect(servers)
  Memcached.servers = servers
  f = Fiber.current
  @w = EM::Timer.new(10.0) { f.resume :error }
  @t = EM::PeriodicTimer.new(0.01) do
    if Memcached.usable?
      @w.cancel
      @t.cancel
      f.resume(self)
    end
  end
  r = Fiber.yield
  (r == :error) ? (raise Exception.new('Cannot connect to memcached server')) : r
end