behavior_actors/atomic/
activation.rs1use super::capacity::{PositiveCapacity, ZeroCapacity};
4
5#[derive(Clone, Copy, Debug, Eq, PartialEq)]
7pub struct ActivationPolicy {
8 maximum: PositiveCapacity,
9}
10
11impl ActivationPolicy {
12 pub fn new(maximum: usize) -> Result<Self, ZeroCapacity> {
18 PositiveCapacity::new(maximum).map(|maximum| Self { maximum })
19 }
20
21 pub(crate) const fn maximum(self) -> usize {
22 self.maximum.get()
23 }
24}
25
26#[derive(Clone, Copy, Debug, Eq, PartialEq)]
28pub struct EntryCapacity {
29 maximum: PositiveCapacity,
30}
31
32impl EntryCapacity {
33 pub fn new(maximum: usize) -> Result<Self, ZeroCapacity> {
39 PositiveCapacity::new(maximum).map(|maximum| Self { maximum })
40 }
41
42 pub(crate) const fn maximum(self) -> usize {
43 self.maximum.get()
44 }
45}