Просмотр исходного кода

Use same async sleep function throughout source code (#47)

* Use same async sleep function throughout source code

* Rename module async to async_util

* Minor formatting

Closes #46
Dastan-glitch 4 лет назад
Родитель
Сommit
f6874ff1bf

+ 5 - 3
src/net/connector.rs

@@ -2,9 +2,11 @@ use futures::FutureExt;
 use smol::Async;
 use std::net::{SocketAddr, TcpStream};
 
-use crate::error::{Error, Result};
-//use crate::net::error::{Error, Result};
-use crate::net::{utility::sleep, Channel, ChannelPtr, SettingsPtr};
+use crate::{
+    error::{Error, Result},
+    net::{Channel, ChannelPtr, SettingsPtr},
+    util::sleep,
+};
 
 /// Create outbound socket connections.
 pub struct Connector {

+ 0 - 3
src/net/mod.rs

@@ -85,9 +85,6 @@ pub mod sessions;
 /// Network configuration settings.
 pub mod settings;
 
-/// Utility module that defines a sleep function used throughout the network.
-pub mod utility;
-
 pub use acceptor::{Acceptor, AcceptorPtr};
 pub use channel::{Channel, ChannelPtr};
 pub use connector::Connector;

+ 1 - 1
src/net/protocols/protocol_ping.rs

@@ -8,9 +8,9 @@ use crate::{
     net::{
         messages,
         protocols::{ProtocolJobsManager, ProtocolJobsManagerPtr},
-        utility::sleep,
         ChannelPtr, SettingsPtr,
     },
+    util::sleep,
 };
 
 /// Defines ping and pong messages.

+ 2 - 3
src/net/protocols/protocol_version.rs

@@ -5,9 +5,8 @@ use std::sync::Arc;
 
 use crate::{
     error::{Error, Result},
-    net::{
-        message_subscriber::MessageSubscription, messages, utility::sleep, ChannelPtr, SettingsPtr,
-    },
+    net::{message_subscriber::MessageSubscription, messages, ChannelPtr, SettingsPtr},
+    util::sleep,
 };
 
 /// Implements the protocol version handshake sent out by nodes at the beginning

+ 1 - 1
src/net/sessions/manual_session.rs

@@ -11,10 +11,10 @@ use crate::{
     net::{
         protocols::{ProtocolAddress, ProtocolPing},
         sessions::Session,
-        utility::sleep,
         ChannelPtr, Connector, P2p,
     },
     system::{StoppableTask, StoppableTaskPtr},
+    util::sleep,
 };
 
 pub struct ManualSession {

+ 8 - 7
src/net/sessions/seed_session.rs

@@ -6,13 +6,14 @@ use std::{
     sync::{Arc, Weak},
 };
 
-use crate::error::{Error, Result};
-//use crate::net::error::{Error, Result};
-use crate::net::{
-    protocols::{ProtocolPing, ProtocolSeed},
-    sessions::Session,
-    utility::sleep,
-    ChannelPtr, Connector, HostsPtr, P2p, SettingsPtr,
+use crate::{
+    error::{Error, Result},
+    net::{
+        protocols::{ProtocolPing, ProtocolSeed},
+        sessions::Session,
+        ChannelPtr, Connector, HostsPtr, P2p, SettingsPtr,
+    },
+    util::sleep,
 };
 
 /// Defines seed connections session.

+ 4 - 3
src/service/eth.rs

@@ -1,4 +1,4 @@
-use std::{convert::TryInto, time::Duration};
+use std::convert::TryInto;
 
 use async_executor::Executor;
 use async_std::sync::{Arc, Mutex};
@@ -12,11 +12,12 @@ use serde::{Deserialize, Serialize};
 use serde_json::{json, Value};
 
 use super::bridge::{NetworkClient, TokenNotification, TokenSubscribtion};
+
 use crate::{
     crypto::keypair::PublicKey,
     rpc::{jsonrpc, jsonrpc::JsonResult},
     serial::{deserialize, serialize, Decodable, Encodable},
-    util::{generate_id2, parse::truncate, NetworkName},
+    util::{generate_id2, parse::truncate, sleep, NetworkName},
     Error, Result,
 };
 
@@ -251,7 +252,7 @@ impl EthClient {
             }
 
             sub_iter += iter_interval;
-            async_std::task::sleep(Duration::from_secs(iter_interval)).await;
+            sleep(iter_interval).await;
 
             current_balance = self.get_current_balance(&addr, None).await?;
 

+ 4 - 3
src/service/sol.rs

@@ -1,4 +1,4 @@
-use std::{str::FromStr, time::Duration};
+use std::str::FromStr;
 
 use async_executor::Executor;
 use async_native_tls::TlsConnector;
@@ -22,11 +22,12 @@ use spl_associated_token_account::{create_associated_token_account, get_associat
 use tungstenite::Message;
 
 use super::bridge::{NetworkClient, TokenNotification, TokenSubscribtion};
+
 use crate::{
     crypto::keypair::PublicKey,
     rpc::{jsonrpc, jsonrpc::JsonResult, websockets, websockets::WsStream},
     serial::{deserialize, serialize, Decodable, Encodable},
-    util::{generate_id2, parse::truncate, NetworkName},
+    util::{generate_id2, parse::truncate, sleep, NetworkName},
     Error, Result,
 };
 
@@ -173,7 +174,7 @@ impl SolClient {
                     return Err(SolFailed::RpcError(format!("Deposit for {:?} expired", pubkey)))
                 }
                 sub_iter += iter_interval;
-                async_std::task::sleep(Duration::from_secs(iter_interval)).await;
+                sleep(iter_interval).await;
                 write.send(Message::Ping(ping_payload.clone())).await?;
                 continue
             };

+ 0 - 0
src/net/utility.rs → src/util/async_util.rs


+ 2 - 0
src/util/mod.rs

@@ -1,10 +1,12 @@
 pub mod address;
+pub mod async_util;
 pub mod loader;
 pub mod net_name;
 pub mod parse;
 pub mod path;
 pub mod token_list;
 
+pub use async_util::sleep;
 pub use loader::ContractLoader;
 pub use net_name::NetworkName;
 pub use parse::{assign_id, decode_base10, encode_base10, generate_id, generate_id2};