Builder API for EtherCAT.Simulator.Transport.Udp.inject_fault/1.
Typical usage:
alias EtherCAT.Simulator.Transport.Udp
alias EtherCAT.Simulator.Transport.Udp.Fault
Udp.inject_fault(Fault.truncate())
Udp.inject_fault(Fault.wrong_idx() |> Fault.next(3))
Udp.inject_fault(Fault.script([Fault.unsupported_type(), Fault.replay_previous()]))
Fault.describe(Fault.truncate() |> Fault.next(2))
Summary
Types
@type mode() :: :truncate | :unsupported_type | :wrong_idx | :replay_previous
@type t() :: %EtherCAT.Simulator.Transport.Udp.Fault{ count: non_neg_integer(), kind: :counted | :script, mode: mode() | nil, script: [mode()] | nil }
Functions
@spec describe(t() | EtherCAT.Simulator.Transport.Udp.fault()) :: String.t()
@spec next(t(), pos_integer()) :: t()
@spec normalize(t() | EtherCAT.Simulator.Transport.Udp.fault()) :: {:ok, EtherCAT.Simulator.Transport.Udp.fault()} | :error
@spec replay_previous() :: t()
@spec truncate() :: t()
@spec unsupported_type() :: t()
@spec wrong_idx() :: t()