class Async::HTTP::Pool

def available_resource

def available_resource
	# TODO This is a linear search... not ideal, but simple for now.
	@resources.each do |resource, count|
		if count < resource.multiplex
			# We want to use this resource... but is it connected?
			if resource.connected?
				@resources[resource] += 1
				
				return resource
			else
				retire(resource)
			end
		end
	end
	
	@guard.acquire do
		if @limit.nil? or self.active < @limit
			Async.logger.debug(self) {"No resources resources, allocating new one..."}
			
			return create
		end
	end
	
	return nil
end