vmi_core/core/
vcpu_id.rs

1use serde::{Deserialize, Serialize};
2
3/// A virtual CPU identifier.
4#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)]
5pub struct VcpuId(pub u16);
6
7impl From<u16> for VcpuId {
8    fn from(value: u16) -> Self {
9        Self(value)
10    }
11}
12
13impl From<VcpuId> for u16 {
14    fn from(value: VcpuId) -> Self {
15        value.0
16    }
17}
18
19impl std::fmt::Display for VcpuId {
20    fn fmt(&self, f: &mut std::fmt::Formatter) -> ::std::fmt::Result {
21        write!(f, "{}", self.0)
22    }
23}