From bb2258e1778bd2344e643b94d444489d99136c70 Mon Sep 17 00:00:00 2001 From: Robin Mueller Date: Wed, 10 Dec 2025 10:18:37 +0100 Subject: [PATCH] USLP raw buffer caching --- src/uslp/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/uslp/mod.rs b/src/uslp/mod.rs index 1fa6d1b..55f751a 100644 --- a/src/uslp/mod.rs +++ b/src/uslp/mod.rs @@ -580,6 +580,7 @@ impl<'data> TransferFrameCreator<'data> { /// Currently, only insert zone lengths of 0 are supported. #[derive(Debug)] pub struct TransferFrameReader<'buf> { + raw_buf: &'buf [u8], primary_header: PrimaryHeader, data_field_header: TransferFrameDataFieldHeader, data: &'buf [u8], @@ -627,6 +628,7 @@ impl<'buf> TransferFrameReader<'buf> { } } Ok(Self { + raw_buf: buf, primary_header, data_field_header, data: buf[data_idx..data_idx + data_len].try_into().unwrap(), @@ -652,6 +654,12 @@ impl<'buf> TransferFrameReader<'buf> { &self.data_field_header } + /// Raw transfer frame data. + #[inline] + pub fn raw_frame(&self) -> &'buf [u8] { + self.raw_buf + } + /// Data contained in the transfer frame data field. #[inline] pub fn data(&self) -> &'buf [u8] { -- 2.43.0