Dániel Buga
44217aa092
Desugar some async fns
2024-12-30 12:13:13 +01:00
Krzysztof Królczyk
9634dfd6c1
chore: address some clippy issues
...
Signed-off-by: Krzysztof Królczyk <Krzysztof.Krolczyk@o2.pl>
2024-11-01 19:08:14 +01:00
Anthony Grondin
70214fc2c2
feat(embassy-net): Implement TcpReader::wait_read_ready() + TcpWriter::wait_send_ready()
2024-10-31 22:25:48 -04:00
Dario Nieuwenhuis
e8ba9696f1
Merge pull request #3368 from AnthonyGrondin/main
...
feat(embassy-net): Implement `wait_recv_ready()` + `wait_send_ready()` for UdpSocket and `wait_read_ready()` + `wait_write_ready()` for TcpSocket
2024-10-21 00:35:13 +00:00
Dario Nieuwenhuis
9a45d776d8
rustfmt for new nightly.
2024-10-14 00:12:45 +02:00
Dario Nieuwenhuis
f6155cf735
Update smoltcp, embedded-nal-async to use the core::net IP addr types.
2024-10-07 00:22:44 +02:00
Anthony Grondin
712fa08363
feat(embassy-net): Implement wait_read_ready() + wait_write_ready() for TcpSocket
2024-09-24 22:01:53 -04:00
Anthony Grondin
e8da387726
docs(embassy-net): Update can_send() and may_send() documentation to reflect actual behavior from smoltcp
2024-09-24 22:01:53 -04:00
Dario Nieuwenhuis
be0d9775e3
net: refactor to simplify lifetimes/generics.
2024-09-16 21:17:11 +02:00
dvdsk
5479647962
embassy-net: fix/clearify TcpReader docs. Expand docs on timeouts
2024-08-23 19:18:12 +02:00
dvdsk
acc26a076a
embassy-net/read document return value Ok(0)
2024-08-23 15:04:00 +02:00
Samuel Hicks
e6f4db507d
net/tcp: fix flush() waiting forever if socket is reset with pending write data
2024-07-19 17:45:29 +01:00
Mathias
01f709c1d9
Allow setting socket timeout for embedded-nal TcpClient, such that every new socket from that client gets the timeout
2024-07-17 11:23:12 +02:00
trepidacious
abe7f9921e
Update ReadReady and WriteReady implementations
...
Update `ReadReady` for `TcpReader` to match implementation for `TcpSocket`
Update `WriteReady` implementations to use `can_recv()` rather than `may_recv()`, since this will check that the transmit buffer is not full.
2024-07-01 20:59:27 +01:00
trepidacious
c3be54f96b
Add check for closed connection to read_ready()
2024-06-30 17:47:04 +01:00
Philip Reimer
673d11f49f
add send_queue and recv_queue
2024-06-05 15:28:18 -06:00
davidskula
87aca974b1
impl ReadReady for tcp call can_recv() insted of may_recv()
2024-05-07 16:07:00 +02:00
Dario Nieuwenhuis
250cfa5f5f
net/tcp: fix flush() not waiting for ACK of FIN.
2024-02-21 21:13:10 +01:00
Stefan Gehr
b9d0069671
correct spelling of the word "receive"
2024-02-03 14:56:31 +01:00
swanandx
4a59fbdedc
feat: impl ReadReady and WriteReady for tcp
2024-01-03 18:17:04 +05:30
Dario Nieuwenhuis
c6989dfbca
Remove nightly and unstable-traits features in preparation for 1.75.
2023-11-29 17:26:33 +01:00
Dario Nieuwenhuis
4647df14b1
Update heapless to v0.8, embedded-nal-async to v0.7
2023-11-10 16:43:53 +01:00
Dániel Buga
15660cfc68
Ensure TcpIo not blocking when reading into empty slice
2023-11-06 09:12:16 +01:00
Dario Nieuwenhuis
32b89eeba1
net: remove atomic-polyfill.
2023-10-12 02:07:26 +02:00
Dániel Buga
0c66636d00
Use fmt::unwrap
2023-09-02 08:39:52 +02:00
Dario Nieuwenhuis
7b3cb2ce04
Merge pull request #1802 from avlec/error-translation
...
Add error translation to tcp errors
2023-08-18 21:58:27 +00:00
Alec Cox
eb05a18c45
add error translation to tcp errors
...
Translation of tpc client ConnectError and Error to the appropriate
embedded_io_async errors
2023-08-18 14:43:44 -07:00
Scott Mabin
b1ef009c6b
Add tcp capacity impls
2023-08-15 15:31:23 +01:00
Scott Mabin
fbec797d64
embassy-net:tcp:send/recv
...
- Add async versions of smoltcp's `send` and `recv` closure based API.
2023-08-14 15:33:02 +01:00
Dario Nieuwenhuis
5d5cd23715
Update to embedded-io 0.5 ( #1752 )
2023-08-07 13:43:09 +02:00
Dario Nieuwenhuis
8a1d3d5c84
Merge branch 'main' into v4-optional
2023-06-08 19:38:15 +02:00
Russ Hewgill
2eb08b2dc9
updated can_recv and may_recv to match the smoltcp functions.
2023-06-06 09:49:38 -07:00
Ruben De Smet
e871324bde
net: StaticV4 config behind proto-ipv4
2023-06-06 17:58:45 +02:00
Matt Johnston
b20427b2ec
net: Make flush() wait for RST packets from abort()
...
Add docs to note that dropping a TcpSocket early will
prevent the .abort() RST from being sent.
2023-05-25 20:43:36 +08:00
Dario Nieuwenhuis
d07821d851
net: document crate.
2023-05-15 00:56:09 +02:00
Dario Nieuwenhuis
26d7610554
net: do not use smoltcp Instant/Duration in public API.
2023-05-15 00:53:30 +02:00
kbleeke
035de6f3ff
embassy-net: add flush to TcpSocket and TcpWriter as an inherent method
2023-02-22 14:45:17 +01:00
kbleeke
f1a4db44c4
Implement flush for TcpSocket
2023-02-22 13:57:40 +01:00
Ulf Lilleengen
768fe699cf
Pass the correct buffer when creating TcpSocket
2023-01-31 19:36:41 +01:00
Dario Nieuwenhuis
1f033d509a
net: split driver trait to a separate crate.
2022-12-26 04:49:08 +01:00
Dario Nieuwenhuis
5655c6093f
net: use atomic-polyfill on tcp client pool, for thumbv6m support.
2022-12-26 03:34:05 +01:00
Dario Nieuwenhuis
10c9cc31b1
Remove unnecessary use of atomic-polyfill.
...
Only use it when CAS is actually needed.
2022-12-23 20:46:49 +01:00
Dario Nieuwenhuis
aaaf5f23a8
net: move stack into lib.rs
2022-12-13 16:18:39 +01:00
Dario Nieuwenhuis
ac74613b5a
net: remove packet pool.
...
The pool was prone to deadlocks, especially due to having a single pool
for rx+tx. If the pool got full with rx'd packets it would deadlock because
processing a rx packet requires doing another allocation on the pool, for
the possibly tx'd response, before deallocating the rx'd packet.
This also allows Device impls to allocate the packet memory in a particular
RAM kind, if needed for example to do DMA.
The `Device` trait is now token-based, like smoltcp's. In the end, this
is better because it allows callers to manage memory however they want (including
with a pool if they want to).
2022-12-13 16:18:39 +01:00
Dario Nieuwenhuis
f7fe0c1441
net: update smoltcp
2022-12-07 00:28:38 +01:00
Dario Nieuwenhuis
02abe00439
net: don't use UnsafeCell.
...
The "must not be called reentrantly" invariant is too "global" to
maintain comfortably, and the cost of the RefCell is negligible,
so this was a case of premature optimization.
2022-12-03 00:56:16 +01:00
Dario Nieuwenhuis
1e2fb0459d
Switch to async-fn-in-trait
2022-11-25 21:02:06 +01:00
Dario Nieuwenhuis
eeb072d9cb
Update Rust nightly.
2022-10-26 16:47:29 +02:00
Dario Nieuwenhuis
a0487380da
Replace futures::future::poll_fn -> core::future::poll_fn.
2022-09-22 16:42:49 +02:00
Dario Nieuwenhuis
464ae67108
net: feature-gate nightly-only async traits to allow building on stable.
2022-08-30 19:43:32 +02:00