class Async::Pool::Controller
def reuse(resource)
def reuse(resource) Console.debug(self) {"Reuse #{resource}"} usage = @resources[resource] if usage.nil? || usage.zero? raise "Trying to reuse unacquired resource: #{resource}!" end # If the resource was fully utilized, it now becomes available: if usage == resource.concurrency @available.push(resource) end @resources[resource] = usage - 1 @notification.signal return true end