embedded_nrf24l01_async/
payload.rs1use core::ops::Deref;
2
3pub struct Payload {
8 data: [u8; 32],
9 len: usize,
10}
11
12impl Payload {
13 pub fn new(source: &[u8]) -> Self {
15 let mut data = [0; 32];
16 let len = source.len().min(data.len());
17 data[0..len].copy_from_slice(&source[0..len]);
18 Payload { data, len }
19 }
20
21 pub fn len(&self) -> usize {
23 self.len
24 }
25}
26
27impl AsRef<[u8]> for Payload {
28 fn as_ref(&self) -> &[u8] {
29 &self.data[0..self.len]
30 }
31}
32
33impl Deref for Payload {
34 type Target = [u8];
35 fn deref(&self) -> &[u8] {
36 &self.as_ref()
37 }
38}