Skip to content
Snippets Groups Projects
Commit b9cf840a authored by Xenofon Foukas's avatar Xenofon Foukas
Browse files

Created callback mechanism for destruction of protocol messages sent by the agent

parent 0bea0aaf
No related branches found
No related tags found
No related merge requests found
......@@ -134,7 +134,7 @@ int enb_agent_hello(uint32_t xid, const void *params, Protocol__ProgranMessage *
}
int enb_agent_destroy_hello_message(Protocol__ProgranMessage *msg) {
int enb_agent_destroy_hello(Protocol__ProgranMessage *msg) {
if(msg->msg_case != PROTOCOL__PROGRAN_MESSAGE__MSG_HELLO_MSG)
goto error;
......
......@@ -53,6 +53,10 @@ typedef int (*enb_agent_message_decoded_callback)(
Protocol__ProgranMessage **msg
);
typedef int (*enb_agent_message_destruction_callback)(
Protocol__ProgranMessage *msg
);
typedef int32_t err_code_t;
int enb_agent_serialize_message(Protocol__ProgranMessage *msg, void **buf, int *size);
......
......@@ -50,6 +50,15 @@ enb_agent_message_decoded_callback messages_callback[][3] = {
};
enb_agent_message_destruction_callback message_destruction_callback[] = {
enb_agent_destroy_hello,
enb_agent_destroy_echo_request,
enb_agent_destroy_echo_reply,
0, /*No stats request message is created in the agent. No need for a callback*/
enb_agent_mac_destroy_stats_reply,
};
static const char *enb_agent_direction2String[] = {
"", /* not_set */
"originating message", /* originating message */
......@@ -114,7 +123,7 @@ void * enb_agent_send_message(uint32_t xid,
// free the msg --> later keep this in the data struct and just update the values
//TODO call proper destroy function
// enb_agent_mac_destroy_stats_reply(msg);
err_code = ((*message_destruction_callback[msg->msg_case-1])(msg));
DevAssert(buffer !=NULL);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment