pub async fn send_message<T: Serialize>(
    stream: &mut impl AsyncWrite + Unpin,
    message: T
) -> Result<()>