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
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
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
Benjamin Valentin
2682848a29
suit/transport/coap: move suit_coap_get_blockwise() to nanocoap
2022-01-27 14:42:49 +01:00
Benjamin Valentin
d680743fe9
net/coap: specify timeout in milliseconds
...
This allows for more flexibility when choosing timeouts.
2022-01-27 14:42:49 +01:00
Benjamin Valentin
3895fdc2c3
net/coap: move socket open/close out of nanocoap API
...
This allows to reuse a socket between requests and aligns the API
with the usage in SUIT.
2022-01-27 14:31:06 +01:00
Bas Stottelaar
1b35d06a51
sys/*: realign ENABLE_DEBUG
2020-10-23 11:27:48 +02:00
Bas Stottelaar
47d376c5c3
sys/*: add explicit include of timex.h
2020-10-21 21:47:31 +02:00
Leandro Lanzieri
9e427e1584
net/coap: Move COAP_MAX_RETRANSMIT to 'CONFIG' namespace
...
COAP_MAX_RETRANSMIT is moved to the compile time configuration macro
namespace.
2020-04-24 10:06:43 +02:00
Leandro Lanzieri
072a0d8563
net/coap: Move COAP_ACK_TIMEOUT to 'CONFIG' namespace
...
COAP_ACK_TIMEOUT is moved to the compile time configuration macro
namespace.
2020-04-24 10:06:40 +02:00
aaadaccc3f
sys/net/nanocoap: fix dead assignment in nanocoap server
2019-10-27 10:49:41 +01:00
0ec9c57b2b
add copyrights from IOTPUSH project
2019-05-02 12:09:37 +02:00
Ken Bannister
05195ec4a1
net/nanocoap: don't abort server on recv error
2019-02-26 12:35:49 -05:00