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