From 2cf406068072e3bf1fa8585ea2c26e690beb0cba Mon Sep 17 00:00:00 2001 From: Robert Schmidt <robert.schmidt@eurecom.fr> Date: Mon, 29 Oct 2018 11:21:52 +0100 Subject: [PATCH] Implement stats_reply-specific destroy function --- openair2/ENB_APP/flexran_agent_common.h | 1 + openair2/ENB_APP/flexran_agent_handler.c | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/openair2/ENB_APP/flexran_agent_common.h b/openair2/ENB_APP/flexran_agent_common.h index 29dd6fe61dd..76f9e3ce5c8 100644 --- a/openair2/ENB_APP/flexran_agent_common.h +++ b/openair2/ENB_APP/flexran_agent_common.h @@ -155,6 +155,7 @@ int flexran_agent_handle_stats(mid_t mod_id, const void *params, Protocol__Flexr /* Function to be used to handle reply message . */ int flexran_agent_stats_reply(mid_t enb_id, xid_t xid, const report_config_t *report_config, Protocol__FlexranMessage **msg); +int flexran_agent_destroy_stats_reply(Protocol__FlexranMessage *msg); /* Top level Statistics request protocol message constructor and destructor */ int flexran_agent_stats_request(mid_t mod_id, xid_t xid, const stats_request_config_t *report_config, Protocol__FlexranMessage **msg); diff --git a/openair2/ENB_APP/flexran_agent_handler.c b/openair2/ENB_APP/flexran_agent_handler.c index bdcd7bff7b3..40c09ddef94 100644 --- a/openair2/ENB_APP/flexran_agent_handler.c +++ b/openair2/ENB_APP/flexran_agent_handler.c @@ -63,7 +63,7 @@ flexran_agent_message_destruction_callback message_destruction_callback[] = { flexran_agent_destroy_echo_request, flexran_agent_destroy_echo_reply, flexran_agent_destroy_stats_request, - flexran_agent_mac_destroy_stats_reply, + flexran_agent_destroy_stats_reply, flexran_agent_mac_destroy_sf_trigger, flexran_agent_mac_destroy_sr_info, flexran_agent_destroy_enb_config_request, @@ -648,6 +648,26 @@ int flexran_agent_destroy_stats_request(Protocol__FlexranMessage *msg) { return -1; } +int flexran_agent_destroy_stats_reply(Protocol__FlexranMessage *msg) +{ + if (msg->msg_case != PROTOCOL__FLEXRAN_MESSAGE__MSG_STATS_REPLY_MSG) { + LOG_E(FLEXRAN_AGENT, "%s(): message is not a msg_stats_reply\n", __func__); + return -1; + } + + flexran_agent_mac_destroy_stats_reply((Protocol__FlexranMessage *)msg->stats_reply_msg); + // TODO implement rrc_destroy_stats_reply() + //flexran_agent_rrc_destroy_stats_reply(msg->stats_reply_msg); + // TODO implement pdcp_destroy_stats_reply() + //flexran_agent_pdcp_destroy_stats_reply(msg->stats_reply_msg); + free(msg->stats_reply_msg->header); + free(msg->stats_reply_msg->cell_report); + free(msg->stats_reply_msg->ue_report); + free(msg->stats_reply_msg); + free(msg); + return 0; +} + err_code_t flexran_agent_disable_cont_stats_update(mid_t mod_id) { /*Disable the continuous updates for the MAC*/ if (pthread_mutex_lock(stats_context[mod_id].mutex)) { -- GitLab