mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 05:10:55 +00:00
chore(code): additional code cleanup
This commit is contained in:
@ -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 => {
|
||||||
|
Reference in New Issue
Block a user