X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=control%2FrcControl.go;h=32209db2c9f292fd1f1b9b2ac060c0127d28171f;hb=90fe232d4ef733461b703bfaf5f8b56319f83339;hp=5bf59945d802c32eb5432cd12abe25ffb2b66d26;hpb=960885a60feb1ef3f9f654c7f4caf73f7a25dc4a;p=ric-app%2Frc.git diff --git a/control/rcControl.go b/control/rcControl.go index 5bf5994..32209db 100644 --- a/control/rcControl.go +++ b/control/rcControl.go @@ -357,8 +357,30 @@ func HandleControlResponse(params *xapp.RMRParams) (err error) { func HandleControlFailure(params *xapp.RMRParams) (err error) { + var e2ap *E2ap + xapp.Logger.Debug("The SubId in RIC_CONTROL_FAILURE is %d", params.SubId) log.Printf("The SubId in RIC_CONTROL_FAILURE is %d", params.SubId) + controlAck, err := e2ap.GetControlFailureMsg(params.Payload) + if err != nil { + xapp.Logger.Debug("Failed to decode RIC Control message: %v", err) + log.Println("Failed to decode RIC Control Ack: %v", err) + return + } + log.Println("E2ap RIC Control Ack message decoded \n") + xapp.Logger.Debug("E2ap RIC Control Ack message decoded \n") + + gControlData.eventRicControlReqExpiredMu.Lock() + _, ok := gControlData.eventRicControlReqExpiredMap[int(controlAck.InstanceId)] + if !ok { + gControlData.eventRicControlReqExpiredMu.Unlock() + xapp.Logger.Debug("RIC_CONTROL_REQ has been deleted!") + log.Printf("RIC_CONTROL_REQ has been deleted!") + return nil + } else { + gControlData.eventRicControlReqExpiredMap[int(controlAck.InstanceId)] = true + gControlData.eventRicControlReqExpiredMu.Unlock() + } return nil }