module Memcached

Public Class Methods

connect(servers) click to toggle source
# File lib/em-synchrony/em-remcached.rb, line 10
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