fix: make finish method public and fix ringbuf method names
Co-authored-by: aider (openai/andrew/openrouter/deepseek/deepseek-chat-v3.1) <aider@aider.chat>
This commit is contained in:
@@ -41,7 +41,7 @@ impl FilterChain {
|
||||
Ok(current_data)
|
||||
}
|
||||
|
||||
fn finish(&mut self) -> Result<Vec<u8>> {
|
||||
pub fn finish(&mut self) -> Result<Vec<u8>> {
|
||||
let mut result = Vec::new();
|
||||
|
||||
// Process each plugin's finish method and collect results
|
||||
|
||||
@@ -68,7 +68,7 @@ impl FilterPlugin for TailLinesFilter {
|
||||
|
||||
// Iterate backwards to find the starting point
|
||||
for i in (0..self.ring_buffer.len()).rev() {
|
||||
let index = (self.ring_buffer.write_index() as isize - 1 - i as isize)
|
||||
let index = (self.ring_buffer.write_pos() as isize - 1 - i as isize)
|
||||
.rem_euclid(self.ring_buffer.capacity() as isize) as usize;
|
||||
let byte = self.ring_buffer[index];
|
||||
|
||||
@@ -85,7 +85,7 @@ impl FilterPlugin for TailLinesFilter {
|
||||
let start_index = self.ring_buffer.len() - bytes_to_keep;
|
||||
let mut result = Vec::with_capacity(bytes_to_keep);
|
||||
for i in start_index..self.ring_buffer.len() {
|
||||
let index = (self.ring_buffer.write_index() as isize - (self.ring_buffer.len() - i) as isize)
|
||||
let index = (self.ring_buffer.write_pos() as isize - (self.ring_buffer.len() - i) as isize)
|
||||
.rem_euclid(self.ring_buffer.capacity() as isize) as usize;
|
||||
result.push(self.ring_buffer[index]);
|
||||
}
|
||||
|
||||
@@ -147,13 +147,13 @@ impl ItemService {
|
||||
conn: &Connection,
|
||||
id: i64,
|
||||
head_bytes: Option<usize>,
|
||||
head_words: Option<usize>,
|
||||
_head_words: Option<usize>,
|
||||
head_lines: Option<usize>,
|
||||
tail_bytes: Option<usize>,
|
||||
tail_words: Option<usize>,
|
||||
_tail_words: Option<usize>,
|
||||
tail_lines: Option<usize>,
|
||||
line_start: Option<usize>,
|
||||
line_end: Option<usize>,
|
||||
_line_start: Option<usize>,
|
||||
_line_end: Option<usize>,
|
||||
grep: Option<String>,
|
||||
) -> Result<(Vec<u8>, String, bool), CoreError> {
|
||||
// Use streaming approach to handle all filtering options consistently
|
||||
@@ -238,13 +238,13 @@ impl ItemService {
|
||||
conn: &Connection,
|
||||
id: i64,
|
||||
head_bytes: Option<usize>,
|
||||
head_words: Option<usize>,
|
||||
_head_words: Option<usize>,
|
||||
head_lines: Option<usize>,
|
||||
tail_bytes: Option<usize>,
|
||||
tail_words: Option<usize>,
|
||||
_tail_words: Option<usize>,
|
||||
tail_lines: Option<usize>,
|
||||
line_start: Option<usize>,
|
||||
line_end: Option<usize>,
|
||||
_line_start: Option<usize>,
|
||||
_line_end: Option<usize>,
|
||||
grep: Option<String>,
|
||||
) -> Result<(Box<dyn Read + Send>, String, bool), CoreError> {
|
||||
let item_with_meta = self.get_item(conn, id)?;
|
||||
|
||||
Reference in New Issue
Block a user