cleanup
This commit is contained in:
parent
db138f5123
commit
5484140688
@ -161,12 +161,12 @@ async fn idle(
|
||||
break Ok(Some(IdleResult::Disconnect { packet }))
|
||||
}
|
||||
},
|
||||
_ = sleep(send_next_ping_in) => {
|
||||
() = sleep(send_next_ping_in) => {
|
||||
trace!("sending ping");
|
||||
writer.write_all(bytemuck::bytes_of(& Header { kind: PacketKind::Ping.raw(), length: 0 })).await?;
|
||||
last_ping_sent_at = Instant::now();
|
||||
}
|
||||
_ = sleep(next_ping_expected_in) => {
|
||||
() = sleep(next_ping_expected_in) => {
|
||||
|
||||
writer.write_all(REJECT_TIMEOUT).await?;
|
||||
break Ok(None);
|
||||
@ -332,7 +332,8 @@ pub async fn handler(
|
||||
|
||||
let mut packet = Packet::default();
|
||||
|
||||
let Ok(res) = timeout(AUTH_TIMEOUT, packet.recv_into_cancelation_safe(&mut reader)).await else {
|
||||
let Ok(res) = timeout(AUTH_TIMEOUT, packet.recv_into_cancelation_safe(&mut reader)).await
|
||||
else {
|
||||
writer.write_all(REJECT_TIMEOUT).await?;
|
||||
return Ok(());
|
||||
};
|
||||
@ -373,18 +374,21 @@ pub async fn handler(
|
||||
packet.data.clear();
|
||||
packet.send(&mut writer).await?;
|
||||
|
||||
let Some(idle_result) = idle(
|
||||
listener,
|
||||
packet,
|
||||
&mut reader,
|
||||
&mut writer,
|
||||
).await? else {
|
||||
let Some(idle_result) = idle(listener, packet, &mut reader, &mut writer).await? else {
|
||||
return Ok(());
|
||||
};
|
||||
|
||||
let Some((mut caller, mut packet)) = notify_or_disconnect(idle_result, handler_metadata, port_handler, port, &mut writer).await? else {
|
||||
let Some((mut caller, mut packet)) = notify_or_disconnect(
|
||||
idle_result,
|
||||
handler_metadata,
|
||||
port_handler,
|
||||
port,
|
||||
&mut writer,
|
||||
)
|
||||
.await?
|
||||
else {
|
||||
return Ok(());
|
||||
};
|
||||
};
|
||||
|
||||
let notify_at = Instant::now();
|
||||
|
||||
@ -395,9 +399,9 @@ pub async fn handler(
|
||||
);
|
||||
|
||||
let Ok(res) = recv.await else {
|
||||
writer.write_all(REJECT_TIMEOUT).await?;
|
||||
return Ok(());
|
||||
};
|
||||
writer.write_all(REJECT_TIMEOUT).await?;
|
||||
return Ok(());
|
||||
};
|
||||
res?;
|
||||
|
||||
match packet.kind() {
|
||||
|
@ -34,7 +34,7 @@ impl<T: Send + 'static, Fut: Future<Output = T> + Send + 'static> Executor<Fut>
|
||||
|
||||
const COMPRESSED_HTML: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/minified.html.gz"));
|
||||
|
||||
async fn index(req: &Request<Body>) -> Result<Response<Body>, hyper::http::Error> {
|
||||
fn index(req: &Request<Body>) -> Result<Response<Body>, hyper::http::Error> {
|
||||
let response = Response::builder();
|
||||
|
||||
let accepts_gzip = req
|
||||
@ -160,7 +160,7 @@ pub async fn debug_server(
|
||||
|
||||
async move {
|
||||
match (req.method(), req.uri().path()) {
|
||||
(&Method::GET, "/") => index(&req).await,
|
||||
(&Method::GET, "/") => index(&req),
|
||||
(&Method::GET, "/data") => data(&req, port_handler).await,
|
||||
(&Method::GET, "/events") => events(&req, change_receiver),
|
||||
_ => Response::builder()
|
||||
|
@ -337,7 +337,7 @@ async fn tokio_main(config: Arc<Config>) -> eyre::Result<()> {
|
||||
let (change_sender, change_receiver) = tokio::sync::watch::channel(std::time::Instant::now());
|
||||
|
||||
let mut port_handler = PortHandler::load_or_default(&cache_path, change_sender);
|
||||
port_handler.update_allowed_ports(&config.allowed_ports);
|
||||
port_handler.update_allowed_ports(config.allowed_ports.clone());
|
||||
|
||||
let port_handler = Arc::new(Mutex::new(port_handler));
|
||||
|
||||
|
@ -173,6 +173,8 @@ impl AllowedList {
|
||||
}
|
||||
|
||||
impl PortHandler {
|
||||
/// # Panics
|
||||
/// If the the `change_sender` could not be notified
|
||||
pub fn register_update(&mut self) {
|
||||
let now = std::time::Instant::now();
|
||||
self.last_update = Some(now);
|
||||
@ -242,10 +244,10 @@ impl PortHandler {
|
||||
this
|
||||
}
|
||||
|
||||
pub fn update_allowed_ports(&mut self, allowed_ports: &AllowedList) {
|
||||
pub fn update_allowed_ports(&mut self, allowed_ports: AllowedList) {
|
||||
self.register_update();
|
||||
|
||||
self.allowed_ports = allowed_ports.clone();
|
||||
self.allowed_ports = allowed_ports;
|
||||
|
||||
self.free_ports.clear(); // remove all ports
|
||||
self.free_ports
|
||||
@ -338,7 +340,7 @@ impl Debug for Rejector {
|
||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||
f.debug_struct("Rejector")
|
||||
.field("message", &self.state.1)
|
||||
.finish()
|
||||
.finish_non_exhaustive()
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user