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
Jan Romann
d916b33bc6
sys/net/nanocoap: introduce Accept option helper
2022-10-19 16:44:13 +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
56f36c09a0
nanocoap: add support for no-response option
...
See https://datatracker.ietf.org/doc/rfc7967/
2022-10-13 19:04:09 +02:00
benpicco
4493afb582
Merge pull request #18639 from benpicco/nanocoap_sock_put_url
...
sys/shell: ncput: add option to read from stdin
2022-10-06 12:05:39 +02:00
Karl Fessel
14096a935f
sys/net: cleanup coap_pkt_t.token uses
2022-10-06 00:20:10 +02:00
Martine Lenders
b9d7028a8f
coap: provide definition for version field value
2022-09-29 11:26:03 +02:00
Benjamin Valentin
a37b283ebe
nanocoap: coap_tree_handler(): accept resources in any order
2022-09-26 20:32:30 +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
benpicco
b117171fcf
Merge pull request #18519 from benpicco/coap_request_ctx_get_remote
...
gcoap: add remote sock_udp_ep_t to coap_request_ctx_t
2022-09-12 20:30:19 +02:00
Benjamin Valentin
1552267d19
gcoap: drop duplicate context field from coap_request_ctx_t
2022-09-12 17:51:26 +02:00
Benjamin Valentin
2376343547
gcoap: add remote sock_udp_ep_t to coap_request_ctx_t
2022-09-12 17:51:26 +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
d7bb42296a
gcoap: move tl_type to coap_request_ctx_t
2022-07-17 18:05:07 +02:00
Benjamin Valentin
3806f7d532
nanocoap: make coap_request_ctx_t members internal
2022-07-17 14:32:16 +02:00
Benjamin Valentin
acfab72296
nanocoap: make use of coap_request_ctx_t
2022-07-17 14:29:39 +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
bb42f6a2f4
nanocoap_vfs: add nanocoap_vfs_put()
2022-06-08 17:19:03 +02:00
benpicco
31b8518d20
Merge pull request #17965 from benpicco/coap_get_blockopt-uint8
...
nanocoap: use uint8_t for szx value
2022-05-25 14:00:04 +02:00
Benjamin Valentin
87359bb70a
nanocoap_vfs: add nanocoap_vfs_get()
2022-05-24 09:32:57 +02:00
Benjamin Valentin
00221818b6
nanocoap: use uint8_t for szx value
...
The value is an exponent, 8 bits totally suffice here
2022-05-23 23:41:21 +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
Martine Lenders
310ed649ae
gcoap: reflect truncation with caching
2022-05-13 12:14:55 +02:00
Martine Lenders
73bcd83543
nanocoap_cache, forward_proxy: add ETag validation support
2022-05-12 13:22:41 +02:00
Cenk Gündoğan
c5eb53095d
gcoap: integrate nanocoap cache
2022-05-10 18:43:57 +02:00
Cenk Gündoğan
8750605d26
nanocoap: add cache for response messages
2022-05-10 18:43:56 +02:00
Marian Buschsieweke
3dad6740da
Merge pull request #17990 from benpicco/nanocoap-void
...
nanocoap: use void * for payload bytes
2022-05-10 10:49:05 +02:00
Benjamin Valentin
0847c18a18
nanocoap: use size_t for payload_len
2022-05-03 11:32:20 +02:00
Benjamin Valentin
cabb2c912d
nanocoap: use void * for payload bytes
2022-05-03 11:32:20 +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
eecac6945b
nanocoap: Add handler for resource-based subtrees
...
This adds a coap_handler_t function that can be used to parse new
subtrees. The subtree information is included in the context pointer of
the call and must be of type coap_resource_subtree_t. This object then
contains the pointer and length of a different coap_resource_t instance.
2022-04-23 10:12:18 +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
benpicco
c032e40fba
Merge pull request #17976 from benpicco/coap_get_token
...
nanocoap: add coap_get_token()
2022-04-22 10:08:30 +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