gosub_sonar/net/
request_ref.rs1use std::fmt::Display;
4
5#[derive(Debug, Clone, PartialEq, Eq, Hash, Copy)]
9pub enum RequestReference {
10 Background(u64),
12 Tagged(u64),
14}
15
16impl Default for RequestReference {
17 fn default() -> Self {
18 RequestReference::Background(0)
19 }
20}
21
22impl Display for RequestReference {
23 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
24 match self {
25 RequestReference::Background(id) => write!(f, "BG({})", id),
26 RequestReference::Tagged(id) => write!(f, "Tagged({})", id),
27 }
28 }
29}
30
31#[cfg(test)]
32mod tests {
33 use super::*;
34
35 #[test]
36 fn display_background() {
37 assert_eq!(format!("{}", RequestReference::Background(42)), "BG(42)");
38 }
39
40 #[test]
41 fn display_tagged() {
42 assert_eq!(format!("{}", RequestReference::Tagged(7)), "Tagged(7)");
43 }
44}