[uptime] add GetUptimeInSeconds() method for simplified uptime retrieval (#11382)

This commit introduces a new method, `Uptime::GetUptimeInSeconds
()`, which returns the device's uptime in seconds. This new method
simplifies existing code that performed manual conversion of the
uptime from milliseconds to seconds.
This commit is contained in:
Abtin Keshavarzian
2025-04-01 13:37:35 -07:00
committed by GitHub
parent ab6e241d90
commit 999e7d0ecb
5 changed files with 17 additions and 8 deletions
+4 -4
View File
@@ -1084,7 +1084,7 @@ RoutingManager::NetDataPeerBrTracker::NetDataPeerBrTracker(Instance &aInstance)
uint16_t RoutingManager::NetDataPeerBrTracker::CountPeerBrs(uint32_t &aMinAge) const
{
uint32_t uptime = Uptime::MsecToSec(Get<Uptime>().GetUptime());
uint32_t uptime = Get<Uptime>().GetUptimeInSeconds();
uint16_t count = 0;
aMinAge = NumericLimits<uint16_t>::kMax;
@@ -1147,7 +1147,7 @@ void RoutingManager::NetDataPeerBrTracker::HandleNotifierEvents(Events aEvents)
VerifyOrExit(newEntry != nullptr, LogWarn("Failed to allocate `PeerBr` entry"));
newEntry->mRloc16 = rloc16;
newEntry->mDiscoverTime = Uptime::MsecToSec(Get<Uptime>().GetUptime());
newEntry->mDiscoverTime = Get<Uptime>().GetUptimeInSeconds();
mPeerBrs.Push(*newEntry);
}
@@ -1211,7 +1211,7 @@ void RoutingManager::RxRaTracker::ProcessRouterAdvertMessage(const RouterAdvert:
router = newEntry;
router->Clear();
router->mDiscoverTime = Uptime::MsecToSec(Get<Uptime>().GetUptime());
router->mDiscoverTime = Get<Uptime>().GetUptimeInSeconds();
router->mAddress = aSrcAddress;
mRouters.Push(*newEntry);
@@ -2019,7 +2019,7 @@ exit:
void RoutingManager::RxRaTracker::InitIterator(PrefixTableIterator &aIterator) const
{
static_cast<Iterator &>(aIterator).Init(mRouters.GetHead(), Uptime::MsecToSec(Get<Uptime>().GetUptime()));
static_cast<Iterator &>(aIterator).Init(mRouters.GetHead(), Get<Uptime>().GetUptimeInSeconds());
}
Error RoutingManager::RxRaTracker::GetNextEntry(PrefixTableIterator &aIterator, PrefixTableEntry &aEntry) const
+2
View File
@@ -85,6 +85,8 @@ void Uptime::GetUptime(char *aBuffer, uint16_t aSize) const
UptimeToString(GetUptime(), writer, /* aIncludeMsec */ true);
}
uint32_t Uptime::GetUptimeInSeconds(void) const { return MsecToSec(GetUptime()); }
void Uptime::HandleTimer(void)
{
if (mTimer.GetFireTime() == mStartTime)
+7
View File
@@ -101,6 +101,13 @@ public:
*/
static void UptimeToString(uint64_t aUptime, StringWriter &aWriter, bool aIncludeMsec);
/**
* Returns the current device uptime in seconds.
*
* @returns The uptime in seconds.
*/
uint32_t GetUptimeInSeconds(void) const;
/**
* Converts a given uptime as number of milliseconds to number of seconds.
*
+2 -2
View File
@@ -256,7 +256,7 @@ void Mle::ResetCounters(void)
uint32_t Mle::GetCurrentAttachDuration(void) const
{
return IsAttached() ? Uptime::MsecToSec(Get<Uptime>().GetUptime()) - mLastAttachTime : 0;
return IsAttached() ? Get<Uptime>().GetUptimeInSeconds() - mLastAttachTime : 0;
}
void Mle::UpdateRoleTimeCounters(DeviceRole aRole)
@@ -298,7 +298,7 @@ void Mle::SetRole(DeviceRole aRole)
if ((oldRole == kRoleDetached) && IsAttached())
{
mLastAttachTime = Uptime::MsecToSec(Get<Uptime>().GetUptime());
mLastAttachTime = Get<Uptime>().GetUptimeInSeconds();
}
UpdateRoleTimeCounters(oldRole);
+2 -2
View File
@@ -44,7 +44,7 @@ void Neighbor::SetState(State aState)
if (mState == kStateValid)
{
mConnectionStart = Uptime::MsecToSec(Get<Uptime>().GetUptime());
mConnectionStart = Get<Uptime>().GetUptimeInSeconds();
}
exit:
@@ -53,7 +53,7 @@ exit:
uint32_t Neighbor::GetConnectionTime(void) const
{
return IsStateValid() ? Uptime::MsecToSec(Get<Uptime>().GetUptime()) - mConnectionStart : 0;
return IsStateValid() ? Get<Uptime>().GetUptimeInSeconds() - mConnectionStart : 0;
}
bool Neighbor::AddressMatcher::Matches(const Neighbor &aNeighbor) const