def addRequest()

in src/main/scala/com/twitter/iago/server/RequestQueue.scala [41:55]


  def addRequest(request: Req): (Future[Rep], Future[Unit]) = {
    val response = new Promise[Rep]()
    request.response = response
    val queueResult = consumer
      .offer(request)
      .respond {
        case Return(false) => response.raise(RequestQueue.queueFullEx)
        case Throw(_) => response.raise(RequestQueue.queuingEx)
        case _ =>
      }
      .map { _ =>
        ()
      }
    (response, queueResult)
  }