network: performance tuning using tear off buffers

This commit is contained in:
Alex Zenla
2024-03-29 03:09:41 +00:00
parent 7d7da1f9ee
commit d659b3aa55
4 changed files with 71 additions and 64 deletions

View File

@ -44,10 +44,11 @@ struct NetworkStack<'a> {
impl NetworkStack<'_> {
async fn poll(&mut self) -> Result<bool> {
let what = select! {
biased;
x = self.kdev.receiver.recv() => NetworkStackSelect::Receive(x),
x = self.tx.recv() => NetworkStackSelect::Send(x),
x = self.bridge.from_bridge_receiver.recv() => NetworkStackSelect::Send(x),
x = self.bridge.from_broadcast_receiver.recv() => NetworkStackSelect::Send(x.ok()),
x = self.tx.recv() => NetworkStackSelect::Send(x),
};
match what {