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