tres/lib/openflow/multipart/desc/request.ex
2019-05-05 23:39:46 +09:00

31 lines
641 B
Elixir

defmodule Openflow.Multipart.Desc.Request do
defstruct(
version: 4,
xid: 0,
# virtual field
datapath_id: nil,
aux_id: nil,
flags: []
)
alias __MODULE__
@type t :: %Request{
version: 4,
datapath_id: String.t(),
aux_id: 0..0xFF | nil,
xid: 0..0xFFFFFFFF
}
@spec ofp_type() :: 18
def ofp_type, do: 18
@spec new(0..0xFFFFFFFF) :: t()
def new(xid \\ 0), do: %Request{xid: xid}
@spec read(<<>>) :: t()
def read(""), do: %Request{}
@spec to_binary(t()) :: <<_::64>>
def to_binary(%Request{} = msg), do: Openflow.Multipart.Request.header(msg)
end