1
0

privatizing fields in header abstraction

This commit is contained in:
EAimTY 2023-01-24 15:51:24 +09:00
parent 99e48ca276
commit a707943d5a
4 changed files with 52 additions and 16 deletions

View File

@ -7,7 +7,7 @@ use super::Command;
// +-------+
#[derive(Clone, Debug)]
pub struct Authenticate {
pub token: [u8; 8],
token: [u8; 8],
}
impl Authenticate {
@ -16,6 +16,10 @@ impl Authenticate {
pub const fn new(token: [u8; 8]) -> Self {
Self { token }
}
pub fn token(&self) -> &[u8; 8] {
&self.token
}
}
impl Command for Authenticate {

View File

@ -7,7 +7,7 @@ use super::{Address, Command};
// +----------+
#[derive(Clone, Debug)]
pub struct Connect {
pub addr: Address,
addr: Address,
}
impl Connect {
@ -16,6 +16,10 @@ impl Connect {
pub const fn new(addr: Address) -> Self {
Self { addr }
}
pub fn addr(&self) -> &Address {
&self.addr
}
}
impl Command for Connect {

View File

@ -7,7 +7,7 @@ use super::Command;
// +----------+
#[derive(Clone, Debug)]
pub struct Dissociate {
pub assoc_id: u16,
assoc_id: u16,
}
impl Dissociate {
@ -16,6 +16,10 @@ impl Dissociate {
pub const fn new(assoc_id: u16) -> Self {
Self { assoc_id }
}
pub fn assoc_id(&self) -> u16 {
self.assoc_id
}
}
impl Command for Dissociate {

View File

@ -1,18 +1,18 @@
use super::{Address, Command};
// +----------+--------+------------+---------+-----+----------+
// | ASSOC_ID | PKT_ID | FRAG_TOTAL | FRAG_ID | LEN | ADDR |
// +----------+--------+------------+---------+-----+----------+
// | 2 | 2 | 1 | 1 | 2 | Variable |
// +----------+--------+------------+---------+-----+----------+
// +----------+--------+------------+---------+------+----------+
// | ASSOC_ID | PKT_ID | FRAG_TOTAL | FRAG_ID | SIZE | ADDR |
// +----------+--------+------------+---------+------+----------+
// | 2 | 2 | 1 | 1 | 2 | Variable |
// +----------+--------+------------+---------+------+----------+
#[derive(Clone, Debug)]
pub struct Packet {
pub assoc_id: u16,
pub pkt_id: u16,
pub frag_total: u8,
pub frag_id: u8,
pub len: u16,
pub addr: Address,
assoc_id: u16,
pkt_id: u16,
frag_total: u8,
frag_id: u8,
size: u16,
addr: Address,
}
impl Packet {
@ -23,7 +23,7 @@ impl Packet {
pkt_id: u16,
frag_total: u8,
frag_id: u8,
len: u16,
size: u16,
addr: Address,
) -> Self {
Self {
@ -31,11 +31,35 @@ impl Packet {
pkt_id,
frag_total,
frag_id,
len,
size,
addr,
}
}
pub fn assoc_id(&self) -> u16 {
self.assoc_id
}
pub fn pkt_id(&self) -> u16 {
self.pkt_id
}
pub fn frag_total(&self) -> u8 {
self.frag_total
}
pub fn frag_id(&self) -> u8 {
self.frag_id
}
pub fn size(&self) -> u16 {
self.size
}
pub fn addr(&self) -> &Address {
&self.addr
}
pub const fn len_without_addr() -> usize {
2 + 2 + 1 + 1 + 2
}