diff --git a/easytier/src/peers/peer_manager.rs b/easytier/src/peers/peer_manager.rs index aa716e00..6c315976 100644 --- a/easytier/src/peers/peer_manager.rs +++ b/easytier/src/peers/peer_manager.rs @@ -1556,8 +1556,8 @@ impl PeerManager { && (peers.has_peer(gateway) || foreign_network_client.has_next_hop(gateway)) { relay_peer_map.send_msg(msg, dst_peer_id, policy).await - } else if peers.has_peer(dst_peer_id) { - peers.send_msg_directly(msg, dst_peer_id).await + } else if let Some(peer) = peers.get_peer_by_id(dst_peer_id) { + peer.send_msg(msg).await } else if foreign_network_client.has_next_hop(dst_peer_id) { foreign_network_client.send_msg(msg, dst_peer_id).await } else if let Some(gateway) = peers.get_gateway_peer_id(dst_peer_id, policy.clone()).await {