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