diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-06-01 18:09:51 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-06-01 18:09:51 +0000 |
| commit | dbff4779eb4c8950cd1dd1689f95646762c6dc55 (patch) | |
| tree | 507dc2cf5025949cfa23478becc2735783764874 | |
| parent | 0adb4c926b15f9773fb83497a7bf1eb3789286da (diff) | |
| parent | 8b676e65ade55b740062dcd534088196fb275dad (diff) | |
Merge #789
789: Embassy net improvements r=lulf a=lulf
I found these useful while implementing the TcpClient traits for embedded-nal-async:
https://github.com/drogue-iot/drogue-device/blob/shared-tcp-stack/device/src/drivers/tcp/smoltcp.rs
Once e-n-a PR is merged, I might add the above client to embassy-net if you think it makes sense.
Co-authored-by: Ulf Lilleengen <[email protected]>
| -rw-r--r-- | embassy-net/Cargo.toml | 1 | ||||
| -rw-r--r-- | embassy-net/src/lib.rs | 3 | ||||
| -rw-r--r-- | embassy-net/src/tcp.rs | 6 |
3 files changed, 10 insertions, 0 deletions
diff --git a/embassy-net/Cargo.toml b/embassy-net/Cargo.toml index 4692c01cb..87982a726 100644 --- a/embassy-net/Cargo.toml +++ b/embassy-net/Cargo.toml | |||
| @@ -22,6 +22,7 @@ defmt = ["dep:defmt", "smoltcp/defmt"] | |||
| 22 | tcp = ["smoltcp/socket-tcp"] | 22 | tcp = ["smoltcp/socket-tcp"] |
| 23 | dns = ["smoltcp/socket-dns"] | 23 | dns = ["smoltcp/socket-dns"] |
| 24 | dhcpv4 = ["medium-ethernet", "smoltcp/socket-dhcpv4"] | 24 | dhcpv4 = ["medium-ethernet", "smoltcp/socket-dhcpv4"] |
| 25 | proto-ipv6 = ["smoltcp/proto-ipv6"] | ||
| 25 | medium-ethernet = ["smoltcp/medium-ethernet"] | 26 | medium-ethernet = ["smoltcp/medium-ethernet"] |
| 26 | medium-ip = ["smoltcp/medium-ip"] | 27 | medium-ip = ["smoltcp/medium-ip"] |
| 27 | 28 | ||
diff --git a/embassy-net/src/lib.rs b/embassy-net/src/lib.rs index 7b5f29f16..243dfda88 100644 --- a/embassy-net/src/lib.rs +++ b/embassy-net/src/lib.rs | |||
| @@ -23,3 +23,6 @@ pub use smoltcp::time::Instant as SmolInstant; | |||
| 23 | #[cfg(feature = "medium-ethernet")] | 23 | #[cfg(feature = "medium-ethernet")] |
| 24 | pub use smoltcp::wire::{EthernetAddress, HardwareAddress}; | 24 | pub use smoltcp::wire::{EthernetAddress, HardwareAddress}; |
| 25 | pub use smoltcp::wire::{IpAddress, IpCidr, Ipv4Address, Ipv4Cidr}; | 25 | pub use smoltcp::wire::{IpAddress, IpCidr, Ipv4Address, Ipv4Cidr}; |
| 26 | |||
| 27 | #[cfg(feature = "proto-ipv6")] | ||
| 28 | pub use smoltcp::wire::{Ipv6Address, Ipv6Cidr}; | ||
diff --git a/embassy-net/src/tcp.rs b/embassy-net/src/tcp.rs index 2d81e66bd..35ecf1b0c 100644 --- a/embassy-net/src/tcp.rs +++ b/embassy-net/src/tcp.rs | |||
| @@ -259,6 +259,12 @@ impl<'d> TcpIo<'d> { | |||
| 259 | } | 259 | } |
| 260 | } | 260 | } |
| 261 | 261 | ||
| 262 | impl embedded_io::Error for ConnectError { | ||
| 263 | fn kind(&self) -> embedded_io::ErrorKind { | ||
| 264 | embedded_io::ErrorKind::Other | ||
| 265 | } | ||
| 266 | } | ||
| 267 | |||
| 262 | impl embedded_io::Error for Error { | 268 | impl embedded_io::Error for Error { |
| 263 | fn kind(&self) -> embedded_io::ErrorKind { | 269 | fn kind(&self) -> embedded_io::ErrorKind { |
| 264 | embedded_io::ErrorKind::Other | 270 | embedded_io::ErrorKind::Other |
