From aefa58d5d03a55ba6fb264ee71b4b82ddedef3d7 Mon Sep 17 00:00:00 2001 From: Mike Keen Date: Fri, 11 Aug 2023 05:02:15 -0400 Subject: [PATCH] fix: u64 support for incrementors --- src/storage/redis.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/storage/redis.rs b/src/storage/redis.rs index 42fa4fe0..8d5cb7eb 100644 --- a/src/storage/redis.rs +++ b/src/storage/redis.rs @@ -5,7 +5,7 @@ use gasket::{ runtime::{spawn_stage, WorkOutcome}, }; -use redis::{Commands, ToRedisArgs}; +use redis::{Commands, ConnectionLike, ToRedisArgs}; use serde::Deserialize; use crate::{bootstrap, crosscut, model}; @@ -233,13 +233,16 @@ impl gasket::runtime::Worker for Worker { .set(key, value) .or_restart()?; } - model::CRDTCommand::PNCounter(key, value) => { - log::debug!("increasing counter [{}], by [{}]", key, value); + model::CRDTCommand::PNCounter(key, delta) => { + log::debug!("increasing counter [{}], by [{}]", key, delta); self.connection .as_mut() .unwrap() - .incr(key, value) + .req_command(&redis::Cmd::new() + .arg("INCRBYFLOAT") + .arg(key) + .arg(delta.to_string())) .or_restart()?; } model::CRDTCommand::HashSetValue(key, member, value) => { @@ -252,12 +255,17 @@ impl gasket::runtime::Worker for Worker { .or_restart()?; } model::CRDTCommand::HashCounter(key, member, delta) => { - log::debug!("increasing hash key {} member {} by {}", key, member, delta); + log::debug!("increasing hash key {} member {} by {}", key.clone(), member.clone(), delta); self.connection .as_mut() .unwrap() - .hincr(key, member, delta) + .req_command(&redis::Cmd::new() + .arg("HINCRBYFLOAT") + .arg(key.clone()) + .arg(member.clone()) + .arg(delta.to_string()) + ) .or_restart()?; } model::CRDTCommand::HashUnsetKey(key, member) => {