Skip to main content

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:   FSL-1.1-ALv2
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}