You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Using edge-net with esp-wifi and embassy-net, I'm noticing the following behaviour; When I make a curl request, without any closing headers, (Connection: Close), my client (curl) sends a [FIN, ACK] at the end of an HTTP request, which is acknowledged by an ACK from my esp32 but then the handler isn't freed and only is freed when the timeout is reached.
Here's a Wireshark log of a connection using curl, without any closing headers in the HTTP request:
Client: 192.168.11.50
Esp32: 192.168.11.1
The issue is that the handler, which hasn't been liberated, isn't re-used if I immediately send another request with the same client, as it can be observed in the following logs:
INFO - [0] GET / HTTP/1.1
INFO - 200 OK: /
INFO - [1] GET / HTTP/1.1
INFO - 200 OK: /
INFO - Handler task 0: Closing connection due to inactivity
INFO - Handler task 1: Closing connection due to inactivity
Excerpts of my Cargo.toml:
esp-hal = { version = "0.23.1", features = ["unstable"] }
esp-wifi = { version = "0.12.0", features = ["wifi", "serde"] }
embassy-net = { version = "0.6.0", features = [
"tcp",
"udp",
"dhcpv4",
"dhcpv4-hostname",
"dns",
"medium-ethernet",
] }
smoltcp = { version = "0.12.0", default-features = false, features = [
"multicast",
"proto-ipv4",
"socket-tcp",
"socket-icmp",
"socket-udp",
"medium-ethernet",
"proto-dhcpv4",
"socket-raw",
"socket-dhcpv4",
"dns-max-server-count-2",
] }
edge-nal-embassy = "0.5.0"edge-http = "0.5.0"
My server:
asyncfnhttp_server(stack:&'static edge_nal_embassy::Tcp<'static,2,4096,4096>,) -> Result<(), edge_http::io::Error<TcpError>>{let addr = "0.0.0.0:80";let acceptor = stack.bind(addr.parse().unwrap()).await.unwrap();letmut server = Server::<2,4096,16>::new();
server
.run(Some(15*1000),
acceptor,Handler,).await}
The text was updated successfully, but these errors were encountered:
Using
edge-net
withesp-wifi
andembassy-net
, I'm noticing the following behaviour; When I make a curl request, without any closing headers, (Connection: Close
), my client (curl) sends a[FIN, ACK]
at the end of an HTTP request, which is acknowledged by anACK
from my esp32 but then the handler isn't freed and only is freed when the timeout is reached.Here's a Wireshark log of a connection using curl, without any closing headers in the HTTP request:
The issue is that the handler, which hasn't been liberated, isn't re-used if I immediately send another request with the same client, as it can be observed in the following logs:
Excerpts of my Cargo.toml:
My server:
The text was updated successfully, but these errors were encountered: