class Semian::ProtectedResource

def acquire(timeout: nil, scope: nil, adapter: nil, resource: nil)

def acquire(timeout: nil, scope: nil, adapter: nil, resource: nil)
  acquire_circuit_breaker(scope, adapter, resource) do
    acquire_bulkhead(timeout, scope, adapter) do |_, wait_time|
      Semian.notify(:success, self, scope, adapter, wait_time)
      yield self
    end
  end
end