diff --git a/network/src/network.rs b/network/src/network.rs index a4d31b4df7..853deff2f9 100644 --- a/network/src/network.rs +++ b/network/src/network.rs @@ -1538,6 +1538,7 @@ pub enum TransportType { Wss, } +#[allow(dead_code)] pub(crate) fn find_type(addr: &Multiaddr) -> TransportType { let mut iter = addr.iter(); diff --git a/network/src/peer_store/mod.rs b/network/src/peer_store/mod.rs index 1afb65f6e4..fbaa94bc13 100644 --- a/network/src/peer_store/mod.rs +++ b/network/src/peer_store/mod.rs @@ -18,6 +18,7 @@ pub mod types; pub(crate) use crate::Behaviour; pub use crate::SessionType; use p2p::multiaddr::{Multiaddr, Protocol}; +pub use peer_store_db::dump_to_idb; pub use peer_store_impl::PeerStore; pub(crate) use peer_store_impl::required_flags_filter; diff --git a/network/src/peer_store/peer_store_db.rs b/network/src/peer_store/peer_store_db.rs index c03296a4ce..81c2701af5 100644 --- a/network/src/peer_store/peer_store_db.rs +++ b/network/src/peer_store/peer_store_db.rs @@ -194,30 +194,34 @@ impl PeerStore { move_file(tmp_ban_list, path.as_ref().join(DEFAULT_BAN_LIST_DB))?; Ok(()) } +} - #[cfg(target_family = "wasm")] - pub fn dump_to_idb>(&self, path: P) -> impl std::future::Future { - use crate::peer_store::browser::get_db; - let ban_list = self.ban_list().dump_data(); - let addr_manager = self.addr_manager().dump_data(); - let addr_manager_path = path - .as_ref() - .join(DEFAULT_ADDR_MANAGER_DB) - .to_str() - .unwrap() - .to_owned(); - let ban_list_path = path - .as_ref() - .join(DEFAULT_BAN_LIST_DB) - .to_str() - .unwrap() - .to_owned(); - async { - let db = get_db(path).await; +#[cfg(target_family = "wasm")] +pub fn dump_to_idb>( + ban_list: Vec, + addr_manager: Vec, + path: P, +) -> impl std::future::Future { + use crate::peer_store::browser::get_db; + // let ban_list = self.ban_list().dump_data(); + // let addr_manager = self.addr_manager().dump_data(); + let addr_manager_path = path + .as_ref() + .join(DEFAULT_ADDR_MANAGER_DB) + .to_str() + .unwrap() + .to_owned(); + let ban_list_path = path + .as_ref() + .join(DEFAULT_BAN_LIST_DB) + .to_str() + .unwrap() + .to_owned(); + async { + let db = get_db(path).await; - let _ignore = db.put(addr_manager_path.into_bytes(), addr_manager).await; - let _ignore = db.put(ban_list_path.into_bytes(), ban_list).await; - } + let _ignore = db.put(addr_manager_path.into_bytes(), addr_manager).await; + let _ignore = db.put(ban_list_path.into_bytes(), ban_list).await; } } diff --git a/network/src/services/dump_peer_store.rs b/network/src/services/dump_peer_store.rs index c0916b8c4f..d4a16510f6 100644 --- a/network/src/services/dump_peer_store.rs +++ b/network/src/services/dump_peer_store.rs @@ -40,7 +40,9 @@ impl DumpPeerStoreService { fn dump_peer_store(&self) { let path = self.network_state.config.peer_store_path(); self.network_state.with_peer_store_mut(|peer_store| { - let task = peer_store.dump_to_idb(path); + let ban_list = peer_store.ban_list().dump_data(); + let addr_manager = peer_store.addr_manager().dump_data(); + let task = crate::peer_store::dump_to_idb(ban_list, addr_manager, path); p2p::runtime::spawn(task) }); }