File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -44,7 +44,7 @@ pub struct PrimaryHeader {
4444
4545impl PrimaryHeader {
4646
47- fn parse ( raw : & [ u8 ] ) -> ParseResult < PrimaryHeader > {
47+ fn parse ( raw : & [ u8 ] ) -> ParseResult < ( PrimaryHeader , Vec < u8 > ) > {
4848 let mut reader = Cursor :: new ( raw. to_vec ( ) ) ;
4949
5050 let header_0 = reader. read_u16 :: < BigEndian > ( ) ?;
@@ -58,15 +58,19 @@ impl PrimaryHeader {
5858 let sequence_count = ( header_1 & 0x3FFF ) as u16 ;
5959
6060 let data_length = reader. read_u16 :: < BigEndian > ( ) ?;
61- Ok ( PrimaryHeader {
61+
62+ let pos = reader. position ( ) as usize ;
63+ let remaining = raw[ pos..] . to_vec ( ) ;
64+
65+ Ok ( ( PrimaryHeader {
6266 version,
6367 packet_type,
6468 sec_header_flag,
6569 app_proc_id,
6670 sequence_flags,
6771 sequence_count,
6872 data_length,
69- } )
73+ } , remaining ) )
7074 }
7175
7276 fn to_bytes ( & self ) -> ParseResult < Vec < u8 > > {
You can’t perform that action at this time.
0 commit comments