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

View file

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

View file

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