diff --git a/CHANGELOG.md b/CHANGELOG.md index 892ac4b..a20102c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - Added generic sequence counter module. - Added `MsgToUserTlv::to_tlv` converter which reduced the type and converts it to a generic `Tlv`. +- Implemented `From for Tlv` converter trait. ## Added and Changed diff --git a/src/cfdp/tlv/msg_to_user.rs b/src/cfdp/tlv/msg_to_user.rs index 1213926..4971489 100644 --- a/src/cfdp/tlv/msg_to_user.rs +++ b/src/cfdp/tlv/msg_to_user.rs @@ -88,6 +88,12 @@ impl<'data> MsgToUserTlv<'data> { } } +impl<'a> From> for Tlv<'a> { + fn from(value: MsgToUserTlv<'a>) -> Tlv<'a> { + value.to_tlv() + } +} + impl WritableTlv for MsgToUserTlv<'_> { fn len_written(&self) -> usize { self.len_full() @@ -163,6 +169,14 @@ mod tests { assert_eq!(tlv.value(), custom_value); } + #[test] + fn test_msg_to_user_to_tlv() { + let custom_value: [u8; 4] = [1, 2, 3, 4]; + let msg_to_user = MsgToUserTlv::new(&custom_value).unwrap(); + let tlv: Tlv = msg_to_user.into(); + assert_eq!(msg_to_user.to_tlv(), tlv); + } + #[test] fn test_msg_to_user_owner_converter() { let custom_value: [u8; 4] = [1, 2, 3, 4];