net: lwm2m: create common wrapper for net_context_sendto

Simplifly net_context_sendto calls and also allows to easily debug every
send/receive lwm2m call.

Signed-off-by: Ricardo Salveti <ricardo.salveti@linaro.org>
This commit is contained in:
Ricardo Salveti 2017-07-28 13:29:06 -03:00 committed by Jukka Rissanen
commit 36fe07802a
4 changed files with 15 additions and 23 deletions

View file

@ -2145,6 +2145,12 @@ static int handle_request(struct zoap_packet *request,
return r;
}
int lwm2m_udp_sendto(struct net_pkt *pkt, const struct sockaddr *dst_addr)
{
return net_context_sendto(pkt, dst_addr, NET_SOCKADDR_MAX_SIZE,
NULL, K_NO_WAIT, NULL, NULL);
}
void lwm2m_udp_receive(struct net_context *ctx, struct net_pkt *pkt,
struct zoap_pending *zpendings, int num_zpendings,
struct zoap_reply *zreplies, int num_zreplies,
@ -2240,10 +2246,7 @@ void lwm2m_udp_receive(struct net_context *ctx, struct net_pkt *pkt,
if (r < 0) {
SYS_LOG_ERR("Request handler error: %d", r);
} else {
r = net_context_sendto(pkt2, &from_addr,
NET_SOCKADDR_MAX_SIZE,
NULL, K_NO_WAIT, NULL,
NULL);
r = lwm2m_udp_sendto(pkt2, &from_addr);
if (r < 0) {
SYS_LOG_ERR("Err sending response: %d",
r);
@ -2280,9 +2283,7 @@ static void retransmit_request(struct k_work *work)
return;
}
r = net_context_sendto(pending->pkt, &pending->addr,
NET_SOCKADDR_MAX_SIZE,
NULL, K_NO_WAIT, NULL, NULL);
r = lwm2m_udp_sendto(pending->pkt, &pending->addr);
if (r < 0) {
return;
}
@ -2427,8 +2428,7 @@ static int generate_notify_message(struct observe_node *obs,
zoap_reply_init(reply, &request);
reply->reply = notify_message_reply_cb;
ret = net_context_sendto(pkt, &obs->addr, NET_SOCKADDR_MAX_SIZE,
NULL, 0, NULL, NULL);
ret = lwm2m_udp_sendto(pkt, &obs->addr);
if (ret < 0) {
SYS_LOG_ERR("Error sending LWM2M packet (err:%d).", ret);
goto cleanup;

View file

@ -50,6 +50,7 @@ int lwm2m_write_handler(struct lwm2m_engine_obj_inst *obj_inst,
struct lwm2m_engine_obj_field *obj_field,
struct lwm2m_engine_context *context);
int lwm2m_udp_sendto(struct net_pkt *pkt, const struct sockaddr *dst_addr);
void lwm2m_udp_receive(struct net_context *ctx, struct net_pkt *pkt,
struct zoap_pending *zpendings, int num_zpendings,
struct zoap_reply *zreplies, int num_zreplies,

View file

@ -60,9 +60,7 @@ static void retransmit_request(struct k_work *work)
return;
}
r = net_context_sendto(pending->pkt, &pending->addr,
NET_SOCKADDR_MAX_SIZE,
NULL, K_NO_WAIT, NULL, NULL);
r = lwm2m_udp_sendto(pending->pkt, &pending->addr);
if (r < 0) {
return;
}
@ -129,8 +127,7 @@ static int transfer_request(struct zoap_block_context *ctx,
}
/* send request */
ret = net_context_sendto(pkt, &firmware_addr, NET_SOCKADDR_MAX_SIZE,
NULL, 0, NULL, NULL);
ret = lwm2m_udp_sendto(pkt, &firmware_addr);
if (ret < 0) {
SYS_LOG_ERR("Error sending LWM2M packet (err:%d).",
ret);

View file

@ -440,9 +440,7 @@ static int sm_do_bootstrap(int index)
lwm2m_sprint_ip_addr(&clients[index].bs_server),
query_buffer);
ret = net_context_sendto(pkt, &clients[index].bs_server,
NET_SOCKADDR_MAX_SIZE,
NULL, 0, NULL, NULL);
ret = lwm2m_udp_sendto(pkt, &clients[index].bs_server);
if (ret < 0) {
SYS_LOG_ERR("Error sending LWM2M packet (err:%d).",
ret);
@ -587,9 +585,7 @@ static int sm_send_registration(int index, bool send_obj_support_data,
SYS_LOG_DBG("registration sent [%s]",
lwm2m_sprint_ip_addr(&clients[index].reg_server));
ret = net_context_sendto(pkt, &clients[index].reg_server,
NET_SOCKADDR_MAX_SIZE,
NULL, 0, NULL, NULL);
ret = lwm2m_udp_sendto(pkt, &clients[index].reg_server);
if (ret < 0) {
SYS_LOG_ERR("Error sending LWM2M packet (err:%d).",
ret);
@ -687,9 +683,7 @@ static int sm_do_deregister(int index)
SYS_LOG_INF("Deregister from '%s'", clients[index].server_ep);
ret = net_context_sendto(pkt, &clients[index].reg_server,
NET_SOCKADDR_MAX_SIZE,
NULL, 0, NULL, NULL);
ret = lwm2m_udp_sendto(pkt, &clients[index].reg_server);
if (ret < 0) {
SYS_LOG_ERR("Error sending LWM2M packet (err:%d).",
ret);