pub async fn read_vec<T: PacketReadable>(
    length: usize,
    input: &mut impl InputPacketBytes
) -> PacketReadableResult<Vec<T>>