This commit is contained in:
QL 2020-03-23 19:58:24 -04:00
parent eb24368ad2
commit 9987b63cd7
9 changed files with 239 additions and 253 deletions

View File

@ -1,212 +1,212 @@
/** @page metrics Code Metrics
@code{cpp}
Code Metrics for QP/C++
================================================
NLOC CCN token PARAM length location
------------------------------------------------
3 1 14 1 4 QP::QEvt::QEvt@159-162@..\include\qep.hpp
3 1 11 1 3 QP::QEQueue::getNFree@223-225@..\include\qequeue.hpp
3 1 11 1 3 QP::QEQueue::getNMin@238-240@..\include\qequeue.hpp
3 1 13 1 3 QP::QEQueue::isEmpty@252-254@..\include\qequeue.hpp
6 1 51 5 6 QP::QActive::start@200-205@..\include\qf.hpp
3 1 19 1 3 QP::QActive::getPrio@246-248@..\include\qf.hpp
3 1 22 1 3 QP::QActive::setPrio@251-253@..\include\qf.hpp
1 1 10 1 1 QP::QActive::getOsObject@261-261@..\include\qf.hpp
1 1 10 1 1 QP::QActive::getThread@267-267@..\include\qf.hpp
3 1 13 1 3 QP::QMActive::stateObj@336-338@..\include\qf.hpp
3 1 17 1 3 QP::QTimeEvt::toActive@452-454@..\include\qf.hpp
3 1 17 1 3 QP::QTimeEvt::toTimeEvt@457-459@..\include\qf.hpp
3 1 10 1 3 QP::QF::getVersion@488-490@..\include\qf.hpp
1 1 14 1 1 QP::QTicker::init@632-632@..\include\qf.hpp
3 1 10 1 3 QP::QK::getVersion@160-162@..\include\qk.hpp
3 1 11 1 3 QP::QMPool::getBlockSize@149-151@..\include\qmpool.hpp
3 1 11 1 3 QP::QPSet::setEmpty@81-83@..\include\qpset.hpp
3 1 15 1 3 QP::QPSet::isEmpty@86-88@..\include\qpset.hpp
3 1 15 1 3 QP::QPSet::notEmpty@91-93@..\include\qpset.hpp
3 1 30 1 3 QP::QPSet::hasElement@96-98@..\include\qpset.hpp
3 1 24 1 3 QP::QPSet::insert@101-103@..\include\qpset.hpp
4 1 36 1 4 QP::QPSet::rmove@109-112@..\include\qpset.hpp
3 1 14 1 3 QP::QPSet::findMax@114-116@..\include\qpset.hpp
4 1 21 1 4 QP::QPSet::setEmpty@135-138@..\include\qpset.hpp
3 2 29 1 3 QP::QPSet::isEmpty@142-144@..\include\qpset.hpp
3 2 29 1 3 QP::QPSet::notEmpty@148-150@..\include\qpset.hpp
7 2 79 1 7 QP::QPSet::hasElement@153-159@..\include\qpset.hpp
8 2 70 1 8 QP::QPSet::insert@162-169@..\include\qpset.hpp
8 2 74 1 8 QP::QPSet::rmove@175-182@..\include\qpset.hpp
5 2 40 1 5 QP::QPSet::findMax@185-189@..\include\qpset.hpp
7 1 28 1 7 QP::QS::force_cast@499-505@..\include\qs.hpp
14 4 87 1 14 QP::QS::rxPut@563-576@..\include\qs.hpp
6 1 51 5 6 QP::QActiveDummy::start@597-602@..\include\qs.hpp
1 1 14 1 1 QP::QActiveDummy::init@605-605@..\include\qs.hpp
1 1 14 1 1 QP::QXThread::init@86-86@..\include\qxthread.hpp
6 1 51 5 6 QP::QXThread::start@99-104@..\include\qxthread.hpp
4 1 27 1 4 QP::QHsm::QHsm@119-122@..\src\qf\qep_hsm.cpp
2 1 8 0 2 QP::QHsm::~QHsm@128-129@..\src\qf\qep_hsm.cpp
48 7 342 1 68 QP::QHsm::init@140-207@..\src\qf\qep_hsm.cpp
5 1 31 2 5 QP::QHsm::top@224-228@..\src\qf\qep_hsm.cpp
109 15 671 1 153 QP::QHsm::dispatch@241-393@..\src\qf\qep_hsm.cpp
95 15 452 1 128 QP::QHsm::hsm_tran@406-533@..\src\qf\qep_hsm.cpp
16 3 85 1 23 QP::QHsm::isIn@548-570@..\src\qf\qep_hsm.cpp
20 4 105 1 28 QP::QHsm::childState@591-618@..\src\qf\qep_hsm.cpp
6 1 29 1 6 QP::QMsm::QMsm@83-88@..\src\qf\qep_msm.cpp
23 3 174 1 36 QP::QMsm::init@100-135@..\src\qf\qep_msm.cpp
117 21 675 1 169 QP::QMsm::dispatch@147-315@..\src\qf\qep_msm.cpp
53 9 342 1 65 QP::QMsm::execTatbl_@330-394@..\src\qf\qep_msm.cpp
20 4 110 2 26 QP::QMsm::exitToTranSource_@405-430@..\src\qf\qep_msm.cpp
42 6 252 1 50 QP::QMsm::enterHistory_@443-492@..\src\qf\qep_msm.cpp
13 3 59 1 14 QP::QMsm::isInState@507-520@..\src\qf\qep_msm.cpp
21 4 87 1 27 QP::QMsm::childStateObj@537-563@..\src\qf\qep_msm.cpp
9 3 69 1 10 QP::QF::add_@79-88@..\src\qf\qf_act.cpp
10 3 80 1 12 QP::QF::remove_@103-114@..\src\qf\qf_act.cpp
7 2 63 2 7 QP::QF::bzero@129-135@..\src\qf\qf_act.cpp
24 6 155 1 29 QF_LOG2@151-179@..\src\qf\qf_act.cpp
86 15 467 3 124 QP::QActive::post_@92-215@..\src\qf\qf_actq.cpp
45 8 268 1 67 QP::QActive::postLIFO@231-297@..\src\qf\qf_actq.cpp
36 3 223 1 48 QP::QActive::get_@318-365@..\src\qf\qf_actq.cpp
10 2 68 1 13 QP::QF::getQueueMin@385-397@..\src\qf\qf_actq.cpp
5 1 30 1 6 QP::QTicker::QTicker@400-405@..\src\qf\qf_actq.cpp
4 1 24 1 4 QP::QTicker::init@407-410@..\src\qf\qf_actq.cpp
11 2 71 1 13 QP::QTicker::dispatch@412-424@..\src\qf\qf_actq.cpp
28 3 157 3 40 QP::QTicker::post_@430-469@..\src\qf\qf_actq.cpp
4 1 23 1 4 QP::QTicker::postLIFO@472-475@..\src\qf\qf_actq.cpp
12 1 85 2 14 QP::QActive::defer@77-90@..\src\qf\qf_defer.cpp
34 3 178 1 51 QP::QActive::recall@113-163@..\src\qf\qf_defer.cpp
8 2 60 1 8 QP::QActive::flushDeferred@180-187@..\src\qf\qf_defer.cpp
21 4 159 3 29 QP::QF::poolInit@84-112@..\src\qf\qf_dyn.cpp
28 5 177 3 37 QP::QF::newX_@140-176@..\src\qf\qf_dyn.cpp
28 4 171 1 46 QP::QF::gc@201-246@..\src\qf\qf_dyn.cpp
16 2 88 2 23 QP::QF::newRef_@262-284@..\src\qf\qf_dyn.cpp
9 1 52 1 11 QP::QF::deleteRef_@296-306@..\src\qf\qf_dyn.cpp
3 1 20 1 3 QP::QF::poolGetMaxBlockSize@312-314@..\src\qf\qf_dyn.cpp
9 1 40 1 9 QP::QMPool::QMPool@63-71@..\src\qf\qf_mem.cpp
31 5 228 3 53 QP::QMPool::init@103-155@..\src\qf\qf_mem.cpp
17 2 102 1 24 QP::QMPool::put@173-196@..\src\qf\qf_mem.cpp
41 4 214 1 63 QP::QMPool::get@222-284@..\src\qf\qf_mem.cpp
11 3 74 1 14 QP::QF::getPoolMin@299-312@..\src\qf\qf_mem.cpp
7 1 39 2 11 QP::QF::psInit@89-99@..\src\qf\qf_ps.cpp
90 17 623 1 201 QP::QF::publish_@119-319@..\src\qf\qf_ps.cpp
8 3 59 1 14 QP::QActive::QActive@44-57@..\src\qf\qf_qact.cpp
9 1 41 1 9 QP::QEQueue::QEQueue@58-66@..\src\qf\qf_qeq.cpp
13 2 74 2 13 QP::QEQueue::init@84-96@..\src\qf\qf_qeq.cpp
56 8 285 2 75 QP::QEQueue::post@120-194@..\src\qf\qf_qeq.cpp
33 5 171 1 44 QP::QEQueue::postLIFO@217-260@..\src\qf\qf_qeq.cpp
39 4 201 1 48 QP::QEQueue::get@278-325@..\src\qf\qf_qeq.cpp
5 1 22 1 5 QP::QMActive::QMActive@61-65@..\src\qf\qf_qmact.cpp
4 1 33 1 4 QP::QMActive::init@68-71@..\src\qf\qf_qmact.cpp
3 1 19 1 3 QP::QMActive::init@73-75@..\src\qf\qf_qmact.cpp
3 1 24 1 3 QP::QMActive::dispatch@77-79@..\src\qf\qf_qmact.cpp
3 1 27 1 3 QP::QMActive::isInState@81-83@..\src\qf\qf_qmact.cpp
5 1 27 1 5 QP::QMActive::childStateObj@85-89@..\src\qf\qf_qmact.cpp
69 7 375 2 100 QP::QF::tickX_@79-178@..\src\qf\qf_time.cpp
13 3 61 1 13 QP::QF::noTimeEvtsActiveX@205-217@..\src\qf\qf_time.cpp
16 2 100 3 32 QP::QTimeEvt::QTimeEvt@230-261@..\src\qf\qf_time.cpp
13 1 49 0 27 QP::QTimeEvt::QTimeEvt@267-293@..\src\qf\qf_time.cpp
33 7 205 2 57 QP::QTimeEvt::armX@321-377@..\src\qf\qf_time.cpp
31 2 143 1 37 QP::QTimeEvt::disarm@395-431@..\src\qf\qf_time.cpp
33 7 199 1 58 QP::QTimeEvt::rearm@453-510@..\src\qf\qf_time.cpp
5 1 28 1 5 QP::QTimeEvt::wasDisarmed@532-536@..\src\qf\qf_time.cpp
7 1 28 1 9 QP::QTimeEvt::currCtr@551-559@..\src\qf\qf_time.cpp
11 2 79 1 16 QP::QF::init@78-93@..\src\qk\qk.cpp
3 1 14 1 4 QP::QF::stop@106-109@..\src\qk\qk.cpp
6 2 26 1 8 QP::initial_events@114-121@..\src\qk\qk.cpp
10 3 40 1 14 QP::QF::run@132-145@..\src\qk\qk.cpp
21 5 139 6 30 QP::QActive::start@164-193@..\src\qk\qk.cpp
21 2 138 1 32 QP::QK::schedLock@218-249@..\src\qk\qk.cpp
22 4 149 1 33 QP::QK::schedUnlock@268-300@..\src\qk\qk.cpp
14 3 94 1 17 QK_sched_@320-336@..\src\qk\qk.cpp
61 15 421 1 105 QK_activate_@347-451@..\src\qk\qk.cpp
9 2 67 1 13 QP::QF::init@79-91@..\src\qv\qv.cpp
3 1 12 1 4 QP::QF::stop@104-107@..\src\qv\qv.cpp
37 9 198 1 71 QP::QF::run@125-195@..\src\qv\qv.cpp
15 3 109 6 22 QP::QActive::start@215-236@..\src\qv\qv.cpp
2 1 10 0 2 QP::QXKIdleThread::QXKIdleThread@68-69@..\src\qxk\qxk.cpp
14 2 103 1 22 QP::QF::init@85-106@..\src\qxk\qxk.cpp
3 1 12 1 4 QP::QF::stop@119-122@..\src\qxk\qxk.cpp
6 2 26 1 8 QP::initial_events@127-134@..\src\qxk\qxk.cpp
10 3 40 1 15 QP::QF::run@143-157@..\src\qxk\qxk.cpp
24 6 161 6 34 QP::QActive::start@174-207@..\src\qxk\qxk.cpp
24 3 150 1 34 QP::QXK::schedLock@230-263@..\src\qxk\qxk.cpp
22 4 149 1 34 QP::QXK::schedUnlock@282-315@..\src\qxk\qxk.cpp
51 7 296 1 70 QXK_sched_@335-404@..\src\qxk\qxk.cpp
79 16 547 1 135 QXK_activate_@415-549@..\src\qxk\qxk.cpp
13 2 72 1 20 QXK_current@552-571@..\src\qxk\qxk.cpp
16 4 105 1 24 QP::QXMutex::init@84-107@..\src\qxk\qxk_mutex.cpp
66 12 456 1 108 QP::QXMutex::lock@129-236@..\src\qxk\qxk_mutex.cpp
47 10 301 1 71 QP::QXMutex::tryLock@256-326@..\src\qxk\qxk_mutex.cpp
68 16 460 1 115 QP::QXMutex::unlock@345-459@..\src\qxk\qxk_mutex.cpp
8 1 55 2 10 QP::QXSemaphore::init@77-86@..\src\qxk\qxk_sema.cpp
43 7 274 1 68 QP::QXSemaphore::wait@109-176@..\src\qxk\qxk_sema.cpp
15 2 55 1 20 QP::QXSemaphore::tryWait@191-210@..\src\qxk\qxk_sema.cpp
27 6 169 1 46 QP::QXSemaphore::signal@230-275@..\src\qxk\qxk_sema.cpp
8 1 54 2 8 QP::QXThread::QXThread@90-97@..\src\qxk\qxk_xthr.cpp
4 1 23 1 4 QP::QXThread::init@101-104@..\src\qxk\qxk_xthr.cpp
4 1 23 1 4 QP::QXThread::dispatch@107-110@..\src\qxk\qxk_xthr.cpp
25 6 185 6 44 QP::QXThread::start@133-176@..\src\qxk\qxk_xthr.cpp
97 13 486 3 130 QP::QXThread::post_@212-341@..\src\qxk\qxk_xthr.cpp
4 1 23 1 4 QP::QXThread::postLIFO@352-355@..\src\qxk\qxk_xthr.cpp
60 7 436 1 87 QP::QXThread::queueGet@377-463@..\src\qxk\qxk_xthr.cpp
5 1 47 1 6 QP::QXThread::block_@472-477@..\src\qxk\qxk_xthr.cpp
8 3 56 1 9 QP::QXThread::unblock_@486-494@..\src\qxk\qxk_xthr.cpp
18 3 135 2 33 QP::QXThread::teArm_@504-536@..\src\qxk\qxk_xthr.cpp
11 2 42 1 14 QP::QXThread::teDisarm_@545-558@..\src\qxk\qxk_xthr.cpp
20 3 169 1 34 QP::QXThread::delay@562-595@..\src\qxk\qxk_xthr.cpp
14 2 58 1 16 QP::QXThread::delayCancel@599-614@..\src\qxk\qxk_xthr.cpp
14 2 108 1 23 QXK_threadRet_@631-653@..\src\qxk\qxk_xthr.cpp
3 1 16 1 3 QP::QF_EVT_POOL_ID_@140-142@..\src\qf_pkg.hpp
3 1 16 1 3 QP::QF_EVT_REF_CTR_@145-147@..\src\qf_pkg.hpp
3 1 21 1 3 QP::QF_EVT_REF_CTR_INC_@150-152@..\src\qf_pkg.hpp
3 1 21 1 3 QP::QF_EVT_REF_CTR_DEC_@155-157@..\src\qf_pkg.hpp
36 file analyzed.
==============================================================
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
5 0.0 0.0 0.0 0 ..\include\qassert.h
214 3.0 1.0 14.0 1 ..\include\qep.hpp
38 3.0 1.0 11.7 3 ..\include\qequeue.hpp
188 2.7 1.0 18.3 10 ..\include\qf.hpp
32 3.0 1.0 10.0 1 ..\include\qk.hpp
34 3.0 1.0 11.0 1 ..\include\qmpool.hpp
1 0.0 0.0 0.0 0 ..\include\qpcpp.h
4 0.0 0.0 0.0 0 ..\include\qpcpp.hpp
72 4.3 1.4 34.8 14 ..\include\qpset.hpp
319 7.0 1.8 45.0 4 ..\include\qs.hpp
6 0.0 0.0 0.0 0 ..\include\qstamp.cpp
0 0.0 0.0 0.0 0 ..\include\qs_dummy.hpp
12 0.0 0.0 0.0 0 ..\include\qv.hpp
32 0.0 0.0 0.0 0 ..\include\qxk.hpp
62 3.5 1.0 32.5 2 ..\include\qxthread.hpp
320 37.4 5.9 215.1 8 ..\src\qf\qep_hsm.cpp
310 36.9 6.4 216.0 8 ..\src\qf\qep_msm.cpp
62 12.5 3.5 91.8 4 ..\src\qf\qf_act.cpp
242 25.4 4.0 147.9 9 ..\src\qf\qf_actq.cpp
63 18.0 2.0 107.7 3 ..\src\qf\qf_defer.cpp
116 17.5 2.8 111.2 6 ..\src\qf\qf_dyn.cpp
118 21.8 3.0 131.6 5 ..\src\qf\qf_mem.cpp
107 48.5 9.0 331.0 2 ..\src\qf\qf_ps.cpp
11 8.0 3.0 59.0 1 ..\src\qf\qf_qact.cpp
159 30.0 4.0 154.4 5 ..\src\qf\qf_qeq.cpp
27 3.8 1.0 25.3 6 ..\src\qf\qf_qmact.cpp
231 24.4 3.4 132.0 9 ..\src\qf\qf_time.cpp
184 18.8 4.1 122.2 9 ..\src\qk\qk.cpp
76 16.0 3.8 96.5 4 ..\src\qv\qv.cpp
267 22.5 4.3 142.4 11 ..\src\qxk\qxk.cpp
206 49.2 10.5 330.5 4 ..\src\qxk\qxk_mutex.cpp
102 23.2 4.0 138.2 4 ..\src\qxk\qxk_sema.cpp
305 20.9 3.3 131.8 14 ..\src\qxk\qxk_xthr.cpp
24 3.0 1.0 18.5 4 ..\src\qf_pkg.hpp
9 0.0 0.0 0.0 0 ..\src\qs_pkg.hpp
13 0.0 0.0 0.0 0 ..\src\qxk_pkg.hpp
=========================================================================================================
!!!! Warnings (cyclomatic_complexity > 20 or nloc > 1000000 or length > 500 or parameter_count > 10) !!!!
================================================
NLOC CCN token PARAM length location
------------------------------------------------
117 21 675 1 169 QP::QMsm::dispatch@147-315@..\src\qf\qep_msm.cpp
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
3971 18.8 3.4 114.9 152 1 0.01 0.04
@endcode
*/
/** @page metrics Code Metrics
@code{cpp}
Code Metrics for QP/C++
================================================
NLOC CCN token PARAM length location
------------------------------------------------
3 1 14 1 4 QP::QEvt::QEvt@159-162@..\include\qep.hpp
3 1 11 1 3 QP::QEQueue::getNFree@223-225@..\include\qequeue.hpp
3 1 11 1 3 QP::QEQueue::getNMin@238-240@..\include\qequeue.hpp
3 1 13 1 3 QP::QEQueue::isEmpty@252-254@..\include\qequeue.hpp
6 1 51 5 6 QP::QActive::start@200-205@..\include\qf.hpp
3 1 19 1 3 QP::QActive::getPrio@246-248@..\include\qf.hpp
3 1 22 1 3 QP::QActive::setPrio@251-253@..\include\qf.hpp
1 1 10 1 1 QP::QActive::getOsObject@261-261@..\include\qf.hpp
1 1 10 1 1 QP::QActive::getThread@267-267@..\include\qf.hpp
3 1 13 1 3 QP::QMActive::stateObj@336-338@..\include\qf.hpp
3 1 17 1 3 QP::QTimeEvt::toActive@452-454@..\include\qf.hpp
3 1 17 1 3 QP::QTimeEvt::toTimeEvt@457-459@..\include\qf.hpp
3 1 10 1 3 QP::QF::getVersion@488-490@..\include\qf.hpp
1 1 14 1 1 QP::QTicker::init@632-632@..\include\qf.hpp
3 1 10 1 3 QP::QK::getVersion@160-162@..\include\qk.hpp
3 1 11 1 3 QP::QMPool::getBlockSize@149-151@..\include\qmpool.hpp
3 1 11 1 3 QP::QPSet::setEmpty@81-83@..\include\qpset.hpp
3 1 15 1 3 QP::QPSet::isEmpty@86-88@..\include\qpset.hpp
3 1 15 1 3 QP::QPSet::notEmpty@91-93@..\include\qpset.hpp
3 1 30 1 3 QP::QPSet::hasElement@96-98@..\include\qpset.hpp
3 1 24 1 3 QP::QPSet::insert@101-103@..\include\qpset.hpp
4 1 36 1 4 QP::QPSet::rmove@109-112@..\include\qpset.hpp
3 1 14 1 3 QP::QPSet::findMax@114-116@..\include\qpset.hpp
4 1 21 1 4 QP::QPSet::setEmpty@135-138@..\include\qpset.hpp
3 2 29 1 3 QP::QPSet::isEmpty@142-144@..\include\qpset.hpp
3 2 29 1 3 QP::QPSet::notEmpty@148-150@..\include\qpset.hpp
7 2 79 1 7 QP::QPSet::hasElement@153-159@..\include\qpset.hpp
8 2 70 1 8 QP::QPSet::insert@162-169@..\include\qpset.hpp
8 2 74 1 8 QP::QPSet::rmove@175-182@..\include\qpset.hpp
5 2 40 1 5 QP::QPSet::findMax@185-189@..\include\qpset.hpp
7 1 28 1 7 QP::QS::force_cast@499-505@..\include\qs.hpp
14 4 87 1 14 QP::QS::rxPut@563-576@..\include\qs.hpp
6 1 51 5 6 QP::QActiveDummy::start@597-602@..\include\qs.hpp
1 1 14 1 1 QP::QActiveDummy::init@605-605@..\include\qs.hpp
1 1 14 1 1 QP::QXThread::init@86-86@..\include\qxthread.hpp
6 1 51 5 6 QP::QXThread::start@99-104@..\include\qxthread.hpp
4 1 27 1 4 QP::QHsm::QHsm@119-122@..\src\qf\qep_hsm.cpp
2 1 8 0 2 QP::QHsm::~QHsm@128-129@..\src\qf\qep_hsm.cpp
48 7 342 1 68 QP::QHsm::init@140-207@..\src\qf\qep_hsm.cpp
5 1 31 2 5 QP::QHsm::top@224-228@..\src\qf\qep_hsm.cpp
109 15 671 1 153 QP::QHsm::dispatch@241-393@..\src\qf\qep_hsm.cpp
95 15 452 1 128 QP::QHsm::hsm_tran@406-533@..\src\qf\qep_hsm.cpp
16 3 85 1 23 QP::QHsm::isIn@548-570@..\src\qf\qep_hsm.cpp
20 4 105 1 28 QP::QHsm::childState@591-618@..\src\qf\qep_hsm.cpp
6 1 29 1 6 QP::QMsm::QMsm@83-88@..\src\qf\qep_msm.cpp
23 3 174 1 36 QP::QMsm::init@100-135@..\src\qf\qep_msm.cpp
117 21 675 1 169 QP::QMsm::dispatch@147-315@..\src\qf\qep_msm.cpp
53 9 342 1 65 QP::QMsm::execTatbl_@330-394@..\src\qf\qep_msm.cpp
20 4 110 2 26 QP::QMsm::exitToTranSource_@405-430@..\src\qf\qep_msm.cpp
42 6 252 1 50 QP::QMsm::enterHistory_@443-492@..\src\qf\qep_msm.cpp
13 3 59 1 14 QP::QMsm::isInState@507-520@..\src\qf\qep_msm.cpp
21 4 87 1 27 QP::QMsm::childStateObj@537-563@..\src\qf\qep_msm.cpp
9 3 69 1 10 QP::QF::add_@79-88@..\src\qf\qf_act.cpp
10 3 80 1 12 QP::QF::remove_@103-114@..\src\qf\qf_act.cpp
7 2 63 2 7 QP::QF::bzero@129-135@..\src\qf\qf_act.cpp
24 6 155 1 29 QF_LOG2@151-179@..\src\qf\qf_act.cpp
86 15 467 3 124 QP::QActive::post_@92-215@..\src\qf\qf_actq.cpp
45 8 268 1 67 QP::QActive::postLIFO@231-297@..\src\qf\qf_actq.cpp
36 3 223 1 48 QP::QActive::get_@318-365@..\src\qf\qf_actq.cpp
10 2 68 1 13 QP::QF::getQueueMin@385-397@..\src\qf\qf_actq.cpp
5 1 30 1 6 QP::QTicker::QTicker@400-405@..\src\qf\qf_actq.cpp
4 1 24 1 4 QP::QTicker::init@407-410@..\src\qf\qf_actq.cpp
11 2 71 1 13 QP::QTicker::dispatch@412-424@..\src\qf\qf_actq.cpp
28 3 157 3 40 QP::QTicker::post_@430-469@..\src\qf\qf_actq.cpp
4 1 23 1 4 QP::QTicker::postLIFO@472-475@..\src\qf\qf_actq.cpp
12 1 85 2 14 QP::QActive::defer@77-90@..\src\qf\qf_defer.cpp
34 3 178 1 51 QP::QActive::recall@113-163@..\src\qf\qf_defer.cpp
8 2 60 1 8 QP::QActive::flushDeferred@180-187@..\src\qf\qf_defer.cpp
21 4 159 3 29 QP::QF::poolInit@84-112@..\src\qf\qf_dyn.cpp
28 5 177 3 37 QP::QF::newX_@140-176@..\src\qf\qf_dyn.cpp
28 4 171 1 46 QP::QF::gc@201-246@..\src\qf\qf_dyn.cpp
16 2 88 2 23 QP::QF::newRef_@262-284@..\src\qf\qf_dyn.cpp
9 1 52 1 11 QP::QF::deleteRef_@296-306@..\src\qf\qf_dyn.cpp
3 1 20 1 3 QP::QF::poolGetMaxBlockSize@312-314@..\src\qf\qf_dyn.cpp
9 1 40 1 9 QP::QMPool::QMPool@63-71@..\src\qf\qf_mem.cpp
31 5 228 3 53 QP::QMPool::init@103-155@..\src\qf\qf_mem.cpp
17 2 102 1 24 QP::QMPool::put@173-196@..\src\qf\qf_mem.cpp
41 4 214 1 63 QP::QMPool::get@222-284@..\src\qf\qf_mem.cpp
11 3 74 1 14 QP::QF::getPoolMin@299-312@..\src\qf\qf_mem.cpp
7 1 39 2 11 QP::QF::psInit@89-99@..\src\qf\qf_ps.cpp
90 17 623 1 201 QP::QF::publish_@119-319@..\src\qf\qf_ps.cpp
8 3 59 1 14 QP::QActive::QActive@44-57@..\src\qf\qf_qact.cpp
9 1 41 1 9 QP::QEQueue::QEQueue@58-66@..\src\qf\qf_qeq.cpp
13 2 74 2 13 QP::QEQueue::init@84-96@..\src\qf\qf_qeq.cpp
56 8 285 2 75 QP::QEQueue::post@120-194@..\src\qf\qf_qeq.cpp
33 5 171 1 44 QP::QEQueue::postLIFO@217-260@..\src\qf\qf_qeq.cpp
39 4 201 1 48 QP::QEQueue::get@278-325@..\src\qf\qf_qeq.cpp
5 1 22 1 5 QP::QMActive::QMActive@61-65@..\src\qf\qf_qmact.cpp
4 1 33 1 4 QP::QMActive::init@68-71@..\src\qf\qf_qmact.cpp
3 1 19 1 3 QP::QMActive::init@73-75@..\src\qf\qf_qmact.cpp
3 1 24 1 3 QP::QMActive::dispatch@77-79@..\src\qf\qf_qmact.cpp
3 1 27 1 3 QP::QMActive::isInState@81-83@..\src\qf\qf_qmact.cpp
5 1 27 1 5 QP::QMActive::childStateObj@85-89@..\src\qf\qf_qmact.cpp
69 7 375 2 100 QP::QF::tickX_@79-178@..\src\qf\qf_time.cpp
13 3 61 1 13 QP::QF::noTimeEvtsActiveX@205-217@..\src\qf\qf_time.cpp
16 2 100 3 32 QP::QTimeEvt::QTimeEvt@230-261@..\src\qf\qf_time.cpp
13 1 49 0 27 QP::QTimeEvt::QTimeEvt@267-293@..\src\qf\qf_time.cpp
33 7 205 2 57 QP::QTimeEvt::armX@321-377@..\src\qf\qf_time.cpp
31 2 143 1 37 QP::QTimeEvt::disarm@395-431@..\src\qf\qf_time.cpp
33 7 199 1 58 QP::QTimeEvt::rearm@453-510@..\src\qf\qf_time.cpp
5 1 28 1 5 QP::QTimeEvt::wasDisarmed@532-536@..\src\qf\qf_time.cpp
7 1 28 1 9 QP::QTimeEvt::currCtr@551-559@..\src\qf\qf_time.cpp
11 2 79 1 16 QP::QF::init@78-93@..\src\qk\qk.cpp
3 1 14 1 4 QP::QF::stop@111-114@..\src\qk\qk.cpp
6 2 26 1 8 QP::initial_events@119-126@..\src\qk\qk.cpp
10 3 40 1 14 QP::QF::run@137-150@..\src\qk\qk.cpp
21 5 139 6 30 QP::QActive::start@169-198@..\src\qk\qk.cpp
21 2 138 1 32 QP::QK::schedLock@223-254@..\src\qk\qk.cpp
22 4 149 1 33 QP::QK::schedUnlock@273-305@..\src\qk\qk.cpp
14 3 94 1 17 QK_sched_@325-341@..\src\qk\qk.cpp
61 15 421 1 105 QK_activate_@352-456@..\src\qk\qk.cpp
9 2 67 1 13 QP::QF::init@79-91@..\src\qv\qv.cpp
3 1 12 1 4 QP::QF::stop@109-112@..\src\qv\qv.cpp
37 9 198 1 71 QP::QF::run@130-200@..\src\qv\qv.cpp
15 3 109 6 22 QP::QActive::start@220-241@..\src\qv\qv.cpp
2 1 10 0 2 QP::QXKIdleThread::QXKIdleThread@68-69@..\src\qxk\qxk.cpp
14 2 103 1 22 QP::QF::init@85-106@..\src\qxk\qxk.cpp
3 1 12 1 4 QP::QF::stop@124-127@..\src\qxk\qxk.cpp
6 2 26 1 8 QP::initial_events@132-139@..\src\qxk\qxk.cpp
10 3 40 1 15 QP::QF::run@148-162@..\src\qxk\qxk.cpp
24 6 161 6 34 QP::QActive::start@179-212@..\src\qxk\qxk.cpp
24 3 150 1 34 QP::QXK::schedLock@235-268@..\src\qxk\qxk.cpp
22 4 149 1 34 QP::QXK::schedUnlock@287-320@..\src\qxk\qxk.cpp
51 7 296 1 70 QXK_sched_@340-409@..\src\qxk\qxk.cpp
79 16 547 1 135 QXK_activate_@420-554@..\src\qxk\qxk.cpp
13 2 72 1 20 QXK_current@557-576@..\src\qxk\qxk.cpp
16 4 105 1 24 QP::QXMutex::init@84-107@..\src\qxk\qxk_mutex.cpp
66 12 456 1 108 QP::QXMutex::lock@129-236@..\src\qxk\qxk_mutex.cpp
47 10 301 1 71 QP::QXMutex::tryLock@256-326@..\src\qxk\qxk_mutex.cpp
68 16 460 1 115 QP::QXMutex::unlock@345-459@..\src\qxk\qxk_mutex.cpp
8 1 55 2 10 QP::QXSemaphore::init@77-86@..\src\qxk\qxk_sema.cpp
43 7 274 1 68 QP::QXSemaphore::wait@109-176@..\src\qxk\qxk_sema.cpp
15 2 55 1 20 QP::QXSemaphore::tryWait@191-210@..\src\qxk\qxk_sema.cpp
27 6 169 1 46 QP::QXSemaphore::signal@230-275@..\src\qxk\qxk_sema.cpp
8 1 54 2 8 QP::QXThread::QXThread@90-97@..\src\qxk\qxk_xthr.cpp
4 1 23 1 4 QP::QXThread::init@101-104@..\src\qxk\qxk_xthr.cpp
4 1 23 1 4 QP::QXThread::dispatch@107-110@..\src\qxk\qxk_xthr.cpp
25 6 185 6 44 QP::QXThread::start@133-176@..\src\qxk\qxk_xthr.cpp
97 13 486 3 130 QP::QXThread::post_@212-341@..\src\qxk\qxk_xthr.cpp
4 1 23 1 4 QP::QXThread::postLIFO@352-355@..\src\qxk\qxk_xthr.cpp
60 7 436 1 87 QP::QXThread::queueGet@377-463@..\src\qxk\qxk_xthr.cpp
5 1 47 1 6 QP::QXThread::block_@472-477@..\src\qxk\qxk_xthr.cpp
8 3 56 1 9 QP::QXThread::unblock_@486-494@..\src\qxk\qxk_xthr.cpp
18 3 135 2 33 QP::QXThread::teArm_@504-536@..\src\qxk\qxk_xthr.cpp
11 2 42 1 14 QP::QXThread::teDisarm_@545-558@..\src\qxk\qxk_xthr.cpp
20 3 169 1 34 QP::QXThread::delay@562-595@..\src\qxk\qxk_xthr.cpp
14 2 58 1 16 QP::QXThread::delayCancel@599-614@..\src\qxk\qxk_xthr.cpp
14 2 108 1 23 QXK_threadRet_@631-653@..\src\qxk\qxk_xthr.cpp
3 1 16 1 3 QP::QF_EVT_POOL_ID_@140-142@..\src\qf_pkg.hpp
3 1 16 1 3 QP::QF_EVT_REF_CTR_@145-147@..\src\qf_pkg.hpp
3 1 21 1 3 QP::QF_EVT_REF_CTR_INC_@150-152@..\src\qf_pkg.hpp
3 1 21 1 3 QP::QF_EVT_REF_CTR_DEC_@155-157@..\src\qf_pkg.hpp
36 file analyzed.
==============================================================
NLOC Avg.NLOC AvgCCN Avg.token function_cnt file
--------------------------------------------------------------
5 0.0 0.0 0.0 0 ..\include\qassert.h
214 3.0 1.0 14.0 1 ..\include\qep.hpp
38 3.0 1.0 11.7 3 ..\include\qequeue.hpp
188 2.7 1.0 18.3 10 ..\include\qf.hpp
32 3.0 1.0 10.0 1 ..\include\qk.hpp
34 3.0 1.0 11.0 1 ..\include\qmpool.hpp
1 0.0 0.0 0.0 0 ..\include\qpcpp.h
4 0.0 0.0 0.0 0 ..\include\qpcpp.hpp
72 4.3 1.4 34.8 14 ..\include\qpset.hpp
319 7.0 1.8 45.0 4 ..\include\qs.hpp
6 0.0 0.0 0.0 0 ..\include\qstamp.cpp
0 0.0 0.0 0.0 0 ..\include\qs_dummy.hpp
12 0.0 0.0 0.0 0 ..\include\qv.hpp
32 0.0 0.0 0.0 0 ..\include\qxk.hpp
62 3.5 1.0 32.5 2 ..\include\qxthread.hpp
320 37.4 5.9 215.1 8 ..\src\qf\qep_hsm.cpp
310 36.9 6.4 216.0 8 ..\src\qf\qep_msm.cpp
62 12.5 3.5 91.8 4 ..\src\qf\qf_act.cpp
242 25.4 4.0 147.9 9 ..\src\qf\qf_actq.cpp
63 18.0 2.0 107.7 3 ..\src\qf\qf_defer.cpp
116 17.5 2.8 111.2 6 ..\src\qf\qf_dyn.cpp
118 21.8 3.0 131.6 5 ..\src\qf\qf_mem.cpp
107 48.5 9.0 331.0 2 ..\src\qf\qf_ps.cpp
11 8.0 3.0 59.0 1 ..\src\qf\qf_qact.cpp
159 30.0 4.0 154.4 5 ..\src\qf\qf_qeq.cpp
27 3.8 1.0 25.3 6 ..\src\qf\qf_qmact.cpp
231 24.4 3.4 132.0 9 ..\src\qf\qf_time.cpp
184 18.8 4.1 122.2 9 ..\src\qk\qk.cpp
76 16.0 3.8 96.5 4 ..\src\qv\qv.cpp
267 22.5 4.3 142.4 11 ..\src\qxk\qxk.cpp
206 49.2 10.5 330.5 4 ..\src\qxk\qxk_mutex.cpp
102 23.2 4.0 138.2 4 ..\src\qxk\qxk_sema.cpp
305 20.9 3.3 131.8 14 ..\src\qxk\qxk_xthr.cpp
24 3.0 1.0 18.5 4 ..\src\qf_pkg.hpp
9 0.0 0.0 0.0 0 ..\src\qs_pkg.hpp
13 0.0 0.0 0.0 0 ..\src\qxk_pkg.hpp
=========================================================================================================
!!!! Warnings (cyclomatic_complexity > 20 or nloc > 1000000 or length > 500 or parameter_count > 10) !!!!
================================================
NLOC CCN token PARAM length location
------------------------------------------------
117 21 675 1 169 QP::QMsm::dispatch@147-315@..\src\qf\qep_msm.cpp
==========================================================================================
Total nloc Avg.NLOC AvgCCN Avg.token Fun Cnt Warning cnt Fun Rt nloc Rt
------------------------------------------------------------------------------------------
3971 18.8 3.4 114.9 152 1 0.01 0.04
@endcode
*/

View File

@ -3,7 +3,7 @@
/// @cond
///***************************************************************************
/// Last updated for version 6.8.0
/// Last updated on 2020-01-23
/// Last updated on 2020-03-23
///
/// Q u a n t u m L e a P s
/// ------------------------
@ -91,14 +91,6 @@ void QF::init(void) {
// init the global condition variable with the default initializer
pthread_cond_init(&QV_condVar_, NULL);
// clear the internal QF variables, so that the framework can (re)start
// correctly even if the startup code is not called to clear the
// uninitialized data (as is required by the C++ Standard).
extern std::uint_fast8_t QF_maxPool_;
QF_maxPool_ = 0U;
bzero(&QF::timeEvtHead_[0], sizeof(QF::timeEvtHead_));
bzero(&active_[0], sizeof(active_));
l_tick.tv_sec = 0;
l_tick.tv_nsec = NANOSLEEP_NSEC_PER_SEC/100L; // default clock tick
l_tickPrio = sched_get_priority_min(SCHED_FIFO); // default tick prio

View File

@ -3,7 +3,7 @@
/// @cond
///***************************************************************************
/// Last updated for version 6.8.0
/// Last updated on 2020-01-23
/// Last updated on 2020-03-23
///
/// Q u a n t u m L e a P s
/// ------------------------
@ -94,14 +94,6 @@ void QF::init(void) {
// calling QF::run()
pthread_mutex_lock(&l_startupMutex);
// clear the internal QF variables, so that the framework can (re)start
// correctly even if the startup code is not called to clear the
// uninitialized data (as is required by the C++ Standard).
extern std::uint_fast8_t QF_maxPool_;
QF_maxPool_ = 0U;
bzero(&QF::timeEvtHead_[0], sizeof(QF::timeEvtHead_));
bzero(&active_[0], sizeof(active_));
l_tick.tv_sec = 0;
l_tick.tv_nsec = NANOSLEEP_NSEC_PER_SEC/100L; // default clock tick
l_tickPrio = sched_get_priority_min(SCHED_FIFO); // default tick prio

View File

@ -4,7 +4,7 @@
/// @cond
///***************************************************************************
/// Last updated for version 6.8.0
/// Last updated on 2020-01-23
/// Last updated on 2020-03-23
///
/// Q u a n t u m L e a P s
/// ------------------------
@ -70,14 +70,6 @@ static DWORD WINAPI ticker_thread(LPVOID arg);
void QF::init(void) {
InitializeCriticalSection(&l_win32CritSect);
QV_win32Event_ = CreateEvent(NULL, FALSE, FALSE, NULL);
// clear the internal QF variables, so that the framework can (re)start
// correctly even if the startup code is not called to clear the
// uninitialized data (as is required by the C++ Standard).
extern std::uint_fast8_t QF_maxPool_;
QF_maxPool_ = 0U;
bzero(&QF::timeEvtHead_[0], sizeof(QF::timeEvtHead_));
bzero(&active_[0], sizeof(active_));
}
//****************************************************************************
void QF_enterCriticalSection_(void) {

View File

@ -4,7 +4,7 @@
/// @cond
///***************************************************************************
/// Last updated for version 6.8.0
/// Last updated on 2020-01-23
/// Last updated on 2020-03-23
///
/// Q u a n t u m L e a P s
/// ------------------------
@ -69,14 +69,6 @@ void QF::init(void) {
// any active objects started before calling QF::run()
InitializeCriticalSection(&l_startupCritSect);
EnterCriticalSection(&l_startupCritSect);
// clear the internal QF variables, so that the framework can (re)start
// correctly even if the startup code is not called to clear the
// uninitialized data (as is required by the C++ Standard).
extern std::uint_fast8_t QF_maxPool_;
QF_maxPool_ = 0U;
bzero(&QF::timeEvtHead_[0], sizeof(QF::timeEvtHead_));
bzero(&active_[0], sizeof(active_));
}
//****************************************************************************
void QF_enterCriticalSection_(void) {

View File

@ -4,7 +4,7 @@
/// @cond
///***************************************************************************
/// Last updated for version 6.8.0
/// Last updated on 2020-01-23
/// Last updated on 2020-03-23
///
/// Q u a n t u m L e a P s
/// ------------------------
@ -101,6 +101,11 @@ void QF::init(void) {
/// system or for handling fatal errors that require shutting down
/// (and possibly re-setting) the system.
///
/// @attention
/// After calling QF::stop() the application must terminate and cannot
/// continue. In particular, QF::stop() is **not** intended to be followed
/// by a call to QF::init() to "resurrect" the application.
///
/// @sa QP::QF::onCleanup()
///
void QF::stop(void) {

View File

@ -4,7 +4,7 @@
/// @cond
///***************************************************************************
/// Last updated for version 6.8.0
/// Last updated on 2020-03-03
/// Last updated on 2020-03-23
///
/// Q u a n t u m L e a P s
/// ------------------------
@ -55,6 +55,9 @@ std::uint8_t volatile QF_intNest;
// QF functions ==============================================================
void QF::init(void) {
/// Clear the internal QF variables, so that the framework can start
/// correctly even if the startup code fails to clear the uninitialized
/// data (as is required by the C++ Standard).
QF_maxPool_ = 0U;
QF_subscrList_ = nullptr;
QF_maxPubSignal_ = 0;

View File

@ -5,7 +5,7 @@
/// @cond
///***************************************************************************
/// Last updated for version 6.8.0
/// Last updated on 2020-01-20
/// Last updated on 2020-03-23
///
/// Q u a n t u m L e a P s
/// ------------------------
@ -74,7 +74,7 @@ extern "C" {
///
/// @note QP::QF::init() clears the internal QF variables, so that the
/// framework can start correctly even if the startup code fails to clear
/// the uninitialized data (as is required by the C Standard).
/// the uninitialized data (as is required by the C++ Standard).
///
void QF::init(void) {
QF_maxPool_ = 0U;
@ -99,6 +99,11 @@ void QF::init(void) {
/// system or for handling fatal errors that require shutting down
/// (and possibly re-setting) the system.
///
/// @attention
/// After calling QF::stop() the application must terminate and cannot
/// continue. In particular, QF::stop() is **not** intended to be followed
/// by a call to QF::init() to "resurrect" the application.
///
/// @sa QP::QF::onCleanup()
///
void QF::stop(void) {

View File

@ -5,7 +5,7 @@
/// @cond
///***************************************************************************
/// Last updated for version 6.8.0
/// Last updated on 2020-01-23
/// Last updated on 2020-03-23
///
/// Q u a n t u m L e a P s
/// ------------------------
@ -114,6 +114,11 @@ void QF::init(void) {
/// system or for handling fatal errors that require shutting down
/// (and possibly re-setting) the system.
///
/// @attention
/// After calling QF::stop() the application must terminate and cannot
/// continue. In particular, QF::stop() is **not** intended to be followed
/// by a call to QF::init() to "resurrect" the application.
///
/// @sa QF::onCleanup()
///
void QF::stop(void) {