Current section
Files
Jump to
Current section
Files
lib/mavlink_util/cache/message.ex
defmodule XMAVLink.Util.Cache.Message do
@moduledoc """
Cached latest MAVLink message with monotonic receive time metadata.
"""
@enforce_keys [:received_at_ms, :message_type, :message]
defstruct [:received_at_ms, :message_type, :message]
@type t :: %__MODULE__{
received_at_ms: integer,
message_type: module,
message: XMAVLink.Message.t()
}
@spec new(XMAVLink.Message.t(), integer) :: t
def new(message = %{__struct__: message_type}, received_at_ms)
when is_integer(received_at_ms) do
%__MODULE__{
received_at_ms: received_at_ms,
message_type: message_type,
message: message
}
end
end