chore(code): additional code cleanup

This commit is contained in:
Alex Zenla
2024-07-20 23:22:59 -07:00
parent 2a4802a75d
commit 8616ed7d9b

View File

@ -133,11 +133,12 @@ impl DaemonIdm {
}) })
} }
async fn process(&mut self, buffers: &mut HashMap<u32, BytesMut>) -> Result<()> { async fn process_rx_packet(
loop { &mut self,
select! { domid: u32,
x = self.rx_receiver.recv() => match x { data: Option<Vec<u8>>,
Some((domid, data)) => { buffers: &mut HashMap<u32, BytesMut>,
) -> Result<()> {
if let Some(data) = data { if let Some(data) = data {
let buffer = buffers.entry(domid).or_insert_with_key(|_| BytesMut::new()); let buffer = buffers.entry(domid).or_insert_with_key(|_| BytesMut::new());
buffer.extend_from_slice(&data); buffer.extend_from_slice(&data);
@ -179,14 +180,10 @@ impl DaemonIdm {
clients.remove(&domid); clients.remove(&domid);
feeds.remove(&domid); feeds.remove(&domid);
} }
}, Ok(())
None => {
break;
} }
},
x = self.tx_receiver.recv() => match x { async fn tx_packet(&mut self, domid: u32, packet: IdmTransportPacket) -> Result<()> {
Some((domid, packet)) => {
let data = packet.encode_to_vec(); let data = packet.encode_to_vec();
let mut buffer = vec![0u8; 6]; let mut buffer = vec![0u8; 6];
let length = data.len() as u32; let length = data.len() as u32;
@ -198,7 +195,29 @@ impl DaemonIdm {
buffer[5] = (length << 24) as u8; buffer[5] = (length << 24) as u8;
buffer.extend_from_slice(&data); buffer.extend_from_slice(&data);
self.tx_raw_sender.send((domid, buffer)).await?; self.tx_raw_sender.send((domid, buffer)).await?;
let _ = self.snoop_sender.send(DaemonIdmSnoopPacket { from: 0, to: domid, packet }); let _ = self.snoop_sender.send(DaemonIdmSnoopPacket {
from: 0,
to: domid,
packet,
});
Ok(())
}
async fn process(&mut self, buffers: &mut HashMap<u32, BytesMut>) -> Result<()> {
loop {
select! {
x = self.rx_receiver.recv() => match x {
Some((domid, data)) => {
self.process_rx_packet(domid, data, buffers).await?;
},
None => {
break;
}
},
x = self.tx_receiver.recv() => match x {
Some((domid, packet)) => {
self.tx_packet(domid, packet).await?;
}, },
None => { None => {