1#[derive(Copy, Clone, Debug, PartialEq, Eq)]
2pub struct Field<'a> {
3 pub name: &'a [u8],
4 pub value: &'a [u8],
5}
6
7impl<'a> Field<'a> {
8 pub const fn new(name: &'a [u8], value: &'a [u8]) -> Self {
9 Self { name, value }
10 }
11}
12
13#[derive(Clone, Debug, PartialEq, Eq)]
14pub struct OwnedField {
15 pub name: Vec<u8>,
16 pub value: Vec<u8>,
17}
18
19impl OwnedField {
20 pub fn from(field: Field<'_>) -> Self {
21 Self {
22 name: field.name.to_vec(),
23 value: field.value.to_vec(),
24 }
25 }
26
27 pub fn as_ref(&self) -> Field<'_> {
28 Field {
29 name: &self.name,
30 value: &self.value,
31 }
32 }
33}