Lines Matching full:tid
22 void SensorManager::startPolling(pldm_tid_t tid) in startPolling() argument
24 if (!termini.contains(tid)) in startPolling()
29 /* tid already initializes roundRobinSensors list */ in startPolling()
30 if (sensorPollTimers.contains(tid)) in startPolling()
32 lg2::info("Terminus ID {TID}: sensor poll timer already exists.", "TID", in startPolling()
33 tid); in startPolling()
37 roundRobinSensorItMap[tid] = 0; in startPolling()
39 updateAvailableState(tid, true); in startPolling()
41 sensorPollTimers[tid] = std::make_unique<sdbusplus::Timer>( in startPolling()
43 std::bind_front(&SensorManager::doSensorPolling, this, tid)); in startPolling()
45 startSensorPollTimer(tid); in startPolling()
48 void SensorManager::startSensorPollTimer(pldm_tid_t tid) in startSensorPollTimer() argument
52 if (sensorPollTimers[tid] && !sensorPollTimers[tid]->isRunning()) in startSensorPollTimer()
54 sensorPollTimers[tid]->start( in startSensorPollTimer()
63 "Terminus ID {TID}: Failed to start sensor polling timer. Exception: {EXCEPTION}", in startSensorPollTimer()
64 "TID", tid, "EXCEPTION", e); in startSensorPollTimer()
69 void SensorManager::disableTerminusSensors(pldm_tid_t tid) in disableTerminusSensors() argument
71 if (!termini.contains(tid)) in disableTerminusSensors()
77 auto terminus = termini[tid]; in disableTerminusSensors()
90 void SensorManager::stopPolling(pldm_tid_t tid) in stopPolling() argument
93 if (sensorPollTimers.contains(tid)) in stopPolling()
95 sensorPollTimers[tid]->stop(); in stopPolling()
96 sensorPollTimers.erase(tid); in stopPolling()
99 roundRobinSensorItMap.erase(tid); in stopPolling()
101 if (doSensorPollingTaskHandles.contains(tid)) in stopPolling()
103 auto& [scope, rcOpt] = doSensorPollingTaskHandles[tid]; in stopPolling()
105 doSensorPollingTaskHandles.erase(tid); in stopPolling()
108 availableState.erase(tid); in stopPolling()
111 void SensorManager::doSensorPolling(pldm_tid_t tid) in doSensorPolling() argument
113 auto it = doSensorPollingTaskHandles.find(tid); in doSensorPolling()
121 doSensorPollingTaskHandles.erase(tid); in doSensorPolling()
126 .emplace(std::piecewise_construct, std::forward_as_tuple(tid), in doSensorPolling()
131 tid] -> exec::task<void> { in doSensorPolling()
133 co_await stdexec::stopped_as_optional(doSensorPollingTask(tid)); in doSensorPolling()
140 lg2::info("Stopped polling for Terminus ID {TID}", "TID", tid); in doSensorPolling()
143 if (sensorPollTimers.contains(tid) && in doSensorPolling()
144 sensorPollTimers[tid] && in doSensorPolling()
145 sensorPollTimers[tid]->isRunning()) in doSensorPolling()
147 sensorPollTimers[tid]->stop(); in doSensorPolling()
153 "Terminus ID {TID}: Failed to stop polling timer. Exception: {EXCEPTION}", in doSensorPolling()
154 "TID", tid, "EXCEPTION", e); in doSensorPolling()
162 exec::task<int> SensorManager::doSensorPollingTask(pldm_tid_t tid) in doSensorPollingTask() argument
172 if ((!sensorPollTimers.contains(tid)) || in doSensorPollingTask()
173 (sensorPollTimers[tid] && !sensorPollTimers[tid]->isRunning())) in doSensorPollingTask()
187 if (!getAvailableState(tid)) in doSensorPollingTask()
190 "Terminus ID {TID} is not available for PLDM request from {NOW}.", in doSensorPollingTask()
191 "TID", tid, "NOW", pldm::utils::getCurrentSystemTime()); in doSensorPollingTask()
195 if (!termini.contains(tid)) in doSensorPollingTask()
200 auto& terminus = termini[tid]; in doSensorPollingTask()
204 "Terminus ID {TID} does not have a valid Terminus object {NOW}.", in doSensorPollingTask()
205 "TID", tid, "NOW", pldm::utils::getCurrentSystemTime()); in doSensorPollingTask()
212 tid, terminus->pollEventId, terminus->pollDataTransferHandle); in doSensorPollingTask()
217 co_await manager->oemPollForPlatformEvent(tid); in doSensorPollingTask()
225 if (!roundRobinSensorItMap.contains(tid)) in doSensorPollingTask()
228 "Terminus ID {TID} does not have a round robin sensor iteration {NOW}.", in doSensorPollingTask()
229 "TID", tid, "NOW", pldm::utils::getCurrentSystemTime()); in doSensorPollingTask()
232 auto& sensorIt = roundRobinSensorItMap[tid]; in doSensorPollingTask()
236 if (!getAvailableState(tid)) in doSensorPollingTask()
239 "Terminus ID {TID} is not available for PLDM request from {NOW}.", in doSensorPollingTask()
240 "TID", tid, "NOW", pldm::utils::getCurrentSystemTime()); in doSensorPollingTask()
257 if ((!sensorPollTimers.contains(tid)) || in doSensorPollingTask()
258 (sensorPollTimers[tid] && in doSensorPollingTask()
259 !sensorPollTimers[tid]->isRunning())) in doSensorPollingTask()
271 "Failed to get sensor value for terminus {TID}, error: {RC}", in doSensorPollingTask()
272 "TID", tid, "RC", rc); in doSensorPollingTask()
297 auto tid = sensor->tid; in getSensorReading() local
305 … "Failed to encode request GetSensorReading for terminus ID {TID}, sensor Id {ID}, error {RC}.", in getSensorReading()
306 "TID", tid, "ID", sensorId, "RC", rc); in getSensorReading()
310 if (!getAvailableState(tid)) in getSensorReading()
313 "Terminus ID {TID} is not available for PLDM request from {NOW}.", in getSensorReading()
314 "TID", tid, "NOW", pldm::utils::getCurrentSystemTime()); in getSensorReading()
320 rc = co_await terminusManager.sendRecvPldmMsg(tid, request, &responseMsg, in getSensorReading()
325 … "Failed to send GetSensorReading message for terminus {TID}, sensor Id {ID}, error {RC}", in getSensorReading()
326 "TID", tid, "ID", sensorId, "RC", rc); in getSensorReading()
330 if ((!sensorPollTimers.contains(tid)) || in getSensorReading()
331 (sensorPollTimers[tid] && !sensorPollTimers[tid]->isRunning())) in getSensorReading()
352 … "Failed to decode response GetSensorReading for terminus ID {TID}, sensor Id {ID}, error {RC}.", in getSensorReading()
353 "TID", tid, "ID", sensorId, "RC", rc); in getSensorReading()
361 "Error : GetSensorReading for terminus ID {TID}, sensor Id {ID}, complete code {CC}.", in getSensorReading()
362 "TID", tid, "ID", sensorId, "CC", completionCode); in getSensorReading()