Current section
Files
Jump to
Current section
Files
lib/transport.ex
defmodule Modbus.Transport do
@moduledoc false
@callback open(opts :: keyword()) ::
{:ok, id :: any()} | {:error, reason :: any()}
@callback readp(id :: any()) :: {:ok, packet :: binary()} | {:error, reason :: any()}
@callback readn(id :: any(), count :: integer(), timeout :: integer()) ::
{:ok, packet :: binary()} | {:error, reason :: any()}
@callback write(id :: any(), packet :: binary()) :: :ok | {:error, reason :: any()}
@callback close(id :: any()) :: :ok | {:error, reason :: any()}
def open(mod, opts) do
mod.open(opts)
end
def readn({mod, id}, count, timeout) do
mod.readn(id, count, timeout)
end
def readp({mod, id}) do
mod.readp(id)
end
def write({mod, id}, packet) do
mod.write(id, packet)
end
def close({mod, id}) do
mod.close(id)
end
end