X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fdu_app%2Fdu_tmr.c;h=1ea0d77d33606dc5b940238e8f3fbd45582c0c5e;hb=a3796bdbd76c38cd78ed1c9ef5cbf4cee1c355de;hp=432a3d3683e03e6fbda4256c01bad47a1e747261;hpb=66f88e54e39e6b46cfc47bd8afeaea1cb831d0cc;p=o-du%2Fl2.git diff --git a/src/du_app/du_tmr.c b/src/du_app/du_tmr.c index 432a3d368..1ea0d77d3 100644 --- a/src/du_app/du_tmr.c +++ b/src/du_app/du_tmr.c @@ -47,13 +47,40 @@ bool duChkTmr(PTR cb, int16_t tmrEvnt) { case EVENT_E2_SETUP_TMR: { - if(((E2apDb *)cb)->e2TimersInfo.e2Timers.e2SetupTimer.tmrEvnt == EVENT_E2_SETUP_TMR) + if(((CmTimer *)cb)->tmrEvnt == EVENT_E2_SETUP_TMR) { DU_LOG("\nERROR --> DU_APP : duChkTmr: Invalid tmr Evnt [%d]", tmrEvnt); return TRUE; } + break; + } + case EVENT_RIC_SERVICE_UPDATE_TMR: + { + if(((RicServiceUpdateTimer*)cb)->timer.tmrEvnt == EVENT_RIC_SERVICE_UPDATE_TMR) + { + DU_LOG("\nERROR --> DU_APP : duChkTmr: Timer already running for event [%d]", tmrEvnt); + return TRUE; + } + break; + } + case EVENT_E2_NODE_CONFIG_UPDATE_TMR: + { + if(((E2NodeConfigUpdateTimer *)cb)->timer.tmrEvnt == EVENT_E2_NODE_CONFIG_UPDATE_TMR) + { + DU_LOG("\nERROR --> DU_APP : duChkTmr: Invalid tmr Evnt [%d]", tmrEvnt); + return TRUE; + } + break; + } + case EVENT_RIC_SUBSCRIPTION_REPORTING_TMR: + { + if(((RicSubscription *)cb)->ricSubsReportTimer.tmrEvnt == EVENT_RIC_SUBSCRIPTION_REPORTING_TMR) + { + DU_LOG("\nERROR --> DU_APP : duChkTmr: Timer already running for event [%d]", tmrEvnt); + return TRUE; + } + break; } - default: { DU_LOG("\nERROR --> DU_APP : duChkTmr: Invalid tmr Evnt [%d]", tmrEvnt); @@ -73,9 +100,8 @@ bool duChkTmr(PTR cb, int16_t tmrEvnt) * @return Void */ -void duStartTmr(PTR cb, int16_t tmrEvnt, uint8_t timerValue) +void duStartTmr(PTR cb, int16_t tmrEvnt, uint32_t timerValue) { - E2apDb *e2apDb; CmTmrArg arg; arg.wait = 0; @@ -83,16 +109,48 @@ void duStartTmr(PTR cb, int16_t tmrEvnt, uint8_t timerValue) { case EVENT_E2_SETUP_TMR: { - e2apDb = ((E2apDb *)cb); - DU_TMR_CALCUATE_WAIT(arg.wait, timerValue, duCb.duTimersInfo.tmrRes); + CmTimer *e2SetupTimer = NULLP; + e2SetupTimer = ((CmTimer *)cb); + TMR_CALCUATE_WAIT(arg.wait, timerValue, duCb.duTimersInfo.tmrRes); - arg.timers = &e2apDb->e2TimersInfo.e2Timers.e2SetupTimer; + arg.timers = e2SetupTimer; arg.max = MAX_E2_SETUP_TMR; break; } + case EVENT_RIC_SERVICE_UPDATE_TMR: + { + RicServiceUpdateTimer *ricServiceUpdateTimer = NULLP; + ricServiceUpdateTimer= ((RicServiceUpdateTimer*)cb); + TMR_CALCUATE_WAIT(arg.wait, timerValue, duCb.duTimersInfo.tmrRes); + + arg.timers = &ricServiceUpdateTimer->timer; + arg.max = MAX_RIC_SERVICE_UPDATE_TMR; + break; + } + case EVENT_E2_NODE_CONFIG_UPDATE_TMR: + { + E2NodeConfigUpdateTimer *cfgUpdateTimer; + cfgUpdateTimer = ((E2NodeConfigUpdateTimer*)cb); + TMR_CALCUATE_WAIT(arg.wait, timerValue, duCb.duTimersInfo.tmrRes); + + arg.timers = &cfgUpdateTimer->timer; + arg.max = MAX_E2_NODE_CONFIG_UPDATE_TMR; + break; + } + case EVENT_RIC_SUBSCRIPTION_REPORTING_TMR: + { + RicSubscription *ricSubscription = NULLP; + ricSubscription = ((RicSubscription*)cb); + TMR_CALCUATE_WAIT(arg.wait, timerValue, duCb.duTimersInfo.tmrRes); + + arg.timers = &ricSubscription->ricSubsReportTimer; + arg.max = MAX_RIC_SUBSCRIPTION_REPORTING_TMR; + break; + } default: { DU_LOG("\nERROR --> DU : duStartTmr: Invalid tmr Evnt [%d]", tmrEvnt); + return; } } @@ -132,6 +190,30 @@ void duTmrExpiry(PTR cb,int16_t tmrEvnt) BuildAndSendE2SetupReq(); break; } + case EVENT_RIC_SERVICE_UPDATE_TMR: + { + RicServiceUpdateTimer *ricServiceUpdateTimer; + + ricServiceUpdateTimer= ((RicServiceUpdateTimer*)cb); + BuildAndSendRicServiceUpdate(ricServiceUpdateTimer->ricService); + break; + } + case EVENT_E2_NODE_CONFIG_UPDATE_TMR: + { + E2NodeConfigUpdateTimer *cfgUpdateTimer; + + cfgUpdateTimer = ((E2NodeConfigUpdateTimer*)cb); + BuildAndSendE2NodeConfigUpdate(&cfgUpdateTimer->configList); + break; + } + case EVENT_RIC_SUBSCRIPTION_REPORTING_TMR: + { + RicSubscription *ricSubscription = NULLP; + + ricSubscription = ((RicSubscription *)cb); + E2apHdlRicSubsReportTmrExp(ricSubscription); + break; + } default: { DU_LOG("\nERROR --> DU : duStartTmr: Invalid tmr Evnt [%d]", tmrEvnt);