X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=hwApp.go;h=dc4e4f7aab699b2dbd1b6e49b837cad4370373f2;hb=7af1c815098c124cb55bbba0b37f53c4faeb2d84;hp=1704dda1c3ffee1c5f130da8ef5b361679ea10ee;hpb=02ac560d10a1374557a9b644d618c52e23d1a3fc;p=ric-app%2Fhw-go.git diff --git a/hwApp.go b/hwApp.go index 1704dda..dc4e4f7 100755 --- a/hwApp.go +++ b/hwApp.go @@ -27,16 +27,59 @@ import ( type HWApp struct { } +var ( + A1_POLICY_QUERY = 20013 + POLICY_QUERY_PAYLOAD = "{\"policy_type_id\":20000}" +) + +func (e *HWApp) sendPolicyQuery() { + xapp.Logger.Info("Invoked method to send policy query message") + + // prepare and send policy query message over RMR + rmrParams := new(xapp.RMRParams) + rmrParams.Mtype = A1_POLICY_QUERY // A1_POLICY_QUERY + rmrParams.Payload = []byte(POLICY_QUERY_PAYLOAD) + + // send rmr message + flg := xapp.Rmr.SendMsg(rmrParams) + + if flg { + xapp.Logger.Info("Successfully sent policy query message over RMR") + } else { + xapp.Logger.Info("Failed to send policy query message over RMR") + } +} + func (e *HWApp) ConfigChangeHandler(f string) { xapp.Logger.Info("Config file changed") } - func (e *HWApp) xAppStartCB(d interface{}) { xapp.Logger.Info("xApp ready call back received") } -func (e *HWApp) Consume(rp *xapp.RMRParams) (err error) { +func (e *HWApp) Consume(msg *xapp.RMRParams) (err error) { + id := xapp.Rmr.GetRicMessageName(msg.Mtype) + + xapp.Logger.Info("Message received: name=%s meid=%s subId=%d txid=%s len=%d", id, msg.Meid.RanName, msg.SubId, msg.Xid, msg.PayloadLen) + + switch id { + // policy request handler + case "A1_POLICY_REQUEST": + xapp.Logger.Info("Recived policy instance list") + + // health check request + case "RIC_HEALTH_CHECK_REQ": + xapp.Logger.Info("Received health check request") + + default: + xapp.Logger.Info("Unknown message type '%d', discarding", msg.Mtype) + } + + defer func() { + xapp.Rmr.Free(msg.Mbuf) + msg.Mbuf = nil + }() return } @@ -51,7 +94,11 @@ func (e *HWApp) Run() { // register callback after xapp ready xapp.SetReadyCB(e.xAppStartCB, true) - xapp.RunWithParams(e, false) + // reading configuration from config file + waitForSdl := xapp.Config.GetBool("db.waitForSdl") + + // start xapp + xapp.RunWithParams(e, waitForSdl) }