Skip to main content

gwr_track/tracker/
types.rs

1// Copyright (c) 2023 Graphcore Ltd. All rights reserved.
2
3use std::fmt;
4
5use num_derive::{FromPrimitive, ToPrimitive};
6
7// Generic packet request types
8#[derive(Copy, Clone, Debug, Default, FromPrimitive, PartialEq, ToPrimitive)]
9#[allow(missing_docs)]
10pub enum ReqType {
11    #[default]
12    Read, //
13    Write,
14    WriteNonPosted,
15    Value,
16}
17
18impl fmt::Display for ReqType {
19    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
20        match self {
21            ReqType::Read => {
22                write!(f, "Read")
23            }
24            ReqType::Write => {
25                write!(f, "Write")
26            }
27            ReqType::WriteNonPosted => {
28                write!(f, "WriteNonPosted")
29            }
30            ReqType::Value => {
31                write!(f, "Value")
32            }
33        }
34    }
35}