From f05733da6977ba57a5e1115088b77a8a8fa28edd Mon Sep 17 00:00:00 2001 From: Marko Mikulicic Date: Tue, 15 Dec 2015 10:35:14 +0000 Subject: [PATCH] Fix COAP example, reduce number of ctx switches PUBLISHED_FROM=7010fff404826c3dfc783d2cbdcbd0936a8a2b85 --- examples/coap_client/coap_client.c | 19 +++++++++---------- examples/coap_server/coap_server.c | 19 +++++++++---------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/examples/coap_client/coap_client.c b/examples/coap_client/coap_client.c index 639b61c7..f2f59171 100644 --- a/examples/coap_client/coap_client.c +++ b/examples/coap_client/coap_client.c @@ -2,14 +2,14 @@ * Copyright (c) 2015 Cesanta Software Limited * All rights reserved * - * This program sends CoAP CON-message to server (coap.me by default) + * This program sends CoAP CON-message to server (coap.me by default) * and waits for answer. */ #include "mongoose.h" static int s_time_to_exit = 0; -static char* s_default_address = "udp://coap.me:5683"; +static char *s_default_address = "udp://coap.me:5683"; static void coap_handler(struct mg_connection *nc, int ev, void *p) { switch (ev) { @@ -31,17 +31,16 @@ static void coap_handler(struct mg_connection *nc, int ev, void *p) { break; } case MG_EV_COAP_ACK: - case MG_EV_COAP_RST: { - struct mg_coap_message *cm = (struct mg_coap_message *)p; - printf("ACK/RST for message with msg_id = %d received\n", - cm->msg_id); + case MG_EV_COAP_RST: { + struct mg_coap_message *cm = (struct mg_coap_message *) p; + printf("ACK/RST for message with msg_id = %d received\n", cm->msg_id); s_time_to_exit = 1; break; } } } -int main(int argc, char* argv[]) { +int main(int argc, char *argv[]) { struct mg_mgr mgr; struct mg_connection *nc; char *address = s_default_address; @@ -50,7 +49,7 @@ int main(int argc, char* argv[]) { address = argv[1]; } - printf("Using %s as CoAP server\n", address); + printf("Using %s as CoAP server\n", address); mg_mgr_init(&mgr, 0); @@ -63,10 +62,10 @@ int main(int argc, char* argv[]) { mg_set_protocol_coap(nc); while (!s_time_to_exit) { - mg_mgr_poll(&mgr, 1); + mg_mgr_poll(&mgr, 1000000); } mg_mgr_free(&mgr); - + return 0; } diff --git a/examples/coap_server/coap_server.c b/examples/coap_server/coap_server.c index 8e4b3a0a..bfe4b8cd 100644 --- a/examples/coap_server/coap_server.c +++ b/examples/coap_server/coap_server.c @@ -2,18 +2,18 @@ * Copyright (c) 2015 Cesanta Software Limited * All rights reserved * - * This program listens on 5683 for CoAP messages, + * This program listens on 5683 for CoAP messages, * sends ACK is nessesary and dump everything received. * It is possible to use ../coap_client to send message. */ #include "mongoose.h" -static char* s_default_address = "udp://:5683"; +static char *s_default_address = "udp://:5683"; static int s_sig_received = 0; static void signal_handler(int sig_num) { - signal(sig_num, signal_handler); + signal(sig_num, signal_handler); s_sig_received = sig_num; } @@ -21,7 +21,7 @@ static void coap_handler(struct mg_connection *nc, int ev, void *p) { switch (ev) { case MG_EV_COAP_CON: { uint32_t res; - struct mg_coap_message *cm = (struct mg_coap_message *)p; + struct mg_coap_message *cm = (struct mg_coap_message *) p; printf("CON with msg_id = %d received\n", cm->msg_id); res = mg_coap_send_ack(nc, cm->msg_id); if (res == 0) { @@ -34,10 +34,9 @@ static void coap_handler(struct mg_connection *nc, int ev, void *p) { } case MG_EV_COAP_NOC: case MG_EV_COAP_ACK: - case MG_EV_COAP_RST: { - struct mg_coap_message *cm = (struct mg_coap_message *)p; - printf("ACK/RST/NOC with msg_id = %d received\n", - cm->msg_id); + case MG_EV_COAP_RST: { + struct mg_coap_message *cm = (struct mg_coap_message *) p; + printf("ACK/RST/NOC with msg_id = %d received\n", cm->msg_id); break; } } @@ -58,12 +57,12 @@ int main() { return -1; } - printf("Listening for CoAP messages at %s\n", s_default_address); + printf("Listening for CoAP messages at %s\n", s_default_address); mg_set_protocol_coap(nc); while (!s_sig_received) { - mg_mgr_poll(&mgr, 1); + mg_mgr_poll(&mgr, 1000000); } printf("Exiting on signal %d\n", s_sig_received);