From 3742ffbeb13b94a55b078d79b562286ab46f31bc Mon Sep 17 00:00:00 2001 From: David Senk Date: Sat, 7 Sep 2024 16:06:27 -0400 Subject: [PATCH] changd get to return cow instead of rc --- src/lib.rs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c3322dd..22f2cb9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,17 +1,20 @@ +use std::borrow::Cow; use std::rc::Rc; -use std::sync::RwLock; +use std::sync::{RwLock, RwLockWriteGuard}; pub struct StateOwner { - state: RwLock>, + state: Rc>, } impl StateOwner { pub fn new(state: String) -> StateOwner { - StateOwner { state: RwLock::new(Rc::new(state)) } + StateOwner { state: Rc::new(RwLock::new(state)) } } - pub fn get_state(&self) -> Rc { - self.state.read().unwrap().clone() + pub fn get_state(&self) -> Cow { + let ret = self.state.read().unwrap().clone(); + + Cow::from(ret) }