Skip to main content

harmos_domain/operations/storage/
storage_status.rs

1/* ***
2 *
3 * Harmos
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 *
7 * ***
8 */
9
10/* === Modules === */
11
12/* === Re-Exports === */
13
14/* === Imports === */
15
16// Standard Library Imports
17
18// Third Party Imports
19
20// Local Imports
21use super::POLICY;
22use crate::MemorySize;
23use crate::model::storage::StorageInfo;
24use crate::model::storage::codec::product;
25use crate::operations::{ReplaySafety, Visibility};
26
27/* === Constants === */
28
29/* === Macros === */
30
31product!(StorageStatus {});
32
33crate::declare!(StorageStatus {
34    id: "storage.status",
35    version: 1,
36    policy: POLICY,
37    response: StorageInfo,
38    visibility: Visibility::Host,
39    replay: ReplaySafety::Idempotent,
40});
41
42/* === Type Aliases === */
43
44/* === Structs === */
45
46// Read The Storage Frontiers, Mutation Window And File Batch Size.
47#[derive(Clone, Copy, Debug, Default, PartialEq, Eq)]
48pub struct StorageStatus {}
49
50/* === Enums === */
51
52/* === Traits === */
53
54/* === Implementations === */
55
56impl MemorySize for StorageStatus {
57    fn memory_size(&self) -> usize {
58        std::mem::size_of::<Self>()
59    }
60}
61
62/* === Public Functions === */
63
64/* === Private Functions === */
65
66/* === Tests === */