aboutsummaryrefslogtreecommitdiff
path: root/src/common.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/common.rs')
-rw-r--r--src/common.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/common.rs b/src/common.rs
index bdae6d2..9d99cb9 100644
--- a/src/common.rs
+++ b/src/common.rs
@@ -52,3 +52,17 @@ pub struct Pkt<'a> {
pub chan: u8,
pub data: Cow<'a, [u8]>,
}
+
+impl<'a> Pkt<'a> {
+ pub fn size(&self) -> usize {
+ self.header_size() + self.body_size()
+ }
+
+ pub fn body_size(&self) -> usize {
+ self.data.len()
+ }
+
+ pub fn header_size(&self) -> usize {
+ 4 + 2 + 1 + if self.unrel { 0 } else { 1 + 2 } + 1
+ }
+}