diff --git a/src/bin/demowallet.rs b/src/bin/demowallet.rs index 39c54ceb5..99d1f016b 100644 --- a/src/bin/demowallet.rs +++ b/src/bin/demowallet.rs @@ -6,7 +6,7 @@ use drk::service::{fetch_slabs_loop, GatewayClient}; use drk::Result; async fn start(executor: Arc>) -> Result<()> { - let mut client = GatewayClient::new("127.0.0.1:3333".parse()?); + let mut client = GatewayClient::new("127.0.0.1:3333".parse()?)?; client.start().await?; println!("connected to a server"); diff --git a/src/service/gateway.rs b/src/service/gateway.rs index 26d32b8b7..239167e72 100644 --- a/src/service/gateway.rs +++ b/src/service/gateway.rs @@ -119,15 +119,21 @@ impl GatewayService { pub struct GatewayClient { protocol: ReqProtocol, + slabstore: SlabStore } impl GatewayClient { - pub fn new(addr: SocketAddr) -> GatewayClient { + pub fn new(addr: SocketAddr) -> Result { let protocol = ReqProtocol::new(addr); - GatewayClient { protocol } + + let slabstore = SlabStore::new(Path::new("slabstore.db"))?; + + Ok(GatewayClient { protocol ,slabstore}) } + pub async fn start(&mut self) -> Result<()> { self.protocol.start().await?; + Ok(()) }