diff options
Diffstat (limited to 'src/network.rs')
| -rw-r--r-- | src/network.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/network.rs b/src/network.rs index fd0362c..08d59ef 100644 --- a/src/network.rs +++ b/src/network.rs @@ -23,15 +23,35 @@ pub enum Request { Ibd(Option<BlockChain>), } +#[derive(Default)] +pub struct NetworkConfig { + auto_mine: bool, +} + pub struct Network { this: Weak<Mutex<Self>>, me: Client, + listener: Arc<TcpListener>, peers: Vec<Arc<Mutex<Peer>>>, blockchain: Arc<Mutex<BlockChain>>, + + config: NetworkConfig, } impl Network { + pub fn get_config(&mut self) -> &mut NetworkConfig { + &mut self.config + } + + pub fn get_me(&self) -> &Client { + &self.me + } + + pub fn get_blockchain(&self) -> &Arc<Mutex<BlockChain>> { + &self.blockchain + } + pub async fn new(blockchain: Arc<Mutex<BlockChain>>) -> Arc<Mutex<Self>> { let listener = TcpListener::bind("0.0.0.0:6767") .await @@ -42,6 +62,7 @@ impl Network { listener: Arc::new(listener), peers: Vec::default(), blockchain, + config: NetworkConfig::default(), })); this.lock() .await |
