1use clap::ValueEnum;
2
3#[derive(Clone, Copy, PartialEq, Eq, Debug, ValueEnum, strum::Display, strum::EnumIter)]
4pub enum Segment {
5 #[value(name = "4KB", alias = "4kb", alias = "4KiB", alias = "4kib")]
6 FourKilobytes,
7 #[value(name = "64KB", alias = "64kb", alias = "64KiB", alias = "64kib")]
8 SixtyFourKilobytes,
9 #[value(name = "1MB", alias = "1mb", alias = "1MiB", alias = "1mib")]
10 OneMegabyte,
11 #[value(name = "4MB", alias = "4mb", alias = "4MiB", alias = "4mib")]
12 FourMegabytes,
13}
14impl From<Segment> for navajo::aead::Segment {
15 fn from(value: Segment) -> Self {
16 match value {
17 Segment::FourKilobytes => navajo::aead::Segment::FourKilobytes,
18 Segment::SixtyFourKilobytes => navajo::aead::Segment::SixtyFourKilobytes,
19 Segment::OneMegabyte => navajo::aead::Segment::OneMegabyte,
20 Segment::FourMegabytes => navajo::aead::Segment::FourMegabytes,
21 }
22 }
23}