raft_log/chunk/
chunk_id.rs1use std::fmt;
2use std::ops::Deref;
3
4use crate::num::format_pad_u64;
5
6#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
13pub struct ChunkId(pub u64);
14
15impl fmt::Display for ChunkId {
16 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
17 write!(f, "ChunkId({})", format_pad_u64(self.0))
18 }
19}
20
21impl From<u64> for ChunkId {
22 fn from(offset: u64) -> Self {
23 ChunkId(offset)
24 }
25}
26
27impl Deref for ChunkId {
28 type Target = u64;
29
30 fn deref(&self) -> &Self::Target {
31 &self.0
32 }
33}
34
35impl ChunkId {
36 pub fn offset(&self) -> u64 {
41 self.0
42 }
43}