#[derive(Debug, Copy, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)]
#[derive(Deserialize, Serialize)]
#[repr(u32)]
pub enum RingQueueDepth
{
#[serde(rename = "1")] _1 = 1,
#[serde(rename = "2")] _2 = 2,
#[serde(rename = "4")] _4 = 4,
#[serde(rename = "8")] _8 = 8,
#[serde(rename = "16")] _16 = 16,
#[serde(rename = "32")] _32 = 32,
#[serde(rename = "64")] _64 = 64,
#[serde(rename = "128")] _128 = 128,
#[serde(rename = "256")] _256 = 256,
#[serde(rename = "512")] _512 = 512,
#[serde(rename = "1_024")] _1_024 = 1_024,
#[serde(rename = "2_048")] _2_048 = 2_048,
#[serde(rename = "4_096")] _4_096 = 4_096,
#[serde(rename = "8_192")] _8_192 = 8_192,
#[serde(rename = "16_384")] _16_384 = 16_384,
#[serde(rename = "32_768")] _32_768 = 32_768,
#[serde(rename = "65_536")] _65_536 = 65_536,
#[serde(rename = "131_072")] _131_072 = 131_072,
#[serde(rename = "262_144")] _262_144 = 262_144,
#[serde(rename = "524_288")] _524_288 = 524_288,
#[serde(rename = "1_048_576")] _1_048_576 = 1_048_576,
#[serde(rename = "2_097_152")] _2_097_152 = 2_097_152,
#[serde(rename = "4_194_304")] _4_194_304 = 4_194_304,
#[serde(rename = "8_388_608")] _8_388_608 = 8_388_608,
#[serde(rename = "16_777_216")] _16_777_216 = 16_777_216,
#[serde(rename = "33_554_432")] _33_554_432 = 33_554_432,
#[serde(rename = "67_108_864")] _67_108_864 = 67_108_864,
#[serde(rename = "134_217_728")] _134_217_728 = 134_217_728,
#[serde(rename = "268_435_456")] _268_435_456 = 268_435_456,
#[serde(rename = "536_870_912")] _536_870_912 = 536_870_912,
#[serde(rename = "1_073_741_824")] _1_073_741_824 = 1_073_741_824,
#[serde(rename = "2_147_483_648")] _2_147_483_648 = 2_147_483_648,
}
impl Default for RingQueueDepth
{
#[inline(always)]
fn default() -> Self
{
Self::_1
}
}
impl Into<NonZeroU32> for RingQueueDepth
{
#[inline(always)]
fn into(self) -> NonZeroU32
{
unsafe { transmute(self )}
}
}
impl RingQueueDepth
{
#[inline(always)]
pub(crate) const fn memory_length<D: Descriptor>(self) -> usize
{
(self as u32 as usize) * size_of::<D>()
}
#[inline(always)]
fn mask(self) -> u32
{
(self as u32) - 1
}
}