MCPcopy Create free account
hub / github.com/NodeDB-Lab/nodedb / drop

Method drop

nodedb-vector/src/mmap_segment/reader.rs:456–475  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

454
455impl Drop for MmapVectorSegment {
456 fn drop(&mut self) {
457 if !self.base.is_null() && self.mmap_size > 0 {
458 if self.drop_policy.dontneed_on_drop() {
459 let data_bytes = self.mmap_size.saturating_sub(HEADER_SIZE + FOOTER_SIZE);
460 if data_bytes > 0 {
461 unsafe {
462 libc::madvise(
463 self.base as *mut libc::c_void,
464 self.mmap_size,
465 libc::MADV_DONTNEED,
466 );
467 }
468 observability::DONTNEED_COUNT.fetch_add(1, Ordering::Relaxed);
469 }
470 }
471 unsafe {
472 libc::munmap(self.base as *mut libc::c_void, self.mmap_size);
473 }
474 }
475 }
476}
477
478#[cfg(test)]

Callers

nothing calls this directly

Calls 2

dontneed_on_dropMethod · 0.80
is_nullMethod · 0.45

Tested by

no test coverage detected