ghassmo 5 лет назад
Родитель
Сommit
5b867308e2
4 измененных файлов с 12 добавлено и 15 удалено
  1. 1 1
      src/rpc/adapter.rs
  2. 2 5
      src/rpc/jsonserver.rs
  3. 1 1
      src/service/cashier.rs
  4. 8 8
      src/service/reqrep.rs

+ 1 - 1
src/rpc/adapter.rs

@@ -85,7 +85,7 @@ impl RpcAdapter {
         Ok(())
     }
 
-    pub async fn deposit(&self) -> Result<PubAddress> {
+    pub async fn deposit(&mut self) -> Result<PubAddress> {
         debug!(target: "deposit", "deposit: START");
         let (public, private) = self.wallet.key_gen();
         self.wallet.put_keypair(public, private)?;

+ 2 - 5
src/rpc/jsonserver.rs

@@ -243,11 +243,8 @@ impl RpcInterface {
             let self2 = self1.clone();
             async move {
                 println!("Deposit initiated");
-                let btckey = self2.adapter.deposit().await?;
-                Ok(jsonrpc_core::Value::String(format!(
-                    "Send testnet BTC to: {}",
-                    btckey
-                )))
+                // let btckey = self2.adapter.deposit().await?;
+                Ok(jsonrpc_core::Value::String(format!("Send testnet BTC to")))
             }
         });
 

+ 1 - 1
src/service/cashier.rs

@@ -188,7 +188,7 @@ impl CashierClient {
         Ok(())
     }
 
-    pub async fn get_address(&self, index: jubjub::SubgroupPoint) -> Result<Option<PubAddress>> {
+    pub async fn get_address(&mut self, index: jubjub::SubgroupPoint) -> Result<Option<PubAddress>> {
         let handle_error = Arc::new(handle_error);
         let rep = self
             .protocol

+ 8 - 8
src/service/reqrep.rs

@@ -1,4 +1,4 @@
-use async_std::sync::{Arc, Mutex};
+use async_std::sync::Arc;
 use std::convert::TryFrom;
 use std::io;
 use std::net::SocketAddr;
@@ -123,13 +123,13 @@ impl RepProtocol {
 
 pub struct ReqProtocol {
     addr: SocketAddr,
-    socket: Mutex<zeromq::DealerSocket>,
+    socket: zeromq::DealerSocket,
     service_name: String,
 }
 
 impl ReqProtocol {
     pub fn new(addr: SocketAddr, service_name: String) -> ReqProtocol {
-        let socket = Mutex::new(zeromq::DealerSocket::new());
+        let socket = zeromq::DealerSocket::new();
         ReqProtocol {
             addr,
             socket,
@@ -137,15 +137,15 @@ impl ReqProtocol {
         }
     }
 
-    pub async fn start(&self) -> Result<()> {
+    pub async fn start(&mut self) -> Result<()> {
         let addr = addr_to_string(self.addr);
-        self.socket.lock().await.connect(addr.as_str()).await?;
+        self.socket.connect(addr.as_str()).await?;
         info!("{} SERVICE: Connected To {}", self.service_name, self.addr);
         Ok(())
     }
 
     pub async fn request(
-        &self,
+        &mut self,
         command: u8,
         data: Vec<u8>,
         handle_error: Arc<dyn Fn(u32) + Send + Sync>,
@@ -155,13 +155,13 @@ impl ReqProtocol {
         let req = bytes::Bytes::from(req);
         let req: zeromq::ZmqMessage = req.into();
 
-        self.socket.lock().await.send(req).await?;
+        self.socket.send(req).await?;
         info!(
             "{} SERVICE: Sent Request {{ command: {} }}",
             self.service_name, command
         );
 
-        let rep: zeromq::ZmqMessage = self.socket.lock().await.recv().await?;
+        let rep: zeromq::ZmqMessage = self.socket.recv().await?;
         if let Some(reply) = rep.get(0) {
             let reply: Vec<u8> = reply.to_vec();