diff --git a/src/message.rs b/src/message.rs index 107dcc0..1f00f58 100644 --- a/src/message.rs +++ b/src/message.rs @@ -43,6 +43,9 @@ pub enum GroupReceiveMessage { /// when peer join, send from TDN to outside. /// params is `peer_id`, `socket_addr` and peer `join_info`. PeerJoin(PeerAddr, SocketAddr, Vec), + /// when peer get join result. + /// params is `peer_id`, `is_ok` and `result_data`. + PeerJoinResult(PeerAddr, bool, Vec), /// when peer leave, send from TDN to outside. /// params is `peer_id`. PeerLeave(PeerAddr), diff --git a/src/p2p.rs b/src/p2p.rs index 9bb678a..dd76678 100644 --- a/src/p2p.rs +++ b/src/p2p.rs @@ -48,6 +48,11 @@ async fn run_listen( GroupReceiveMessage::PeerJoin(peer_addr, addr, data) )).await; }, + ReceiveMessage::PeerJoinResult(peer_addr, is_ok, data) => { + out_send.send(M::new_group( + GroupReceiveMessage::PeerJoinResult(peer_addr, is_ok, data) + )).await; + }, ReceiveMessage::PeerLeave(peer_addr) => { out_send.send(M::new_group( GroupReceiveMessage::PeerLeave(peer_addr)