commit 5c0fb0166a8315f471d7e577492679088ad55f2a
parent 54392742119035f6e7c17b896dc2c6f53eda6547
Author: Daniel Barlow <dan@telent.net>
Date: Thu, 25 Dec 2025 16:38:42 +0000
rdata_to_bytes now RData.to_bytes
Diffstat:
1 file changed, 19 insertions(+), 17 deletions(-)
diff --git a/ecu-esp32/src/wifi.rs b/ecu-esp32/src/wifi.rs
@@ -70,22 +70,24 @@ enum RData {
Srv { target: String, port: u16, priority: u16, weight: u16 }
}
-fn rdata_to_bytes(rdata : &RData, out: &mut [u8]) {
- match rdata {
- RData::Raw(b) => out[..b.len()].clone_from_slice(&b),
- RData::Srv { target, port, priority, weight } =>
- {
- let mut b : [u8; 80] = [0; 80];
- out[0] = (priority >> 8) as u8;
- out[1] = (priority & 0xff) as u8;
- out[2] = (weight >> 8) as u8;
- out[3] = (weight & 0xff) as u8;
- out[4] = (port >> 8) as u8;
- out[5] = (port & 0xff) as u8;
-
- let label = ecu_portable::ptr_data(&[&target[..]], &mut b);
- for (i, l) in label.iter().enumerate() {
- out[6+i] = *l;
+impl RData {
+ fn to_bytes(&self, out: &mut [u8]) {
+ match self {
+ RData::Raw(b) => out[..b.len()].clone_from_slice(&b),
+ RData::Srv { target, port, priority, weight } =>
+ {
+ let mut b : [u8; 80] = [0; 80];
+ out[0] = (priority >> 8) as u8;
+ out[1] = (priority & 0xff) as u8;
+ out[2] = (weight >> 8) as u8;
+ out[3] = (weight & 0xff) as u8;
+ out[4] = (port >> 8) as u8;
+ out[5] = (port & 0xff) as u8;
+
+ let label = ecu_portable::ptr_data(&[&target[..]], &mut b);
+ for (i, l) in label.iter().enumerate() {
+ out[6+i] = *l;
+ }
}
}
}
@@ -107,7 +109,7 @@ impl DnsResource {
data: RData
) -> Self {
let mut rdata_raw : [u8; 80] = [0; 80];
- rdata_to_bytes(&data, &mut rdata_raw);
+ data.to_bytes(&mut rdata_raw);
Self {
name: name.into(),
ty,