Roy Buitenhuis
46b437dea0
Wait for waker when no data is available on UDP socket.
2023-03-15 13:56:40 +01:00
Leon Camus
e484cb1b87
refactor: Multicast method modifiers on stack to public
...
revert: udp.rs
2023-03-08 12:37:00 +01:00
Leon Camus
993875e11f
fix: Add qualified imports
2023-03-07 23:52:25 +01:00
Leon Camus
2087561003
lint: Remove unused imports
2023-03-07 23:51:10 +01:00
Leon Camus
b62e3e1d47
lint: Cargo fmt
2023-03-07 23:40:31 +01:00
Leon Camus
c22218c72e
feat: Add multicast to udp socket
2023-03-06 18:43:37 +01:00
kbleeke
d5f88e578c
embassy-net: DNS resolver detects when name is just an IP address and returns immediately
2023-02-25 21:52:15 +01: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
a2b8921ff3
fix: cfg guard for ipv6
2023-02-10 19:38:17 +01:00
Ulf Lilleengen
a7d3ef9122
scope dns operations within a cfged block
2023-02-10 19:00:00 +01:00
Ulf Lilleengen
32c3725631
add waker for DNS slots
2023-02-10 18:44:51 +01:00
Ulf Lilleengen
48dff04d64
Bump max queries
2023-02-10 18:34:21 +01:00
Ulf Lilleengen
472473d8c1
Create slice using ::Owned
2023-02-10 18:32:35 +01:00
Ulf Lilleengen
6e68353a93
attempt removing option
2023-02-10 18:30:17 +01:00
Ulf Lilleengen
7ae47cb1d8
Expose api on Stack and add doc
...
Make it work with smoltcp 0.9
2023-02-10 18:20:50 +01:00
Ulf Lilleengen
cd440a49d6
Rewrite to use a single socket
2023-02-10 17:46:08 +01:00
Ulf Lilleengen
614740a1b2
cargo fmt
2023-02-10 17:45:25 +01:00
Ulf Lilleengen
c203cefe01
Handle cancellation
2023-02-10 17:45:19 +01:00
Ulf Lilleengen
9cfea693ed
Add DNS socket to embassy-net
2023-02-10 17:45:03 +01:00
Dario Nieuwenhuis
5edb3052e6
net: reexport driver crate.
2023-02-08 17:52:02 +01:00
Ulf Lilleengen
768fe699cf
Pass the correct buffer when creating TcpSocket
2023-01-31 19:36:41 +01:00
Ulf Lilleengen
2a0ea52878
add missing copy of icmpv6 checksum
...
add proto-ipv6 feature to stm32h7 example to catch issues in CI
2023-01-24 10:25:37 +01:00
Davide Della Giustina
f38d54a6a6
IPv6 has no checksum
2023-01-24 08:15:22 +00:00
Dario Nieuwenhuis
78c2c1709b
net: update smoltcp.
2023-01-19 14:44:01 +01:00
Dario Nieuwenhuis
570ffab670
net: poll returning false is not an error. No need to repoll.
2023-01-19 14:44:01 +01:00
Paweł Jan Czochański
8f4fae9b36
Add smoltcp dhcp socket configuration
2023-01-19 14:44:01 +01:00
Paweł Jan Czochański
2eae12b7f1
Update smoltcp to the newest master
2023-01-19 14:44:01 +01:00
Dario Nieuwenhuis
4a4b593694
net; allow changing MAC addr at runtime.
2022-12-27 01:04:55 +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
897b72c872
Update Rust nightly.
...
Removes feature(generic_associated_types)
2022-09-22 16:38:14 +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
Dario Nieuwenhuis
21072bee48
split embassy-util
into embassy-futures
, embassy-sync
.
2022-08-22 22:18:13 +02:00
Dario Nieuwenhuis
5daa173ce4
Split embassy-time from embassy-executor.
2022-08-18 01:22:30 +02:00
bors[bot]
6ffca81a38
Merge #880
...
880: Add UDP socket support r=Dirbaio a=arturkow2000
Co-authored-by: Artur Kowalski <artur.kowalski@3mdeb.com>
Co-authored-by: Artur Kowalski <arturkow2000@gmail.com>
2022-08-11 14:17:11 +00:00
Artur Kowalski
ef473827a2
Remove UdpIo struct
...
UdpIo was shared by split sender/receives halves. Since split() API is
no more UdpIo is not needed and its APIs may be moved into UdpSocket.
2022-08-11 15:52:32 +02:00
Dario Nieuwenhuis
0a98f9f48e
net: make TcpIo private.
...
It's just an implementation detail to share code between Socket, Reader, Writer. It wasn't supposed to be public.
2022-08-11 13:58:13 +02:00
Artur Kowalski
b97983242d
Simplify UDP code
...
Drop unneeded APIs: remove impls of embedded_io error traits, remove
flush() and split() methods.
2022-08-11 08:23:18 +02:00
Artur Kowalski
d5ab0d3ebb
Add UDP socket support
2022-08-10 19:40:35 +02:00
Ulf Lilleengen
87401c49b7
Fix formatting
2022-08-09 14:51:32 +02:00
Ulf Lilleengen
80c1551153
Wrap buffers in a single state type
2022-08-09 14:43:55 +02:00