diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2023-11-17 15:23:05 +0100 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2023-11-17 15:23:05 +0100 |
commit | 89cb8d9572d623baa858cc1c6a8472053728eafc (patch) | |
tree | beca0d28b9d157b11b6db06f9e1c8377cab5acdc /src | |
parent | e92dc35564e91ce4e6a8defa9e8b52eef9e55fae (diff) | |
download | aerogramme-89cb8d9572d623baa858cc1c6a8472053728eafc.tar.gz aerogramme-89cb8d9572d623baa858cc1c6a8472053728eafc.zip |
no more error on baiyou
Diffstat (limited to 'src')
-rw-r--r-- | src/bayou.rs | 15 | ||||
-rw-r--r-- | src/storage/garage.rs | 2 | ||||
-rw-r--r-- | src/storage/in_memory.rs | 2 | ||||
-rw-r--r-- | src/storage/mod.rs | 2 |
4 files changed, 8 insertions, 13 deletions
diff --git a/src/bayou.rs b/src/bayou.rs index d3027c5..72c2b80 100644 --- a/src/bayou.rs +++ b/src/bayou.rs @@ -1,4 +1,3 @@ -use std::str::FromStr; use std::sync::{Arc, Weak}; use std::time::{Duration, Instant}; @@ -6,7 +5,6 @@ use anyhow::{anyhow, bail, Result}; use log::{debug, error, info}; use rand::prelude::*; use serde::{Deserialize, Serialize}; -use tokio::io::AsyncReadExt; use tokio::sync::{watch, Notify}; use crate::cryptoblob::*; @@ -233,7 +231,7 @@ impl<S: BayouState> Bayou<S> { // Save info that sync has been done self.last_sync = new_last_sync; - self.last_sync_watch_ct = new_last_sync_watch_ct; + self.last_sync_watch_ct = self.k2v.from_orphan(new_last_sync_watch_ct).expect("Source & target storage must be compatible"); Ok(()) } @@ -245,7 +243,7 @@ impl<S: BayouState> Bayou<S> { Some(t) => Instant::now() > t + (CHECKPOINT_INTERVAL / 5), _ => true, }; - let changed = self.last_sync_watch_ct != *self.watch.rx.borrow(); + let changed = self.last_sync_watch_ct.to_orphan() != *self.watch.rx.borrow(); if too_old || changed { self.sync().await?; } @@ -266,12 +264,9 @@ impl<S: BayouState> Bayou<S> { .unwrap_or(&self.checkpoint.0), ); self.k2v - .insert_item( - &self.path, - &ts.to_string(), - seal_serialize(&op, &self.key)?, - None, - ) + .row(&self.path, &ts.to_string()) + .set_value(seal_serialize(&op, &self.key)?) + .push() .await?; self.watch.notify.notify_one(); diff --git a/src/storage/garage.rs b/src/storage/garage.rs index 00962f2..ad33769 100644 --- a/src/storage/garage.rs +++ b/src/storage/garage.rs @@ -6,7 +6,7 @@ pub struct GrgStore {} pub struct GrgRef {} pub struct GrgValue {} -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq)] pub struct GrgOrphanRowRef {} impl IBuilders for GrgCreds { diff --git a/src/storage/in_memory.rs b/src/storage/in_memory.rs index a29b790..a2ad04f 100644 --- a/src/storage/in_memory.rs +++ b/src/storage/in_memory.rs @@ -7,7 +7,7 @@ pub struct MemStore {} pub struct MemRef {} pub struct MemValue {} -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq)] pub struct MemOrphanRowRef {} impl IBuilders for FullMem { diff --git a/src/storage/mod.rs b/src/storage/mod.rs index 86d7fa2..c948a08 100644 --- a/src/storage/mod.rs +++ b/src/storage/mod.rs @@ -20,7 +20,7 @@ pub enum Alternative { } type ConcurrentValues = Vec<Alternative>; -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq)] pub enum OrphanRowRef { Garage(garage::GrgOrphanRowRef), Memory(in_memory::MemOrphanRowRef), |