class Semian::ProtectedResource

def acquire_bulkhead(timeout, scope, adapter)

def acquire_bulkhead(timeout, scope, adapter)
  if @bulkhead.nil?
    yield self, 0
  else
    @bulkhead.acquire(timeout: timeout) do |wait_time|
      yield self, wait_time
    end
  end
rescue ::Semian::TimeoutError
  Semian.notify(:busy, self, scope, adapter)
  raise
end