Commit 87e64f2
committed
ieee80211: tag datarateSelected with the receiving station
datarateSelected reports the rate chosen for every transmitted frame, so
unlike datarateChanged it also covers interface-wide fixed rates and
per-receiver configured rates, not just adaptive rate control. It was
emitted with the packet as details, which identifies the frame but not
the peer, so the values of several stations arrived interleaved with no
way to separate them.
~IRateSelection::emitDatarateSelected() now emits unicast data frames
with the receiver's station label as a named details object, so a
demux(datarateSelected) result filter can key a per-station series on
it. The condition matches the one under which ~RateSelection applies a
per-receiver configured rate, so the label always names the station
whose rate is being reported. Control, management and group-addressed
frames have no per-station rate and are emitted without details: they
still reach the aggregate statistic.
Both coordination functions emit through the shared helper rather than
each formatting the signal themselves. Unlike datarateChanged, this
signal fires for every transmitted frame, and resolving a station label
sweeps the network's interface tables -- so the label is only computed
when the signal has listeners: with result recording off, transmitting
costs nothing extra.1 parent 883e3d1 commit 87e64f2
4 files changed
Lines changed: 29 additions & 4 deletions
File tree
- src/inet/linklayer/ieee80211/mac
- contract
- coordinationfunction
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
15 | 17 | | |
16 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
17 | 32 | | |
18 | 33 | | |
19 | 34 | | |
| |||
32 | 47 | | |
33 | 48 | | |
34 | 49 | | |
| 50 | + | |
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
29 | 38 | | |
30 | 39 | | |
31 | 40 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
| 105 | + | |
106 | 106 | | |
107 | 107 | | |
108 | 108 | | |
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
169 | | - | |
| 169 | + | |
170 | 170 | | |
171 | 171 | | |
172 | 172 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
668 | 668 | | |
669 | 669 | | |
670 | 670 | | |
671 | | - | |
| 671 | + | |
672 | 672 | | |
673 | 673 | | |
674 | 674 | | |
| |||
703 | 703 | | |
704 | 704 | | |
705 | 705 | | |
706 | | - | |
| 706 | + | |
707 | 707 | | |
708 | 708 | | |
709 | 709 | | |
| |||
0 commit comments