(&mut self, entries: &[LogEntry])
| 48 | |
| 49 | impl LogStorage for MemStorage { |
| 50 | fn append(&mut self, entries: &[LogEntry]) -> Result<()> { |
| 51 | for entry in entries { |
| 52 | // Overwrite or append. |
| 53 | if let Some(pos) = self.entries.iter().position(|e| e.index == entry.index) { |
| 54 | self.entries[pos] = entry.clone(); |
| 55 | } else { |
| 56 | self.entries.push(entry.clone()); |
| 57 | } |
| 58 | } |
| 59 | Ok(()) |
| 60 | } |
| 61 | |
| 62 | fn truncate(&mut self, index: u64) -> Result<()> { |
| 63 | self.entries.retain(|e| e.index < index); |