hyperi_rustlib/transport/memory/token.rs
1// Project: hyperi-rustlib
2// File: src/transport/memory/token.rs
3// Purpose: Memory transport commit token
4// Language: Rust
5//
6// License: BUSL-1.1
7// Copyright: (c) 2026 HYPERI PTY LIMITED
8
9use crate::transport::traits::CommitToken;
10
11/// Commit token for memory transport.
12///
13/// Contains a sequence number that can be used to track
14/// which messages have been processed.
15#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
16pub struct MemoryToken {
17 /// Message sequence number.
18 pub seq: u64,
19}
20
21impl CommitToken for MemoryToken {}
22
23impl std::fmt::Display for MemoryToken {
24 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
25 write!(f, "memory:{}", self.seq)
26 }
27}