themis/law/placement.rs
1//! Placement preference vocabulary.
2
3use super::{LocalityDomainId, MemoryTier, NumaNodeId};
4
5/// Placement preference supplied by allocation or scheduling callers.
6#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
7pub enum PlacementHint {
8 /// Use the caller's current locality.
9 #[default]
10 Current,
11 /// Prefer the specified NUMA node.
12 Numa(NumaNodeId),
13 /// Prefer the specified locality domain.
14 Domain(LocalityDomainId),
15 /// Prefer the specified memory tier.
16 Tier(MemoryTier),
17 /// No locality preference.
18 Any,
19}