Преглед изворни кода

integrate rocksdb to gateway client

ghassmo пре 5 година
родитељ
комит
c98febd60f
2 измењених фајлова са 9 додато и 3 уклоњено
  1. 1 1
      src/bin/demowallet.rs
  2. 8 2
      src/service/gateway.rs

+ 1 - 1
src/bin/demowallet.rs

@@ -6,7 +6,7 @@ use drk::service::{fetch_slabs_loop, GatewayClient};
 use drk::Result;
 use drk::Result;
 
 
 async fn start(executor: Arc<Executor<'_>>) -> Result<()> {
 async fn start(executor: Arc<Executor<'_>>) -> 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?;
     client.start().await?;
     println!("connected to a server");
     println!("connected to a server");

+ 8 - 2
src/service/gateway.rs

@@ -119,15 +119,21 @@ impl GatewayService {
 
 
 pub struct GatewayClient {
 pub struct GatewayClient {
     protocol: ReqProtocol,
     protocol: ReqProtocol,
+    slabstore: SlabStore
 }
 }
 
 
 impl GatewayClient {
 impl GatewayClient {
-    pub fn new(addr: SocketAddr) -> GatewayClient {
+    pub fn new(addr: SocketAddr) -> Result<GatewayClient> {
         let protocol = ReqProtocol::new(addr);
         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<()> {
     pub async fn start(&mut self) -> Result<()> {
         self.protocol.start().await?;
         self.protocol.start().await?;
+        
         Ok(())
         Ok(())
     }
     }