1use crate::pcap::{LegacyPcapBlock, PcapHeader};
2use crate::pcapng::Block;
3
4pub enum PcapBlockOwned<'a> {
6 Legacy(LegacyPcapBlock<'a>),
7 LegacyHeader(PcapHeader),
8 NG(Block<'a>),
9}
10
11pub enum PcapBlock<'a> {
13 Legacy(&'a LegacyPcapBlock<'a>),
14 LegacyHeader(&'a PcapHeader),
15 NG(&'a Block<'a>),
16}
17
18impl<'a> From<LegacyPcapBlock<'a>> for PcapBlockOwned<'a> {
19 fn from(b: LegacyPcapBlock<'a>) -> PcapBlockOwned<'a> {
20 PcapBlockOwned::Legacy(b)
21 }
22}
23
24impl<'a> From<PcapHeader> for PcapBlockOwned<'a> {
25 fn from(b: PcapHeader) -> PcapBlockOwned<'a> {
26 PcapBlockOwned::LegacyHeader(b)
27 }
28}
29
30impl<'a> From<Block<'a>> for PcapBlockOwned<'a> {
31 fn from(b: Block<'a>) -> PcapBlockOwned<'a> {
32 PcapBlockOwned::NG(b)
33 }
34}
35
36impl<'a> From<&'a LegacyPcapBlock<'a>> for PcapBlock<'a> {
37 fn from(b: &'a LegacyPcapBlock) -> PcapBlock<'a> {
38 PcapBlock::Legacy(b)
39 }
40}
41
42impl<'a> From<&'a PcapHeader> for PcapBlock<'a> {
43 fn from(b: &'a PcapHeader) -> PcapBlock<'a> {
44 PcapBlock::LegacyHeader(b)
45 }
46}
47
48impl<'a> From<&'a Block<'a>> for PcapBlock<'a> {
49 fn from(b: &'a Block) -> PcapBlock<'a> {
50 PcapBlock::NG(b)
51 }
52}