Commit Graph

272 Commits

Author SHA1 Message Date
Anthony Grondin
70214fc2c2
feat(embassy-net): Implement TcpReader::wait_read_ready() + TcpWriter::wait_send_ready() 2024-10-31 22:25:48 -04:00
Frostie314159
117d091ea1
Made import private again. 2024-10-30 12:30:48 +01:00
Frostie314159
28b1e0a98b
Reexported some smoltcp types for raw socket. 2024-10-29 23:05:50 +01:00
Dario Nieuwenhuis
c94c5516d1
net: automatically enable defmt/ip_in_core 2024-10-22 03:34:18 +02: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
Fan Jiang
b4ee17fb4f net: Add flush for UDP and Raw sockets. 2024-10-21 01:59:31 +02: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
Anthony Grondin
ae5b78b27a
feat(embassy-net): Implement wait_recv_ready() + wait_send_ready() for UdpSocket
- Provides `pub async fn wait_recv_ready(&self) -> ()` and `pub fn poll_recv_ready(&self, cx: &mut Context<'_>) -> Poll<()>`.
This allows polling / waiting on a socket until it can be read, without dequeuing any packets.

- Provides `pub async fn wait_send_ready(&self) -> ()` and `pub fn poll_send_ready(&self, cx: &mut Context<'_> -> Poll<()>`
This allows polling / waiting on a socket until it becomes writable.
2024-09-24 22:01:49 -04:00
Dario Nieuwenhuis
bee53af36a net: add all combinations of wait methods for link/config up/down. 2024-09-18 21:37:42 +02:00
Dario Nieuwenhuis
be0d9775e3 net: refactor to simplify lifetimes/generics. 2024-09-16 21:17:11 +02:00
Dario Nieuwenhuis
aff1e74862
Merge pull request #3277 from dvdsk/main
embassy-net/read document return value Ok(0)
2024-09-10 21:34:11 +00:00
Cirrus
9b142bd80f feat(embassy-net): add zero-copy UDP send/recv functions
Added recv_from_with and send_to_with. These are conceptually similar
to TCP's read_with and write_with functions.

An application can parse received datagrams directly out of the
receive buffer or assemble a datagram of known-length directly into
the send buffer.
2024-08-25 13:14:36 -07: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
Anthony Grondin
d6bf4c45d2
feat(mdns): Enable mdns support through smoltcp 2024-08-16 22:56:32 -04:00
Dario Nieuwenhuis
7a26e117cc
Merge pull request #3198 from sammhicks/main
net/tcp: fix flush() waiting forever if socket is reset with pending write data
2024-08-13 17:45:09 +00:00
Dario Nieuwenhuis
59cb1531c9 examples: ensure at least 3 sockets to avoid running out (DHCP, DNS, the user's) 2024-08-07 14:58:20 +02:00
Ulf Lilleengen
44282b18fa Prepare embassy-time release 2024-08-05 08:56:29 +02:00
Dario Nieuwenhuis
e89ff7d129
Merge pull request #3219 from mirkomartn/bound-dns-servers
embassy-net: dns: bound the dns_servers slice
2024-07-29 21:36:35 +00:00
Gasper Stukelj
c5d077a2c6 embassy-net: dns: bound the dns_servers slice
`smoltcp::socket::dns::Socket::update_servers()` will
panic if a slice exceeding a fixed length is passed
to it. This is can be especially inconvenient when
using DHCP config.

Avoid panicking by using at most `DNS_MAX_SERVER_COUNT`
DNS servers from the config.
2024-07-29 23:24:44 +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
Dario Nieuwenhuis
f32b711e4a
Merge pull request #3186 from MathiasKoch/embassy-net/socket-timeout
(embassy-net): Allow setting socket timeout for embedded-nal TcpClient
2024-07-18 11:49:59 +00:00
Dario Nieuwenhuis
14de5e5a3c
Merge pull request #3191 from mirkomartn/fix-doc
embassy-net: fix minor typo in doc
2024-07-18 11:49:38 +00:00
Gasper Stukelj
dc84b4f45a embassy-net: fix minor typo in doc 2024-07-18 13:37:47 +02:00
Tarun Singh
a716a3f006 Reduced define for 'unreachable!' to a single macro rule 2024-07-17 17:05:52 -04: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
Eli Hastings
b7dd04e3b1
Fix typo in README 2024-06-24 10:59:43 +01:00
Dario Nieuwenhuis
6a4ac5bd60 Add collapse_debuginfo to fmt.rs macros.
This makes location info in defmt logs point to the code calling the macro,
instead of always to fmt.rs as before. Fix works with nightlies
starting with today's, and stable 1.81+.
2024-06-17 01:38:57 +02:00
Aurélien Jacobs
7f3805437c dns: properly handle AddrType::Either in get_host_by_name() 2024-06-11 11:39:07 +02:00
Philip Reimer
673d11f49f add send_queue and recv_queue 2024-06-05 15:28:18 -06:00
Ulf Lilleengen
30918c355b prepare for embassy-time 0.3.1 release 2024-06-04 09:02:41 +02:00
Ulf Lilleengen
cf0d227cca Prepare for embassy-sync 0.6.0 release 2024-05-29 12:09:55 +02:00
davidskula
87aca974b1 impl ReadReady for tcp call can_recv() insted of may_recv() 2024-05-07 16:07:00 +02:00
onestacked
1da9e326bb Removes some unused dependencies in embedded-net. 2024-05-05 19:43:35 +02:00
Dario Nieuwenhuis
5732ee7ca9 Reduce use of the full futures crate. 2024-04-26 23:22:25 +02:00
chrysn
49435f79b3 fixup! net/udp: Relay full UdpMetadata instead of only remote endpoint in poll_ functions 2024-04-19 15:54:56 +02:00
chrysn
2c7c39d1db fixup! net/udp: Relay full UdpMetadata instead of only remote endpoint in poll_ functions 2024-04-19 15:51:27 +02:00
chrysn
e6bf6c7a49 Merge branch 'main' into prep-embedded-nal-async-udp 2024-04-19 15:22:57 +02:00
chrysn
8fe88847d8 fixup! net/udp: Relay full UdpMetadata instead of only remote endpoint in poll_ functions 2024-04-15 10:02:35 +02:00
Vega Deftwing
9053b6b5b3 Fix spelling and white space mistakes 2024-04-11 19:45:38 +00:00
Gustav Toft
b578d3e645 Removed generic type parameter. 2024-04-11 10:34:17 +02:00
Gustav Toft
ec0896037a Removed Result for send and poll_send. 2024-04-11 08:29:06 +02:00
Gustav Toft
6663be0b36 Fixed commented issues. 2024-04-10 09:07:20 +02:00
chrysn
7f1bedcee0 net/udp: Relay full UdpMetadata instead of only remote endpoint in poll_ functions
This is a breaking change for users of the poll_ functions. (Some might
not notice if they already pass in an IpEndpoint into poll_send_to, or
discard that item in poll_recv_from).
2024-04-08 11:59:21 +02:00
Gustav Toft
a373633d0d Merge branch 'main' of https://github.com/GustavToft/embassy 2024-04-04 15:52:44 +02:00