diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-10-21 13:06:45 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-10-21 21:14:12 +0800 |
| commit | 0ca3804ac22491ce00ef5391abef40a8444ff814 (patch) | |
| tree | c958d646a46f373fd9faa55a38b177575ea2b14b /src | |
| parent | f4172ac1fb8f910792b3010865e970c9b54d7492 (diff) | |
fix: sink send
Diffstat (limited to 'src')
| -rw-r--r-- | src/network.rs | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/src/network.rs b/src/network.rs index f9b6355..753f743 100644 --- a/src/network.rs +++ b/src/network.rs @@ -107,10 +107,11 @@ impl Network { let peer = Arc::new(Mutex::new(Peer::new(this.clone(), stream))); if let Some(parent) = this.upgrade() { - let mut net = parent + let mut parent = parent .lock() .await; - net.peers + parent + .peers .push(Arc::clone(&peer)); } @@ -130,10 +131,29 @@ impl Network { .clone(); spawn(async move { if let Some(parent) = this.upgrade() { - let mut net = parent + let mut parent = parent + .lock() + .await; + parent + .try_peer() + .await; + } + }); + + self.get_idb() + } + + pub fn get_idb(&self) { + let this = self + .this + .clone(); + spawn(async move { + if let Some(parent) = this.upgrade() { + let mut parent = parent .lock() .await; - net.try_peer() + parent + .broadcast(Request::Ibd(None)) .await; } }); @@ -177,7 +197,15 @@ impl Peer { } } - async fn start(&mut self) {} + async fn start(&mut self) { + let mut sink = self + .sink + .lock() + .await; + let _ = sink + .send(Request::Ibd(None)) + .await; + } async fn read_loop(parent: Weak<Mutex<Network>>, mut stream: SplitStream<Framed<TokioFramed<TcpStream, LengthDelimitedCodec>, Request, Request, Json<Request, Request>>>) { loop { |
