From a1cd7aed1086c777efdb53f54ab3260ee076e08b Mon Sep 17 00:00:00 2001 From: hosted-fornet Date: Thu, 16 May 2024 17:55:13 -0700 Subject: [PATCH 1/2] vfs: remove unused select --- kinode/src/vfs.rs | 95 +++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 48 deletions(-) diff --git a/kinode/src/vfs.rs b/kinode/src/vfs.rs index 6dba6cfb6..b0cfc9847 100644 --- a/kinode/src/vfs.rs +++ b/kinode/src/vfs.rs @@ -31,57 +31,56 @@ pub async fn vfs( HashMap::new(); loop { - tokio::select! { - Some(km) = recv_from_loop.recv() => { - if our_node.clone() != km.source.node { - println!( - "vfs: request must come from our_node={}, got: {}", - our_node, - km.source.node, - ); - continue; - } - - let queue = process_queues - .entry(km.source.process.clone()) - .or_insert_with(|| Arc::new(Mutex::new(VecDeque::new()))) - .clone(); - + let Some(km) = recv_from_loop.recv().await else { + continue; + }; + if our_node.clone() != km.source.node { + println!( + "vfs: request must come from our_node={}, got: {}", + our_node, + km.source.node, + ); + continue; + } + + let queue = process_queues + .entry(km.source.process.clone()) + .or_insert_with(|| Arc::new(Mutex::new(VecDeque::new()))) + .clone(); + + { + let mut queue_lock = queue.lock().await; + queue_lock.push_back(km.clone()); + } + + // clone Arcs + let our_node = our_node.clone(); + let send_to_caps_oracle = send_to_caps_oracle.clone(); + let send_to_terminal = send_to_terminal.clone(); + let send_to_loop = send_to_loop.clone(); + let open_files = open_files.clone(); + let vfs_path = vfs_path.clone(); + + tokio::spawn(async move { + let mut queue_lock = queue.lock().await; + if let Some(km) = queue_lock.pop_front() { + if let Err(e) = handle_request( + our_node.clone(), + km.clone(), + open_files.clone(), + send_to_loop.clone(), + send_to_terminal.clone(), + send_to_caps_oracle.clone(), + vfs_path.clone(), + ) + .await { - let mut queue_lock = queue.lock().await; - queue_lock.push_back(km.clone()); + let _ = send_to_loop + .send(make_error_message(our_node.clone(), km.id, km.source, e)) + .await; } - - // clone Arcs - let our_node = our_node.clone(); - let send_to_caps_oracle = send_to_caps_oracle.clone(); - let send_to_terminal = send_to_terminal.clone(); - let send_to_loop = send_to_loop.clone(); - let open_files = open_files.clone(); - let vfs_path = vfs_path.clone(); - - tokio::spawn(async move { - let mut queue_lock = queue.lock().await; - if let Some(km) = queue_lock.pop_front() { - if let Err(e) = handle_request( - our_node.clone(), - km.clone(), - open_files.clone(), - send_to_loop.clone(), - send_to_terminal.clone(), - send_to_caps_oracle.clone(), - vfs_path.clone(), - ) - .await - { - let _ = send_to_loop - .send(make_error_message(our_node.clone(), km.id, km.source, e)) - .await; - } - } - }); } - } + }); } } From 3d4aa522de331e9cc283922c507943fddfb3d86e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 00:55:52 +0000 Subject: [PATCH 2/2] Format Rust code using rustfmt --- kinode/src/vfs.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kinode/src/vfs.rs b/kinode/src/vfs.rs index b0cfc9847..50b6a5e17 100644 --- a/kinode/src/vfs.rs +++ b/kinode/src/vfs.rs @@ -37,8 +37,7 @@ pub async fn vfs( if our_node.clone() != km.source.node { println!( "vfs: request must come from our_node={}, got: {}", - our_node, - km.source.node, + our_node, km.source.node, ); continue; }