Menu

#394 Statistics of missed PD packets when publisher restarts

3.0.0.0
closed
2350 (1)
2024-02-05
2022-04-28
No

numMissed counter of statistics is "unusable" if publisher restarts.

Use case:

  • missed frames = 0, everything is OK
  • publisher sends sequence counter=1
  • subscriber receives sequence counter=1
  • publisher restarts
  • publisher sends sequence counter=0
  • subscriber expects sequence counter=2, but gets 0
  • (TCNOpen 2.1.0.0) trdp_pdcom.c:902 numMissed += UINT32_MAX - curSeqCnt + newSeqCnt;
  • this means numMissed is increased with 4294967294

Proposal:

  • if received frame has sequence counter < current sequence counter, current sequence counter could be set to 0 before comparing values
  • this is not bullet-proof and does not handle all corner cases exactly right way (which in practice might be challenging), but provides better value for application

Any comments ?

Best regards, Kari

Discussion

  • Kari Keinanen

    Kari Keinanen - 2022-04-29

    Could we just remove following code lines (900-903) from trdp_pdcom.c ?

    900 else if (pExistingElement->curSeqCnt > newSeqCnt)
    901 {
    902 pExistingElement->numMissed += UINT32_MAX - pExistingElement->curSeqCnt + newSeqCnt;
    903 }

    And expect that receiving sequence counter value less than previous one means that publisher has restarted.

     
  • Armin-Hagen Weiss

    • status: open --> accepted
    • assigned_to: Bernd Löhr --> Chris Wetzler
     
  • Chris Wetzler

    Chris Wetzler - 2023-01-09
    • labels: --> 2350
    • status: accepted --> closed
     
  • Chris Wetzler

    Chris Wetzler - 2023-01-09

    At revision: 2350

     
  • Armin-Hagen Weiss

    • Milestone: 3.0.0.0 --> 2.0.3.0
     
  • Armin-Hagen Weiss

    • Milestone: 2.0.3.0 --> 3.0.0.0
     

Log in to post a comment.

MongoDB Logo MongoDB