Extendex DHT info

This commit is contained in:
Ultradesu
2026-07-21 20:10:37 +03:00
parent da5d2410ac
commit 6c808aea5c
4 changed files with 13 additions and 3 deletions
Generated
-2
View File
@@ -1493,7 +1493,6 @@ dependencies = [
[[package]]
name = "federation-net"
version = "0.1.0"
source = "git+https://gt.hexor.cy/ab/frid.git#8ee1db9cf89ea604c6b8a8c3fe089a714c1e321f"
dependencies = [
"blake3",
"data-encoding",
@@ -3027,7 +3026,6 @@ dependencies = [
[[package]]
name = "music-dht"
version = "0.1.0"
source = "git+https://gt.hexor.cy/ab/frid.git#8ee1db9cf89ea604c6b8a8c3fe089a714c1e321f"
dependencies = [
"async-trait",
"blake3",
+1 -1
View File
@@ -18,7 +18,7 @@ image = { version = "0.25.10", default-features = false, features = ["jpeg", "pn
lofty = "0.22"
# P2P federation: library index in a shared DHT + audio streaming between
# peers (same protocol as furumi-fd).
music-dht = { git = "https://gt.hexor.cy/ab/frid.git" }
music-dht = { path = "../frid/crates/music-dht" }
ratatui = "0.30.1"
rodio = { version = "0.22.2", default-features = false, features = ["playback", "mp3", "flac", "vorbis", "wav", "symphonia-aac", "symphonia-isomp4", "symphonia-alac"] }
rusqlite = { version = "0.32", features = ["bundled", "functions"] }
+4
View File
@@ -149,8 +149,10 @@ pub struct FedStatus {
pub running: bool,
pub network: String,
pub endpoint_id: String,
pub dht_node_id: String,
pub connected_peers: Vec<String>,
pub known_contacts: usize,
pub stored_dht_records: Option<usize>,
pub published_items: usize,
pub last_sync: Option<String>,
pub last_error: Option<String>,
@@ -509,12 +511,14 @@ impl Federation {
status.running = true;
status.network = running.network_name.clone();
status.endpoint_id = service.endpoint_id().to_string();
status.dht_node_id = service.node_id().to_string();
status.connected_peers = service
.connected_peers()
.iter()
.map(|p| p.to_string())
.collect();
status.known_contacts = service.known_peers().len();
status.stored_dht_records = service.dht_record_count().await.ok();
status.published_items = service
.list_local_items()
.await
+8
View File
@@ -109,6 +109,7 @@ fn draw_status(frame: &mut Frame, area: Rect, state: &AppState) {
lines.push(status_line("Node", "running".to_string()));
lines.push(status_line("Network", status.network.clone()));
lines.push(status_line("Endpoint ID", status.endpoint_id.clone()));
lines.push(status_line("DHT node ID", status.dht_node_id.clone()));
let peers = if status.connected_peers.is_empty() {
"none yet".to_string()
} else {
@@ -121,6 +122,13 @@ fn draw_status(frame: &mut Frame, area: Rect, state: &AppState) {
"Known contacts",
status.known_contacts.to_string(),
));
lines.push(status_line(
"Stored DHT records",
status
.stored_dht_records
.map(|count| count.to_string())
.unwrap_or_else(|| "unavailable".to_string()),
));
lines.push(status_line(
"Published items",
status.published_items.to_string(),