pub trait DecodeMessage {
Show 34 associated items
type Op;
type Htype;
type Hlen;
type Hops;
type Xid;
type Secs;
type Flags;
type Ciaddr;
type Yiaddr;
type Siaddr;
type Giaddr;
type Chaddr;
type Sname;
type File;
type Magic;
type Options;
type Output;
// Required methods
fn decode_op(op: &UndecodedMessage) -> Self::Op;
fn decode_htype(htype: &UndecodedMessage) -> Self::Htype;
fn decode_hlen(hlen: &UndecodedMessage) -> Self::Hlen;
fn decode_hops(hops: &UndecodedMessage) -> Self::Hops;
fn decode_xid(xid: &UndecodedMessage) -> Self::Xid;
fn decode_secs(secs: &UndecodedMessage) -> Self::Secs;
fn decode_flags(flags: &UndecodedMessage) -> Self::Flags;
fn decode_ciaddr(ciaddr: &UndecodedMessage) -> Self::Ciaddr;
fn decode_yiaddr(yiaddr: &UndecodedMessage) -> Self::Yiaddr;
fn decode_siaddr(siaddr: &UndecodedMessage) -> Self::Siaddr;
fn decode_giaddr(giaddr: &UndecodedMessage) -> Self::Giaddr;
fn decode_chaddr(chaddr: &UndecodedMessage) -> Self::Chaddr;
fn decode_sname(sname: &UndecodedMessage) -> Self::Sname;
fn decode_file(file: &UndecodedMessage) -> Self::File;
fn decode_magic(magic: &UndecodedMessage) -> Self::Magic;
fn decode_options(options: &UndecodedMessage) -> Self::Options;
fn from_bytes(undecoded: &UndecodedMessage) -> Self::Output;
}Expand description
Define how the bytes of a DHCP message’s fields decode into your custom Message’s types.
…or don’t and use our homemade Message with this already implemented.
Required Associated Types§
Required Methods§
Sourcefn decode_op(op: &UndecodedMessage) -> Self::Op
fn decode_op(op: &UndecodedMessage) -> Self::Op
Convert an op field’s byte into your custom Message’s type.
Sourcefn decode_htype(htype: &UndecodedMessage) -> Self::Htype
fn decode_htype(htype: &UndecodedMessage) -> Self::Htype
Convert an htype field’s byte into your custom Message’s type.
Sourcefn decode_hlen(hlen: &UndecodedMessage) -> Self::Hlen
fn decode_hlen(hlen: &UndecodedMessage) -> Self::Hlen
Convert an hlen field’s byte into your custom Message’s type.
Sourcefn decode_hops(hops: &UndecodedMessage) -> Self::Hops
fn decode_hops(hops: &UndecodedMessage) -> Self::Hops
Convert an hops field’s byte into your custom Message’s type.
Sourcefn decode_xid(xid: &UndecodedMessage) -> Self::Xid
fn decode_xid(xid: &UndecodedMessage) -> Self::Xid
Convert an xid field’s bytes into your custom Message’s type.
Sourcefn decode_secs(secs: &UndecodedMessage) -> Self::Secs
fn decode_secs(secs: &UndecodedMessage) -> Self::Secs
Convert an secs field’s bytes into your custom Message’s type.
Sourcefn decode_flags(flags: &UndecodedMessage) -> Self::Flags
fn decode_flags(flags: &UndecodedMessage) -> Self::Flags
Convert an flags field’s bytes into your custom Message’s type.
Sourcefn decode_ciaddr(ciaddr: &UndecodedMessage) -> Self::Ciaddr
fn decode_ciaddr(ciaddr: &UndecodedMessage) -> Self::Ciaddr
Convert an ciaddr field’s bytes into your custom Message’s type.
Sourcefn decode_yiaddr(yiaddr: &UndecodedMessage) -> Self::Yiaddr
fn decode_yiaddr(yiaddr: &UndecodedMessage) -> Self::Yiaddr
Convert an yiaddr field’s bytes into your custom Message’s type.
Sourcefn decode_siaddr(siaddr: &UndecodedMessage) -> Self::Siaddr
fn decode_siaddr(siaddr: &UndecodedMessage) -> Self::Siaddr
Convert an siaddr field’s bytes into your custom Message’s type.
Sourcefn decode_giaddr(giaddr: &UndecodedMessage) -> Self::Giaddr
fn decode_giaddr(giaddr: &UndecodedMessage) -> Self::Giaddr
Convert an giaddr field’s bytes into your custom Message’s type.
Sourcefn decode_chaddr(chaddr: &UndecodedMessage) -> Self::Chaddr
fn decode_chaddr(chaddr: &UndecodedMessage) -> Self::Chaddr
Convert an chaddr field’s bytes into your custom Message’s type.
Sourcefn decode_sname(sname: &UndecodedMessage) -> Self::Sname
fn decode_sname(sname: &UndecodedMessage) -> Self::Sname
Convert an sname field’s bytes into your custom Message’s type.
Sourcefn decode_file(file: &UndecodedMessage) -> Self::File
fn decode_file(file: &UndecodedMessage) -> Self::File
Convert an file field’s bytes into your custom Message’s type.
Sourcefn decode_magic(magic: &UndecodedMessage) -> Self::Magic
fn decode_magic(magic: &UndecodedMessage) -> Self::Magic
Convert an magic field’s bytes into your custom Message’s type.
Sourcefn decode_options(options: &UndecodedMessage) -> Self::Options
fn decode_options(options: &UndecodedMessage) -> Self::Options
Convert an options field’s bytes into your custom Message’s type.
Sourcefn from_bytes(undecoded: &UndecodedMessage) -> Self::Output
fn from_bytes(undecoded: &UndecodedMessage) -> Self::Output
decodes a byte array into a Message or other type that implements decodeMessage.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.