Commit Graph

205 Commits

Author SHA1 Message Date
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
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
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
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
davidskula
87aca974b1 impl ReadReady for tcp call can_recv() insted of may_recv() 2024-05-07 16:07:00 +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
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
Gustav Toft
0427c442ea Implement raw sockets in embassy-net 2024-04-04 15:51:25 +02:00
Dario Nieuwenhuis
3d842dac85 fmt: disable "unused" warnings. 2024-03-20 14:53:19 +01: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
Dario Nieuwenhuis
01b0af5a84 net: add packet-trace feature. 2024-01-10 14:06:15 +01:00
Scott Mabin
f85898771b New embassy-net release 2024-01-04 16:06:59 +00:00
swanandx
4a59fbdedc feat: impl ReadReady and WriteReady for tcp 2024-01-03 18:17:04 +05:30
Loïc Damien
d32fe0ccdc Add set_hop_limit to UDP sockets 2023-12-28 22:15:16 +01:00
Dario Nieuwenhuis
f625f6b893 Upgrade to smoltcp v0.11. 2023-12-23 21:05:26 +01:00
Barnaby Walters
d63590cb61 [embassy-net] Auto-documented feature flags 2023-12-22 23:20:43 +01:00
Ulf Lilleengen
0acf7b09c3 chore: replace make_static! macro usage with non-macro version 2023-12-21 10:29:57 +01:00
Dario Nieuwenhuis
c6989dfbca Remove nightly and unstable-traits features in preparation for 1.75. 2023-11-29 17:26:33 +01:00
Stephan Wolski
be17e1b363
populate medium in DriverAdapter struct in IGMP code 2023-11-19 17:11:56 -05:00
Emil Fresk
fd670a9ae5 Use smoltcp constant in results from DNS 2023-11-14 08:50:51 +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
Dániel Buga
ad07ea0290 Re-add impl_trait_projections 2023-10-30 19:10:45 +01:00
Gabriel Górski
18c9bcd44a net: Reset DHCP socket when the link up is detected
Previously, because DHCP DISCOVER is sent before the link is
established, socket has to timeout first. Which takes extra 10 s.

Now if the state of the link changed to up, socket is explicitly reset
so the DISCOVER is repeated much earlier and DHCP configuration is
acquired much faster.
2023-10-23 11:07:21 +02:00