Skip to main content

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}