omega_cache/core/
utils.rs1use rand::distr::{Alphanumeric, SampleString};
2use rand::{RngExt, rng};
3use std::hash::{Hash, Hasher};
4use twox_hash::xxhash64::Hasher as XxHash64;
5
6#[inline(always)]
7pub fn hash<T: Eq + Hash>(value: T) -> u64 {
8 let mut hasher = XxHash64::default();
9 value.hash(&mut hasher);
10 hasher.finish()
11}
12
13#[inline(always)]
14pub fn random_string_with_len(len: usize) -> String {
15 Alphanumeric.sample_string(&mut rand::rng(), len)
16}
17
18#[inline(always)]
19pub fn random_string() -> String {
20 let len = rng().random_range(10..255);
21 random_string_with_len(len)
22}