navajo_cli/
segment.rs

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}