pn_dcp/packet/
extend_trait.rs

1use crate::block::{
2    BlockCommon, BlockCommonWithoutInfo, BlockIp, BlockPadding, BlockResp, BlockSet,
3};
4use crate::options::OptionAndSubValue;
5use crate::packet::get_resp::{GetRespBlock, GetRespBlocks};
6use crate::packet::ident_req::{IdentReqBlock, IdentReqBlocks};
7use crate::packet::ident_resp::{IdentRespBlock, IdentRespBlocks};
8use crate::packet::set_req::{SetReqBlock, SetReqBlocks};
9use crate::packet::set_resp::{SetRespBlock, SetRespBlocks};
10
11impl From<BlockCommon> for GetRespBlock {
12    fn from(a: BlockCommon) -> Self {
13        Self::Block(a)
14    }
15}
16impl From<BlockIp> for GetRespBlock {
17    fn from(a: BlockIp) -> Self {
18        Self::BlockIp(a)
19    }
20}
21impl From<BlockPadding> for GetRespBlock {
22    fn from(a: BlockPadding) -> Self {
23        Self::Padding(a)
24    }
25}
26impl From<BlockResp> for GetRespBlock {
27    fn from(a: BlockResp) -> Self {
28        Self::BlockResp(a)
29    }
30}
31impl From<Vec<GetRespBlock>> for GetRespBlocks {
32    fn from(val: Vec<GetRespBlock>) -> Self {
33        GetRespBlocks(val)
34    }
35}
36
37impl From<BlockCommonWithoutInfo> for IdentReqBlock {
38    fn from(a: BlockCommonWithoutInfo) -> Self {
39        Self::Block(a)
40    }
41}
42impl From<OptionAndSubValue> for IdentReqBlock {
43    fn from(a: OptionAndSubValue) -> Self {
44        Self::Block(BlockCommonWithoutInfo(a))
45    }
46}
47impl From<BlockPadding> for IdentReqBlock {
48    fn from(a: BlockPadding) -> Self {
49        Self::Padding(a)
50    }
51}
52impl From<Vec<IdentReqBlock>> for IdentReqBlocks {
53    fn from(val: Vec<IdentReqBlock>) -> Self {
54        IdentReqBlocks::from_vec(val)
55    }
56}
57
58impl From<BlockCommon> for IdentRespBlock {
59    fn from(a: BlockCommon) -> Self {
60        Self::Block(a)
61    }
62}
63impl From<BlockIp> for IdentRespBlock {
64    fn from(a: BlockIp) -> Self {
65        Self::BlockIp(a)
66    }
67}
68impl From<BlockPadding> for IdentRespBlock {
69    fn from(a: BlockPadding) -> Self {
70        Self::Padding(a)
71    }
72}
73impl From<Vec<IdentRespBlock>> for IdentRespBlocks {
74    fn from(val: Vec<IdentRespBlock>) -> Self {
75        Self::from(val)
76    }
77}
78
79impl From<BlockPadding> for SetRespBlock {
80    fn from(a: BlockPadding) -> Self {
81        Self::Padding(a)
82    }
83}
84impl From<BlockResp> for SetRespBlock {
85    fn from(a: BlockResp) -> Self {
86        Self::Response(a)
87    }
88}
89impl From<Vec<SetRespBlock>> for SetRespBlocks {
90    fn from(val: Vec<SetRespBlock>) -> Self {
91        Self(val)
92    }
93}
94
95impl From<BlockPadding> for SetReqBlock {
96    fn from(a: BlockPadding) -> Self {
97        Self::Padding(a)
98    }
99}
100impl From<BlockSet> for SetReqBlock {
101    fn from(a: BlockSet) -> Self {
102        Self::Set(a)
103    }
104}
105impl From<Vec<SetReqBlock>> for SetReqBlocks {
106    fn from(val: Vec<SetReqBlock>) -> Self {
107        Self(val)
108    }
109}