#[cfg(feature = "rand_gen")]
use once_cell::sync::OnceCell;
#[cfg(feature = "rand_gen")]
static NUM_RETRY: OnceCell<usize> = OnceCell::new();
#[allow(dead_code)]
#[cfg(feature = "rand_gen")]
pub fn set_num_retry(val: usize) -> Result<(), &'static str> {
NUM_RETRY
.set(val)
.map_err(|_| "NUM_RETRY has already been set")
}
#[allow(dead_code)]
#[cfg(feature = "rand_gen")]
pub fn num_retry() -> usize {
*NUM_RETRY.get_or_init(|| 1 << 32)
}
#[cfg(feature = "rand_gen")]
static RAND_FN_LEN: OnceCell<usize> = OnceCell::new();
#[allow(dead_code)]
#[cfg(feature = "rand_gen")]
pub fn set_rand_fn_len(val: usize) -> Result<(), &'static str> {
RAND_FN_LEN
.set(val)
.map_err(|_| "RAND_FN_LEN has already been set")
}
#[cfg(feature = "rand_gen")]
pub fn rand_fn_len() -> usize {
*RAND_FN_LEN.get_or_init(|| 16)
}
#[cfg(feature = "rand_gen")]
static VALID_CHARS: OnceCell<&'static [u8]> = OnceCell::new();
#[allow(dead_code)]
#[cfg(feature = "rand_gen")]
pub fn set_valid_chars(val: &'static [u8]) -> Result<(), &'static str> {
VALID_CHARS
.set(val)
.map_err(|_| "VALID_CHARS has already been set")
}
#[cfg(feature = "rand_gen")]
pub fn valid_chars() -> &'static [u8] {
VALID_CHARS.get_or_init(|| b"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_")
}