memory_budget/
reservation_error.rs1use std::fmt;
4
5#[derive(Clone, Copy, Debug, PartialEq, Eq)]
10pub struct ReservationError {
11 requested_bytes: u64,
12 reserved_bytes: u64,
13 capacity_bytes: u64,
14}
15
16impl ReservationError {
17 pub(crate) const fn new(requested: u64, reserved: u64, capacity: u64) -> Self {
18 Self {
19 requested_bytes: requested,
20 reserved_bytes: reserved,
21 capacity_bytes: capacity,
22 }
23 }
24
25 #[must_use]
27 pub const fn requested_bytes(self) -> u64 {
28 self.requested_bytes
29 }
30
31 #[must_use]
33 pub const fn reserved_bytes(self) -> u64 {
34 self.reserved_bytes
35 }
36
37 #[must_use]
39 pub const fn capacity_bytes(self) -> u64 {
40 self.capacity_bytes
41 }
42}
43
44impl fmt::Display for ReservationError {
45 fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
46 write!(
47 formatter,
48 "memory reservation refused: requested {} bytes with {} of {} bytes reserved",
49 self.requested_bytes, self.reserved_bytes, self.capacity_bytes,
50 )
51 }
52}
53
54impl std::error::Error for ReservationError {}