| ... | ... | @@ -164,6 +164,17 @@ pub fn LinearFifo( |
| 164 | 164 | return self.readableSliceMut(offset); |
| 165 | 165 | } |
| 166 | 166 | |
| 167 | pub fn readableSliceOfLen(self: *Self, len: usize) []const T { |
| 168 | assert(len <= self.count); |
| 169 | const buf = self.readableSlice(0); |
| 170 | if (buf.len >= len) { |
| 171 | return buf[0..len]; |
| 172 | } else { |
| 173 | self.realign(); |
| 174 | return self.readableSlice(0)[0..len]; |
| 175 | } |
| 176 | } |
| 177 | |
| 167 | 178 | /// Discard first `count` items in the fifo |
| 168 | 179 | pub fn discard(self: *Self, count: usize) void { |
| 169 | 180 | assert(count <= self.count); |