Kaynağa Gözat

make clippy happy again

dasman 2 yıl önce
ebeveyn
işleme
3bbbaa6308

+ 25 - 3
bin/genev/genevd/src/main.rs

@@ -31,7 +31,7 @@ use darkfi::{
     Error, Result,
     Error, Result,
 };
 };
 use log::{debug, error, info};
 use log::{debug, error, info};
-use smol::{lock::RwLock, stream::StreamExt};
+use smol::{fs, lock::RwLock, stream::StreamExt};
 use structopt_toml::{serde::Deserialize, structopt::StructOpt, StructOptToml};
 use structopt_toml::{serde::Deserialize, structopt::StructOpt, StructOptToml};
 use url::Url;
 use url::Url;
 
 
@@ -60,6 +60,14 @@ struct Args {
     #[structopt(long, default_value = "~/.local/darkfi/genev_db")]
     #[structopt(long, default_value = "~/.local/darkfi/genev_db")]
     pub datastore: String,
     pub datastore: String,
 
 
+    #[structopt(short, long, default_value = "~/.local/darkfi/replayed_genev_db")]
+    /// Replay logs (DB) path
+    replay_datastore: String,
+
+    /// replay_mode
+    #[structopt(long)]
+    replay_mode: bool,
+
     #[structopt(short, long)]
     #[structopt(short, long)]
     /// Set log file to ouput into
     /// Set log file to ouput into
     log: Option<String>,
     log: Option<String>,
@@ -102,11 +110,25 @@ async fn realmain(settings: Args, executor: Arc<smol::Executor<'static>>) -> Res
     info!("Instantiating event DAG");
     info!("Instantiating event DAG");
     // Create datastore path if not there already.
     // Create datastore path if not there already.
     let datastore_path = expand_path(&settings.datastore)?;
     let datastore_path = expand_path(&settings.datastore)?;
+    fs::create_dir_all(&datastore_path).await?;
+
+    let replay_datastore = expand_path(&settings.replay_datastore)?;
+    fs::create_dir_all(&replay_datastore).await?;
+
+    let replay_mode = settings.replay_mode;
 
 
     let sled_db = sled::open(datastore_path.clone())?;
     let sled_db = sled::open(datastore_path.clone())?;
     let p2p = P2p::new(settings.net.into(), executor.clone()).await;
     let p2p = P2p::new(settings.net.into(), executor.clone()).await;
-    let event_graph =
-        EventGraph::new(p2p.clone(), sled_db.clone(), "genevd_dag", 1, executor.clone()).await?;
+    let event_graph = EventGraph::new(
+        p2p.clone(),
+        sled_db.clone(),
+        replay_datastore,
+        replay_mode,
+        "genevd_dag",
+        1,
+        executor.clone(),
+    )
+    .await?;
 
 
     info!("Registering EventGraph P2P protocol");
     info!("Registering EventGraph P2P protocol");
     let event_graph_ = Arc::clone(&event_graph);
     let event_graph_ = Arc::clone(&event_graph);

+ 15 - 2
bin/tau/taud/src/main.rs

@@ -352,11 +352,24 @@ async fn realmain(settings: Args, executor: Arc<smol::Executor<'static>>) -> Res
     let datastore = expand_path(&settings.datastore)?;
     let datastore = expand_path(&settings.datastore)?;
     fs::create_dir_all(&datastore).await?;
     fs::create_dir_all(&datastore).await?;
 
 
+    let replay_datastore = expand_path(&settings.replay_datastore)?;
+    fs::create_dir_all(&replay_datastore).await?;
+
+    let replay_mode = settings.replay_mode;
+
     info!("Instantiating event DAG");
     info!("Instantiating event DAG");
     let sled_db = sled::open(datastore)?;
     let sled_db = sled::open(datastore)?;
     let p2p = P2p::new(settings.net.into(), executor.clone()).await;
     let p2p = P2p::new(settings.net.into(), executor.clone()).await;
-    let event_graph =
-        EventGraph::new(p2p.clone(), sled_db.clone(), "taud_dag", 0, executor.clone()).await?;
+    let event_graph = EventGraph::new(
+        p2p.clone(),
+        sled_db.clone(),
+        replay_datastore,
+        replay_mode,
+        "taud_dag",
+        0,
+        executor.clone(),
+    )
+    .await?;
 
 
     info!("Registering EventGraph P2P protocol");
     info!("Registering EventGraph P2P protocol");
     let event_graph_ = Arc::clone(&event_graph);
     let event_graph_ = Arc::clone(&event_graph);

+ 8 - 0
bin/tau/taud/src/settings.rs

@@ -42,6 +42,14 @@ pub struct Args {
     #[structopt(long, default_value = "~/.local/darkfi/taud_db")]
     #[structopt(long, default_value = "~/.local/darkfi/taud_db")]
     pub datastore: String,
     pub datastore: String,
 
 
+    #[structopt(long, default_value = "~/.local/darkfi/replayed_taud_db")]
+    /// Replay logs (DB) path
+    pub replay_datastore: String,
+
+    /// replay_mode
+    #[structopt(long)]
+    pub replay_mode: bool,
+
     #[structopt(flatten)]
     #[structopt(flatten)]
     pub net: SettingsOpt,
     pub net: SettingsOpt,
 
 

+ 3 - 3
src/event_graph/util.rs

@@ -20,7 +20,7 @@ use std::{
     collections::HashMap,
     collections::HashMap,
     fs::{File, OpenOptions},
     fs::{File, OpenOptions},
     io::Write,
     io::Write,
-    path::PathBuf,
+    path::Path,
     time::UNIX_EPOCH,
     time::UNIX_EPOCH,
 };
 };
 
 
@@ -132,7 +132,7 @@ pub(super) fn generate_genesis(days_rotation: u64) -> Event {
     }
     }
 }
 }
 
 
-pub(super) fn replayer_log(datastore: &PathBuf, cmd: String, value: Vec<u8>) -> Result<()> {
+pub(super) fn replayer_log(datastore: &Path, cmd: String, value: Vec<u8>) -> Result<()> {
     let datastore = datastore.join("replayer.log");
     let datastore = datastore.join("replayer.log");
     if !datastore.exists() {
     if !datastore.exists() {
         File::create(&datastore)?;
         File::create(&datastore)?;
@@ -146,7 +146,7 @@ pub(super) fn replayer_log(datastore: &PathBuf, cmd: String, value: Vec<u8>) ->
     Ok(())
     Ok(())
 }
 }
 
 
-pub async fn recreate_from_replayer_log(datastore: &PathBuf) -> JsonResult {
+pub async fn recreate_from_replayer_log(datastore: &Path) -> JsonResult {
     let log_path = datastore.join("replayer.log");
     let log_path = datastore.join("replayer.log");
     if !log_path.exists() {
     if !log_path.exists() {
         error!("Error loading replayed log");
         error!("Error loading replayed log");