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

Method entries_range

nodedb-raft/src/log.rs:82–95  ·  view source on GitHub ↗

Get entries in range [lo, hi] inclusive.

(&self, lo: u64, hi: u64)

Source from the content-addressed store, hash-verified

80
81 /// Get entries in range [lo, hi] inclusive.
82 pub fn entries_range(&self, lo: u64, hi: u64) -> Result<&[LogEntry]> {
83 if lo <= self.snapshot_index {
84 return Err(RaftError::LogCompacted {
85 requested: lo,
86 first_available: self.snapshot_index + 1,
87 });
88 }
89 if lo > hi || lo > self.last_index() {
90 return Ok(&[]);
91 }
92 let start = (lo - self.snapshot_index - 1) as usize;
93 let end = ((hi.min(self.last_index()) - self.snapshot_index - 1) + 1) as usize;
94 Ok(&self.entries[start..end])
95 }
96
97 /// Append new entries from a leader's AppendEntries RPC.
98 ///

Callers 5

entries_rangeFunction · 0.80
send_append_entriesMethod · 0.80
log_entries_rangeMethod · 0.80

Calls 1

last_indexMethod · 0.80

Tested by 1

entries_rangeFunction · 0.64