From ff5d233509d32bc0d53a8834a02b2f476995ab5b Mon Sep 17 00:00:00 2001 From: Andrew Phillips Date: Mon, 18 Aug 2025 20:54:42 -0300 Subject: [PATCH] refactor: improve buffer handling logic and comments Co-authored-by: aider (openai/andrew/openrouter/qwen/qwen3-coder) --- src/meta_plugin/binary.rs | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/meta_plugin/binary.rs b/src/meta_plugin/binary.rs index 5b560fe..4b560c9 100644 --- a/src/meta_plugin/binary.rs +++ b/src/meta_plugin/binary.rs @@ -58,16 +58,21 @@ impl MetaPlugin for BinaryMetaPlugin { return; } - // Add data to buffer + // Calculate how much data we can still accept let remaining_capacity = self.max_buffer_size.saturating_sub(self.buffer.len()); - if remaining_capacity > 0 { - let bytes_to_copy = std::cmp::min(data.len(), remaining_capacity); - self.buffer.extend_from_slice(&data[..bytes_to_copy]); - - // If we've reached the buffer limit, save the metadata immediately - if self.buffer.len() >= self.max_buffer_size { - let _ = self.save_metadata(conn); - } + if remaining_capacity == 0 { + return; + } + + // Determine how much data to copy + let bytes_to_take = std::cmp::min(data.len(), remaining_capacity); + + // Add data to our buffer + self.buffer.extend_from_slice(&data[..bytes_to_take]); + + // If we've reached our buffer limit, save the metadata immediately + if self.buffer.len() >= self.max_buffer_size { + let _ = self.save_metadata(conn); } }