pub async fn send_data_packet_to(
    bytes: Vec<u8>,
    addr: SocketAddr,
    shared_state: Arc<Mutex<PeerSharedState>>
) -> Result<(), Box<dyn Error + Send + Sync>>