network_name.rs 864 Bytes
Newer Older
1
2
3
// SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
// SPDX-License-Identifier: Apache-2.0

4
use crate::discovery::MODEL_ROOT_PATH;
5
6
7
8
9

#[derive(Debug, Clone)]
pub struct ModelNetworkName(String);

impl ModelNetworkName {
10
11
    pub fn new() -> Self {
        ModelNetworkName(format!("{MODEL_ROOT_PATH}/{}", uuid::Uuid::new_v4()))
12
    }
13
}
14

15
16
17
impl Default for ModelNetworkName {
    fn default() -> Self {
        Self::new()
18
    }
19
}
20

21
22
23
impl std::fmt::Display for ModelNetworkName {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        write!(f, "{}", self.0)
24
25
26
    }
}

27
28
29
impl AsRef<str> for ModelNetworkName {
    fn as_ref(&self) -> &str {
        &self.0
30
31
32
    }
}

33
34
35
36
impl std::ops::Deref for ModelNetworkName {
    type Target = str;
    fn deref(&self) -> &Self::Target {
        &self.0
37
38
    }
}