Skip to content

Commit 39cd44e

Browse files
authored
Merge pull request #1059 from thomaseizinger/feat/exhaust-egress
fix: exhaust egress socket state on `poll`
2 parents 17012eb + 671827b commit 39cd44e

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/iface/interface/mod.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -465,9 +465,11 @@ impl Interface {
465465
}
466466

467467
// Process egress.
468-
match self.poll_egress(timestamp, device, sockets) {
469-
PollResult::None => {}
470-
PollResult::SocketStateChanged => res = PollResult::SocketStateChanged,
468+
loop {
469+
match self.poll_egress(timestamp, device, sockets) {
470+
PollResult::None => break,
471+
PollResult::SocketStateChanged => res = PollResult::SocketStateChanged,
472+
}
471473
}
472474

473475
res

tests/snapshots/netsim__netsim.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ buf\loss 0.000 0.001 0.010 0.020 0.050 0.100 0.200
1111
2048 17535.11 17171.82 14093.50 12063.90 7205.27 3379.12 824.76 131.54
1212
4096 35062.41 33852.31 27011.08 22073.09 13680.70 7631.11 1617.81 302.65
1313
8192 77374.28 72409.99 58428.68 48310.75 29123.30 14314.36 2880.39 551.60
14-
16384 161842.28 159448.56 141467.31 127073.06 78239.08 38637.20 7565.64 1112.31
15-
32768 322944.88 314313.90 266384.37 245985.29 138762.29 83162.99 10739.10 1951.95
14+
16384 161842.28 159448.56 141467.31 127073.06 78239.08 39828.70 6729.92 1225.58
15+
32768 322944.88 314313.90 266384.37 245985.29 138762.29 74125.53 8032.12 2112.09

0 commit comments

Comments
 (0)