Skip to content

Commit 88042de

Browse files
Use patched version of edge-net and embassy-executor
- Use the current HEAD of edge-net for the lifetimes fix in edge-http - Use a patched version for embassy-executor before 0.6.0 was yanked.
1 parent 1873abf commit 88042de

File tree

2 files changed

+26
-30
lines changed

2 files changed

+26
-30
lines changed

Cargo.toml

+9-4
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ esp-println = { version = "0.12.0", features = ["log"] }
3232
esp-hal-embassy = { version = "0.4.0", optional = true }
3333

3434
embassy-time = { version = "0.3.0", optional = true }
35-
embassy-executor = { version = "0.6.0", package = "embassy-executor", features = [
35+
embassy-executor = { version = "=0.6.0", package = "embassy-executor", features = [
3636
"nightly",
3737
"integrated-timers",
3838
], optional = true }
@@ -149,6 +149,11 @@ edge-server = [
149149

150150
# Patch until new release
151151
[patch.crates-io]
152-
edge-http = { git = "https://github.com/ivmarkov/edge-net", rev = "f90468953aec1d476ba52fe3b63f392a07bb9daa" }
153-
edge-nal = { git = "https://github.com/ivmarkov/edge-net", rev = "f90468953aec1d476ba52fe3b63f392a07bb9daa" }
154-
edge-nal-embassy = { git = "https://github.com/ivmarkov/edge-net", rev = "f90468953aec1d476ba52fe3b63f392a07bb9daa" }
152+
edge-http = { git = "https://github.com/ivmarkov/edge-net", rev = "722f92ac0fffd0cb1e1ce76086cca58df6eb49ee" }
153+
edge-nal = { git = "https://github.com/ivmarkov/edge-net", rev = "722f92ac0fffd0cb1e1ce76086cca58df6eb49ee" }
154+
edge-nal-embassy = { git = "https://github.com/ivmarkov/edge-net", rev = "722f92ac0fffd0cb1e1ce76086cca58df6eb49ee" }
155+
156+
# Patch before 0.6.0 got yanked
157+
embassy-executor = { git = "https://github.com/embassy-rs/embassy", rev = "886580179ff250e15b0fad6448e8ebed6cdabf2b" }
158+
embassy-time-driver = { git = "https://github.com/embassy-rs/embassy", rev = "886580179ff250e15b0fad6448e8ebed6cdabf2b" }
159+
embassy-time-queue-driver = { git = "https://github.com/embassy-rs/embassy", rev = "886580179ff250e15b0fad6448e8ebed6cdabf2b" }

examples/edge_server.rs

+17-26
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use edge_http::io::Error;
1818
use edge_http::Method;
1919
use edge_nal_embassy::{Tcp, TcpBuffers};
2020

21-
use embedded_io_async::{ErrorType, Read, Write};
21+
use embedded_io_async::{Read, Write};
2222

2323
use embassy_net::{Config, Stack, StackResources};
2424

@@ -34,7 +34,7 @@ use esp_wifi::wifi::{
3434
WifiState,
3535
};
3636
use esp_wifi::{init, EspWifiInitFor};
37-
use hal::{peripherals::SHA, prelude::*, rng::Rng, timer::timg::TimerGroup};
37+
use hal::{prelude::*, rng::Rng, timer::timg::TimerGroup};
3838

3939
// Patch until https://github.com/embassy-rs/static-cell/issues/16 is fixed
4040
macro_rules! mk_static {
@@ -144,16 +144,10 @@ async fn main(spawner: Spawner) -> ! {
144144

145145
set_debug(0);
146146

147-
let server = mk_static!(HttpsServer, HttpsServer::new());
148-
let buffers = mk_static!(TcpBuffers<SERVER_SOCKETS, TX_SIZE, RX_SIZE>, TcpBuffers::<SERVER_SOCKETS, TX_SIZE, RX_SIZE>::new());
149-
let tls_buffers = mk_static!(
150-
esp_mbedtls::asynch::TlsBuffers::<RX_SIZE, TX_SIZE>,
151-
esp_mbedtls::asynch::TlsBuffers::<RX_SIZE, TX_SIZE>::new()
152-
);
153-
let tcp = mk_static!(
154-
Tcp<'_, WifiDevice<'_, WifiStaDevice>, SERVER_SOCKETS, TX_SIZE, RX_SIZE>,
155-
Tcp::new(stack, buffers)
156-
);
147+
let mut server = HttpsServer::new();
148+
let buffers = TcpBuffers::<SERVER_SOCKETS, TX_SIZE, RX_SIZE>::new();
149+
let tls_buffers = esp_mbedtls::asynch::TlsBuffers::<RX_SIZE, TX_SIZE>::new();
150+
let tcp = Tcp::new(stack, &buffers);
157151

158152
let certificates = Certificates {
159153
// Use self-signed certificates
@@ -164,16 +158,14 @@ async fn main(spawner: Spawner) -> ! {
164158
..Default::default()
165159
};
166160

167-
let sha = mk_static!(SHA, peripherals.SHA);
168-
169161
loop {
170162
let tls_acceptor = esp_mbedtls::asynch::TlsAcceptor::new(
171-
tcp,
172-
tls_buffers,
163+
&tcp,
164+
&tls_buffers,
173165
443,
174166
TlsVersion::Tls1_2,
175167
certificates,
176-
&mut *sha,
168+
&mut peripherals.SHA,
177169
)
178170
.await
179171
.with_hardware_rsa(&mut peripherals.RSA);
@@ -198,18 +190,17 @@ async fn main(spawner: Spawner) -> ! {
198190

199191
struct HttpHandler;
200192

201-
impl<'b, T, const N: usize> Handler<'b, T, N> for HttpHandler
202-
where
203-
T: Read + Write,
204-
T::Error: Send + Sync,
205-
{
206-
type Error = Error<<T as ErrorType>::Error>;
193+
impl Handler for HttpHandler {
194+
type Error<E> = Error<E> where E: core::fmt::Debug;
207195

208-
async fn handle(
196+
async fn handle<T, const N: usize>(
209197
&self,
210198
_task_id: impl core::fmt::Display + Copy,
211-
connection: &mut Connection<'b, T, N>,
212-
) -> Result<(), Self::Error> {
199+
connection: &mut Connection<'_, T, N>,
200+
) -> Result<(), Self::Error<T::Error>>
201+
where
202+
T: Read + Write,
203+
{
213204
println!("Got new connection");
214205
let headers = connection.headers()?;
215206

0 commit comments

Comments
 (0)