class Monga::Connections::FiberedConnection

Public Instance Methods

send_command(msg, request_id=nil, &cb) click to toggle source
# File lib/monga/connections/fibered_connection.rb, line 9
def send_command(msg, request_id=nil, &cb)
  fib = Fiber.current
  reconnect unless @connected

  callback do
    send_data msg
  end

  if cb
    reconnect unless @connected
    @responses[request_id] = fib
    res = Fiber.yield
    raise res if Exception === res
    cb.call(res)
  end
end