Parse the first_lsn from a segment filename. Returns `None` if the filename doesn't match the expected pattern.
(filename: &str)
| 62 | /// |
| 63 | /// Returns `None` if the filename doesn't match the expected pattern. |
| 64 | pub(crate) fn parse_segment_filename(filename: &str) -> Option<u64> { |
| 65 | let stem = filename.strip_prefix(SEGMENT_PREFIX)?; |
| 66 | let lsn_str = stem.strip_suffix(&format!(".{SEGMENT_EXTENSION}"))?; |
| 67 | lsn_str.parse::<u64>().ok() |
| 68 | } |
| 69 | |
| 70 | #[cfg(test)] |
| 71 | mod tests { |