MCPcopy Create free account
hub / github.com/erans/pgsqlite / cleanup_old_buffers

Method cleanup_old_buffers

src/protocol/buffer_pool.rs:255–276  ·  view source on GitHub ↗

Clean up old or oversized buffers from the pool

(&self, inner: &mut BufferPoolInner)

Source from the content-addressed store, hash-verified

253
254 /// Clean up old or oversized buffers from the pool
255 fn cleanup_old_buffers(&self, inner: &mut BufferPoolInner) {
256 let old_size = inner.buffers.len();
257 let cleanup_age = self.config.cleanup_interval * 2; // Keep buffers for 2x cleanup interval
258
259 inner.buffers.retain(|pooled_buffer| {
260 !pooled_buffer.should_discard(self.config.max_buffer_capacity, cleanup_age)
261 });
262
263 let cleaned_count = old_size - inner.buffers.len();
264 if cleaned_count > 0 {
265 inner.stats.buffers_discarded += cleaned_count as u64;
266 inner.stats.current_pool_size = inner.buffers.len();
267
268 if self.config.enable_monitoring {
269 info!("Cleaned up {} old buffers from pool, new size: {}",
270 cleaned_count, inner.buffers.len());
271 }
272 }
273
274 inner.last_cleanup = Instant::now();
275 inner.stats.last_cleanup = Some(inner.last_cleanup);
276 }
277
278 /// Get current buffer pool statistics
279 pub fn get_stats(&self) -> BufferPoolStats {

Callers 2

return_bufferMethod · 0.80
cleanupMethod · 0.80

Calls 2

should_discardMethod · 0.80
lenMethod · 0.45

Tested by

no test coverage detected