Current section
Files
Jump to
Current section
Files
lib/manager/ets/adapter.ex
defmodule Virgil.Manager.Ets.Adapter do
@moduledoc false
@behaviour Virgil.Adapter
alias Virgil.Circuit
@impl true
def is_closed?(%Circuit{name: circuit_name}),
do: {:ok, GenServer.call(:ets_manager, {:is_closed?, circuit_name})}
@impl true
def close(%Circuit{name: circuit_name}),
do: GenServer.cast(:ets_manager, {:close, circuit_name})
@impl true
def open(%Circuit{name: circuit_name}),
do: GenServer.cast(:ets_manager, {:open, circuit_name})
@impl true
def increment_error_counter(%Circuit{name: circuit_name}),
do: GenServer.call(:ets_manager, {:increment_counter, circuit_name})
end