Current section

Files

Jump to
spawn lib actors node default_split_brain_detector.ex
Raw

lib/actors/node/default_split_brain_detector.ex

defmodule Actors.Node.DefaultSplitBrainDetector do
@moduledoc false
@behaviour Actors.SplitBrainDetector
alias Actors.Exceptions.NetworkPartitionException
@activated_status "ACTIVATED"
@impl true
def check_network_partition(status, node) do
if status === @activated_status and node != Atom.to_string(Node.self()) do
{:error, :network_partition_detected}
else
{:ok, :continue}
end
end
@impl true
def check_network_partition!(status, node) do
if status === @activated_status and node != Atom.to_string(Node.self()) do
raise NetworkPartitionException
end
end
end