Make VmReader's several methods accept &mut self

This commit is contained in:
jiangjianfeng
2025-03-24 03:35:28 +00:00
committed by Qingsong Chen
parent 9872adaa71
commit 0e1c660225
9 changed files with 58 additions and 56 deletions

View File

@ -56,7 +56,9 @@ impl TxBuffer {
}
pub fn writer(&self) -> VmWriter<'_, Infallible> {
self.dma_stream.writer().unwrap().limit(self.nbytes)
let mut writer = self.dma_stream.writer().unwrap();
writer.limit(self.nbytes);
writer
}
fn sync(&self) {
@ -110,21 +112,18 @@ impl RxBuffer {
self.segment
.sync(self.header_len..self.header_len + self.packet_len)
.unwrap();
self.segment
.reader()
.unwrap()
.skip(self.header_len)
.limit(self.packet_len)
let mut reader = self.segment.reader().unwrap();
reader.skip(self.header_len).limit(self.packet_len);
reader
}
pub fn buf(&self) -> VmReader<'_, Infallible> {
self.segment
.sync(0..self.header_len + self.packet_len)
.unwrap();
self.segment
.reader()
.unwrap()
.limit(self.header_len + self.packet_len)
let mut reader = self.segment.reader().unwrap();
reader.limit(self.header_len + self.packet_len);
reader
}
pub const fn buf_len(&self) -> usize {

View File

@ -236,12 +236,16 @@ impl DmaSegment {
pub fn reader(&self) -> Result<VmReader<'_, Infallible>, ostd::Error> {
let offset = self.start_addr - self.dma_stream.daddr();
Ok(self.dma_stream.reader()?.skip(offset).limit(self.size))
let mut reader = self.dma_stream.reader()?;
reader.skip(offset).limit(self.size);
Ok(reader)
}
pub fn writer(&self) -> Result<VmWriter<'_, Infallible>, ostd::Error> {
let offset = self.start_addr - self.dma_stream.daddr();
Ok(self.dma_stream.writer()?.skip(offset).limit(self.size))
let mut writer = self.dma_stream.writer()?;
writer.skip(offset).limit(self.size);
Ok(writer)
}
pub fn sync(&self, byte_range: Range<usize>) -> Result<(), ostd::Error> {