Commit b2f4488
NRM: P/F burst fix, CR bit fix, disconnected state filter, 9 new tests
Library fixes:
- P/F bit now only set on last I-frame in NRM burst (enables full window
throughput). S/U frames always get P/F for marker passing.
- Add missing CR bit on idle-path SNRM (consistency with timeout path)
- Add disconnected state filter in __on_u_frame_read(): rejects non-SABM/
SNRM/UI U-frames when peer is disconnected, sends DM for commands
- Update ABM test to expect DM (not UA) for DISC when disconnected
New NRM tests (9 added, 82 total):
- PrimaryToSecondary_SingleIFrame: I-frame with P bit on single frame
- MultiplIFrames_PFOnLastOnly: P/F burst - first frame no P, last has P
- SecondaryToRrimary_IFrameReceive: data reception + RR acknowledgment
- MarkerTimeoutRecovery: primary reclaims marker after retry_timeout
- PrimaryDisconnect: DISC+P / UA+F exchange
- DMResponseWhenDisconnected: DM+F for command when disconnected
- RoundRobinPeerSwitching: alternating I-frames between 2 peers
- FRMRRecovery: FRMR triggers disconnect + SNRM re-establishment
- REJRecovery: REJ retransmission with proper round-robin cycle
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 1b297aa commit b2f4488
4 files changed
Lines changed: 320 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
531 | 531 | | |
532 | 532 | | |
533 | 533 | | |
534 | | - | |
| 534 | + | |
535 | 535 | | |
536 | 536 | | |
537 | 537 | | |
| |||
552 | 552 | | |
553 | 553 | | |
554 | 554 | | |
555 | | - | |
556 | | - | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
557 | 568 | | |
558 | 569 | | |
559 | 570 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
177 | 193 | | |
178 | 194 | | |
179 | 195 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
181 | 181 | | |
182 | 182 | | |
183 | 183 | | |
184 | | - | |
185 | | - | |
| 184 | + | |
186 | 185 | | |
187 | 186 | | |
188 | | - | |
| 187 | + | |
189 | 188 | | |
190 | 189 | | |
191 | 190 | | |
| |||
0 commit comments