diff --git a/examples/microcoap_server/Makefile b/examples/microcoap_server/Makefile index 0d31dd2c8e..221f271bf1 100644 --- a/examples/microcoap_server/Makefile +++ b/examples/microcoap_server/Makefile @@ -25,7 +25,7 @@ USEMODULE += gnrc_rpl USEMODULE += gnrc_icmpv6_echo # -USEMODULE += gnrc_conn_udp +USEMODULE += gnrc_sock_udp USEPKG += microcoap CFLAGS += -DMICROCOAP_DEBUG diff --git a/examples/microcoap_server/main.c b/examples/microcoap_server/main.c index 0ee00f4c70..38e0d3b9c1 100644 --- a/examples/microcoap_server/main.c +++ b/examples/microcoap_server/main.c @@ -21,9 +21,6 @@ #include "msg.h" #include "xtimer.h" -#define MAIN_QUEUE_SIZE (8) -static msg_t _main_msg_queue[MAIN_QUEUE_SIZE]; - void microcoap_server_loop(void); /* import "ifconfig" shell command, used for printing addresses */ @@ -33,9 +30,6 @@ int main(void) { puts("RIOT microcoap example application"); - /* microcoap_server uses conn which uses gnrc which needs a msg queue */ - msg_init_queue(_main_msg_queue, MAIN_QUEUE_SIZE); - puts("Waiting for address autoconfiguration..."); xtimer_sleep(3); diff --git a/examples/microcoap_server/microcoap_conn.c b/examples/microcoap_server/microcoap_sock.c similarity index 82% rename from examples/microcoap_server/microcoap_conn.c rename to examples/microcoap_server/microcoap_sock.c index 8fb9a51d78..52e148627f 100644 --- a/examples/microcoap_server/microcoap_conn.c +++ b/examples/microcoap_server/microcoap_sock.c @@ -7,7 +7,7 @@ */ #include "net/af.h" -#include "net/conn/udp.h" +#include "net/sock/udp.h" #ifdef MICROCOAP_DEBUG #define ENABLE_DEBUG (1) @@ -33,18 +33,18 @@ coap_rw_buffer_t scratch_buf = { scratch_raw, sizeof(scratch_raw) }; void microcoap_server_loop(void) { - uint8_t laddr[16] = { 0 }; - uint8_t raddr[16] = { 0 }; - size_t raddr_len; - uint16_t rport; + static const sock_udp_ep_t local = { .family = AF_INET6, + .port = COAP_SERVER_PORT }; + sock_udp_ep_t remote; - conn_udp_t conn; + sock_udp_t sock; - int rc = conn_udp_create(&conn, laddr, sizeof(laddr), AF_INET6, COAP_SERVER_PORT); + int rc = sock_udp_create(&sock, &local, NULL, 0); while (1) { DEBUG("Waiting for incoming UDP packet...\n"); - rc = conn_udp_recvfrom(&conn, (char *)_udp_buf, sizeof(_udp_buf), raddr, &raddr_len, &rport); + rc = sock_udp_recv(&sock, (char *)_udp_buf, sizeof(_udp_buf), + SOCK_NO_TIMEOUT, &remote); if (rc < 0) { DEBUG("Error in conn_udp_recvfrom(). rc=%u\n", rc); continue; @@ -82,7 +82,7 @@ void microcoap_server_loop(void) coap_dumpPacket(&rsppkt); /* send reply via UDP */ - rc = conn_udp_sendto(_udp_buf, rsplen, NULL, 0, raddr, raddr_len, AF_INET6, COAP_SERVER_PORT, rport); + rc = sock_udp_send(&sock, _udp_buf, rsplen, &remote); if (rc < 0) { DEBUG("Error sending CoAP reply via udp; %u\n", rc); }