You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 20, 2023. It is now read-only.
Fix timeout computation for WRMP after long inactivity
Before this patch, the `WeaveExchangeManager::mWRMPTimeStampBase` was
not adjusted properly following a long period of inactivity.
`GetTickCounterFromTimeDelta` returns a uint32_t; when that number
exceeded UINT16_MAX, the cast truncated most significant bits. As a
result, the resetting of the `mWRMPTimeStampBase` assigned a value
that was too low, which in turn, led the computation of
`timerArmValue` inside `WeaveExchangeManager::WRMPStartTimer` around
line 1171 to produce a large negative value instead of a small
positive value. This change fixes the computation of the
mWRPMTimeStampBase to align with the most recent timestamp
corresponding to the expired WRMP tick.
0 commit comments