refactor: replace blocking std::fs and TCP I/O with async tokio equivalents
- R6: Convert 6 std::fs calls in session.rs to tokio::fs async - R7: Convert std::fs::read_to_string in docker_packages.rs to async - R8: Convert 3 std::fs calls in port_allocator.rs to async, switch to tokio::sync::Mutex - R9+R10+R11: Fix blocking I/O in node_message.rs and nostr_discovery.rs - R12: Convert electrs_status.rs from sync TCP to async tokio::net with 5s timeouts - R4+R5: Spawn periodic cleanup tasks for endpoint and login rate limiters Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
1d98de24d0
commit
2443ae6bba
@@ -42,7 +42,7 @@ impl Server {
|
||||
data.server_info.name = Some(name);
|
||||
}
|
||||
}
|
||||
data.server_info.tor_address = docker_packages::read_tor_address("archipelago");
|
||||
data.server_info.tor_address = docker_packages::read_tor_address("archipelago").await;
|
||||
if let Some(ref tor) = data.server_info.tor_address {
|
||||
data.server_info.node_address = Some(identity.node_address(tor));
|
||||
}
|
||||
@@ -403,7 +403,7 @@ async fn create_docker_scanner(config: &Config) -> Result<DockerPackageScanner>
|
||||
}
|
||||
|
||||
async fn refresh_tor_address(state: &StateManager, identity: &NodeIdentity) -> Result<()> {
|
||||
let tor_addr = docker_packages::read_tor_address("archipelago");
|
||||
let tor_addr = docker_packages::read_tor_address("archipelago").await;
|
||||
let (current_data, _) = state.get_snapshot().await;
|
||||
if tor_addr != current_data.server_info.tor_address {
|
||||
let mut data = current_data;
|
||||
@@ -426,7 +426,7 @@ async fn scan_and_update_packages(
|
||||
|
||||
let (current_data, _) = state.get_snapshot().await;
|
||||
let packages_changed = !packages.is_empty() && current_data.package_data != packages;
|
||||
let tor_addr = docker_packages::read_tor_address("archipelago");
|
||||
let tor_addr = docker_packages::read_tor_address("archipelago").await;
|
||||
let tor_changed = tor_addr != current_data.server_info.tor_address;
|
||||
let first_scan = !current_data.server_info.status_info.containers_scanned;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user