aaaf5f23a8
net: move stack into lib.rs
2022-12-13 16:18:39 +01:00
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
95fdc7c552
fix net README.md
2022-12-13 14:06:37 +08:00
f7fe0c1441
net: update smoltcp
2022-12-07 00:28:38 +01:00
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
3135ad016d
Bump embedded-nal-async to 0.3.0
2022-11-29 12:05:46 +01:00
1e2fb0459d
Switch to async-fn-in-trait
2022-11-25 21:02:06 +01:00
eeb072d9cb
Update Rust nightly.
2022-10-26 16:47:29 +02:00
6718ca3a94
all Cargo.toml: Add license to all crate Cargo.toml files
...
Closes: https://github.com/embassy-rs/embassy/issues/1002
2022-10-07 12:41:56 +02:00
a0487380da
Replace futures::future::poll_fn -> core::future::poll_fn.
2022-09-22 16:42:49 +02:00
897b72c872
Update Rust nightly.
...
Removes feature(generic_associated_types)
2022-09-22 16:38:14 +02:00
5327b9c289
time: add more tick rates, use 1mhz as default.
2022-09-02 00:59:34 +02:00
464ae67108
net: feature-gate nightly-only async traits to allow building on stable.
2022-08-30 19:43:32 +02:00
21072bee48
split embassy-util
into embassy-futures
, embassy-sync
.
2022-08-22 22:18:13 +02:00
ce407474a7
net: update atomic-pool, atomic-polyfill.
2022-08-18 14:45:07 +02:00
5daa173ce4
Split embassy-time from embassy-executor.
2022-08-18 01:22:30 +02:00
68931a36d5
More docserver metadata fix.
2022-08-15 20:42:36 +02:00
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
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
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
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
d5ab0d3ebb
Add UDP socket support
2022-08-10 19:40:35 +02:00
87401c49b7
Fix formatting
2022-08-09 14:51:32 +02:00
80c1551153
Wrap buffers in a single state type
2022-08-09 14:43:55 +02:00
18671b94ba
Implement embedded-nal-async traits for embassy-net
2022-08-08 16:51:34 +02:00
a0f1b0ee01
Split embassy crate into embassy-executor, embassy-util.
2022-07-29 23:40:36 +02:00
948bb93dc2
docs: Add $COMMIT to git srclinks.
2022-06-26 23:55:38 +02:00
1f746e0939
Remove the authors field from Cargo.tomls
...
It currently contains whoever was first to write some code for the crate,
even if many more people have contributed to it later.
The field is "sort of" deprecated, it was made optional recently:
https://rust-lang.github.io/rfcs/3052-optional-authors-field.html
Due the the reasons listed there I believe removing it is better than
setting it to generic fluff like "The Embassy contributors".
2022-06-18 02:16:40 +02:00
88e36a70bd
Update to 2021 edition. ( #820 )
2022-06-18 02:15:48 +02:00
a8703b7598
Run rustfmt.
2022-06-12 22:22:31 +02:00
8b676e65ad
Add embedded-io implementation of ConnectError
2022-06-01 13:48:28 +02:00
39cffdd123
Add reexport for ipv6 types with proto-ipv6
2022-06-01 13:48:09 +02:00
a5aea995a8
WIP embassy-net v2
2022-05-25 19:56:22 +02:00
e3b8e35498
Make embassy-net nightly-only.
...
It's useless without async traits, so juggling the `nightly` feature
around is not worth the pain.
2022-05-19 06:15:01 +02:00
0b2f43c391
net: add split() to tcpsocket
2022-05-19 06:14:05 +02:00
47ceee47d5
Update embedded-io to 0.3
2022-05-19 00:36:18 +02:00
931a137f8c
Replace embassy::io with embedded_io.
2022-05-07 01:45:54 +02:00
a5f5c3a844
net: add functions to get current Eth and IP config
2022-05-02 16:19:34 +02:00
3a3ed27c30
net: Add support for packet pools with size 64 and 128
2022-04-27 21:27:28 +02:00
50e1d257bd
net: change listen() to accept(), which waits until the connection is established.
2022-04-24 04:35:29 +02:00
e5a843dc06
net: auto-enable defmt in smoltcp using namespaced features.
2022-04-13 17:46:27 +02:00
0d3758ad6b
net: make run() noreturn.
2022-04-13 17:27:20 +02:00
aee19185b7
Add more docserver metadata.
2022-04-05 21:05:09 +02:00
e95b96f3a4
Use smoltcp 0.8.0 from crates.io.
2021-12-12 15:32:36 +01:00
5d502ec0af
Fix missing flush for tcp
2021-12-10 14:38:28 +11:00
d6f3b479df
Use smoltcp revision from its master branch.
2021-12-09 12:15:32 +01:00
a802fd83aa
Fix embassy-net documentation of running examples.
2021-12-06 14:59:15 +01:00
524eed5db5
Update smoltcp, fix build issues with no ethernet.
2021-11-26 21:09:44 +01:00
c257893da9
net: update smoltcp
2021-11-26 04:12:14 +01:00
c2da498263
Update to defmt 3.0ish.
...
Lots of gitrevs deps.
2021-11-15 11:09:08 -05:00