1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

71 Commits

Author SHA1 Message Date
Benjamin Valentin
d6e05dae7f nanocoap_sock: don't include token in empty ACK response 2023-03-08 11:38:09 +01:00
Benjamin Valentin
5134b5c7d5 nanocoap_sock: make use of sock_dtls_establish_session() 2023-02-08 15:57:28 +01:00
Benjamin Valentin
d041a5fb1a nanocoap_sock: store message ID in nanocoap_sock_t 2023-01-20 01:50:10 +01:00
Benjamin Valentin
d660e3ebbd nanocoap_sock: implement DTLS socket 2023-01-13 00:17:32 +01:00
Benjamin Valentin
ad5b27df8e nanocoap_sock: make nanocoap_sock_t a proper struct 2023-01-13 00:08:55 +01:00
bors[bot]
53176f7b9e
Merge #18134 #18738 #18939 #19118
18134: nanocoap_link_format: add helper function to parse Link Format r=kaspar030 a=benpicco



18738: nanocoap_sock: implement nanocoap_sock_delete() r=maribu a=benpicco



18939: gnrc_ipv6_nib: clean up _resolve_addr() r=maribu a=benpicco



19118: sys/ztimer: ztimer_mock: guard ztimer_ondemand static functions r=kaspar030 a=kaspar030



Co-authored-by: Benjamin Valentin <benpicco@beuth-hochschule.de>
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
Co-authored-by: Kaspar Schleiser <kaspar@schleiser.de>
2023-01-10 11:25:32 +00:00
bors[bot]
6cf2116ae8
Merge #18773
18773: nanocoap_sock: fix handling empty ACKs with separate response r=maribu a=benpicco



Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
Co-authored-by: Benjamin Valentin <benjamin.valentin@bht-berlin.de>
2023-01-06 01:07:57 +00:00
benpicco
e6284ec244
Merge pull request #18816 from benpicco/nanocoap_handle_req-ctx
nanocoap: add request context to coap_handle_req()
2022-11-23 20:36:50 +01:00
Benjamin Valentin
8a11ca2f87 nanocoap: don't hide coap_request_ctx_t content 2022-11-22 10:41:32 +01:00
benpicco
f8964c0149
Merge pull request #18827 from benpicco/nanocoap_block-fix
nanocoap_sock: don't store entire sock in coap_block_request_t
2022-11-08 10:49:39 +01:00
Benjamin Valentin
bd8b6e454d nanocoap_sock: send ACK with empty code instead of 2.03 2022-11-03 23:33:57 +01:00
Benjamin Valentin
084f0287a3 nanocoap_sock: support handling empty ACKs with separate response 2022-11-03 23:26:51 +01:00
Benjamin Valentin
63c9dde3a4 nanocoap_sock: don't store entire sock in coap_block_request_t 2022-11-01 00:17:11 +01:00
Benjamin Valentin
782910ade4 nanocoap_sock: only re-transmit CON messages
If a NON confirmable message is sent with a callback function,
not receiving a response in time would lead to a retransmission.

This is of course an error, as only CON messages are to be retransmitted.
2022-10-31 17:18:19 +01:00
Benjamin Valentin
c6f9654461 nanocoap: request context to coap_handle_req() 2022-10-28 14:21:52 +02:00
benpicco
72d16e152a
Merge pull request #17983 from kfessel/p-remove-coap_pkt-token
net/nanocoap: remove coap_pkt token ptr
2022-10-16 04:21:47 +02:00
Benjamin Valentin
1cfcb307f2 nanocoap_sock: add nanocoap_sock_{put, post}_non() 2022-10-13 19:04:09 +02:00
Benjamin Valentin
c656df9c3a nanocoap_sock: implement nanocoap_sock_delete() 2022-10-13 18:56:28 +02:00
Karl Fessel
14096a935f sys/net: cleanup coap_pkt_t.token uses 2022-10-06 00:20:10 +02:00
Benjamin Valentin
42a8a587c4 nanocoap_sock: add nanocoap_sock_{put, post}_url() 2022-09-23 19:47:02 +02:00
Benjamin Valentin
b6fac2b2c7 nanocoap_sock: consitfy remote 2022-09-14 10:29:57 +02:00
Benjamin Valentin
37dceb6c80 nanocoap_sock: use correct error code in nanocoap_get_blockwise_url_to_buf()
It should return -ENOBUFS like the other nanocoap_…() functions, not -1
2022-09-05 07:40:59 +02:00
Benjamin Valentin
514f039c30 nanocoap_sock: add nanocoap_sock_{put, post}() 2022-08-25 17:52:43 +02:00
Benjamin Valentin
8c4e5629d1 nanocoap_sock: fix debug output 2022-06-21 23:06:33 +02:00
Benjamin Valentin
11e40a9d61 nanocoap_sock: fix wrong assertion
The assertion is a bit overeager.
In case of receiving a wrong message ID, we re-try receive without
entering the STATE_REQUEST_SEND state again, so it is expected that
we get a non-NULL ctx/response from sock_udp_recv_buf().

What this assert should actually check is that we don't get a non-NULL
ctx after calling sock_udp_recv_buf() with a non-NULL ctx.

So make this explicit to not falsely fail the assertion.
2022-06-16 18:54:16 +02:00
Benjamin Valentin
7c75852316 nanocoap_sock: clean up state management 2022-05-18 11:41:58 +02:00
benpicco
7c62c8983d
Merge pull request #17958 from benpicco/nanocoap-blockwise_put
nanocoap_sock: add nanocoap_sock_block_request()
2022-05-18 10:40:24 +02:00
Benjamin Valentin
b99d4b58bd nanocoap_sock: add nanocoap_sock_block_request() 2022-05-17 23:07:23 +02:00
Benjamin Valentin
f2279e43ae nanocoap_sock: support sending CoAP packet with payload snips 2022-05-17 23:07:23 +02:00
Benjamin Valentin
d03c6390c8 nanocoap_sock: release rx buffer on RESET
We must not return without calling sock_udp_recv_buf() again.
2022-05-03 03:53:56 +02:00
Benjamin Valentin
04a8a36734 nanocoap_sock: only abort nanocoap_sock_get_blockwise() on negative error
Some user callbacks might just return the result of some other operation
that returns written bytes or negative error.

Let's not break those, only consider negative callback returns an error.
2022-04-29 21:29:36 +02:00
Benjamin Valentin
bb4c597681 nanocoap_sock: document (ab)use of sock_udp_recv_buf(), add asssert() 2022-04-22 11:34:19 +02:00
Benjamin Valentin
b20f89976d nanocoap_sock: pass on error code from user callback 2022-04-22 10:35:52 +02:00
Benjamin Valentin
85833ab58c nanocoap_sock: clean up the request function 2022-04-22 10:35:52 +02:00
Benjamin Valentin
bd7fe3bc5c nanocoap_sock: calculate deadline from interval
So we don't have to wait a full interval again if we got a wrong
message without resend.
2022-04-22 10:35:52 +02:00
Benjamin Valentin
e2fe9d0268 nanocoap_sock: compare response token 2022-04-22 10:35:52 +02:00
Benjamin Valentin
c22b1242ae nanocoap_sock: ensure ctx is reset before receiving new frame 2022-04-22 10:35:52 +02:00
Benjamin Valentin
3ac258ccdf nanocoap_sock: set more false if response was not blockwise 2022-04-22 10:12:27 +02:00
Benjamin Valentin
a5bc3cc069 nanocoap_sock: pass on error code 2022-04-22 10:12:27 +02:00
Francisco
7307923703
Merge pull request #17960 from benpicco/sock_urlpath
nanocoap_sock: add nanocoap_sock_url_connect()
2022-04-22 08:26:12 +02:00
Benjamin Valentin
5c1ff580d6 nanocoap_sock: don't decrement retries twice 2022-04-21 15:39:25 +02:00
Benjamin Valentin
76e2500b7d nanocoap_sock: use random message IDs 2022-04-21 15:39:25 +02:00
Benjamin Valentin
8d391a4f5f nanocoap_sock: use random timeout 2022-04-21 15:03:31 +02:00
Benjamin Valentin
2ea6c81217 nanocoap_sock: add nanocoap_sock_url_connect() 2022-04-18 01:53:23 +02:00
Benjamin Valentin
dbbb602522 net/coap: refactor nanocoap_request for zero-copy operation
This removes the need for a user provied work buffer from nanocoap.
Instead we let the user operate directly on network stack internal
memory and provide a callback mechanism to make sure the memory is
properly freed again.
2022-04-13 19:33:00 +02:00
Benjamin Valentin
9cab45931a nanocoap: replace sock_udp_str2ep() with sock_udp_name2ep() 2022-03-24 17:09:16 +01:00
Benjamin Valentin
a6a8356385 nanocoap: add nanocoap_get_blockwise_url_to_buf() function
This moves the internal convenience function suit_coap_get_blockwise_url_buf()
into nanocoap to make it globally available.
2022-03-22 10:36:50 +01:00
benpicco
67b98fd741 sys/net/nanocoap: introduce nanocoap_sock_*()
Co-authored-by: Jan Romann <jan.romann@uni-bremen.de>
2022-02-24 12:20:47 +01:00
Benjamin Valentin
0b768e5602 nanocoap: add nanocoap_request_simple() 2022-02-24 12:20:05 +01:00
Benjamin Valentin
7dc2f730d2 nanocoap: check if all critical options were handled 2022-02-24 12:20:05 +01:00