Modbux.Tcp (Modbux v0.3.10) View Source

Tcp message helper, functions that handles TCP responses/requests messages.

Link to this section Summary

Link to this section Functions

Specs

pack_req(
  {:fc | :phr | :rc | :rhr | :ri | :rir, integer(), integer(),
   maybe_improper_list() | integer()},
  integer()
) :: <<_::48, _::_*8>>
Link to this function

pack_res(cmd, values, transid)

View Source

Specs

pack_res(
  {:fc | :phr | :rc | :rhr | :ri | :rir, integer(), any(),
   maybe_improper_list() | integer()},
  any(),
  integer()
) :: <<_::48, _::_*8>>

Specs

parse_req(<<_::48, _::_*8>>) ::
  {{:einval | :error | :fc | :phr | :rc | :rhr | :ri | :rir, byte(), char(),
    [any()] | char()}, char()}
Link to this function

parse_res(cmd, wraped, transid)

View Source

Specs

parse_res(any(), <<_::48, _::_*8>>, char()) ::
  nil | [any()] | {:error, any()} | {:error, byte(), <<_::104>>}

Specs

req_len({:fc | :phr | :rc | :rhr | :ri | :rir, any(), any(), any()}) ::
  integer()

Specs

res_len({:fc | :phr | :rc | :rhr | :ri | :rir, any(), any(), any()}) :: number()

Specs

unwrap(<<_::48, _::_*8>>) :: {binary(), char()}

Specs

unwrap(<<_::48, _::_*8>>, char()) :: nil | binary()

Specs

wrap(binary(), integer()) :: <<_::48, _::_*8>>