mirror of
https://github.com/asterinas/asterinas.git
synced 2025-06-18 12:06:43 +00:00
Make VmReader's several methods accept &mut self
This commit is contained in:
committed by
Qingsong Chen
parent
9872adaa71
commit
0e1c660225
@ -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 {
|
||||
|
@ -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> {
|
||||
|
Reference in New Issue
Block a user