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}