28 lines
653 B
Rust
28 lines
653 B
Rust
use std::fmt;
|
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
/// Opaque identifier for a remote host.
|
|
///
|
|
/// Returned by the server in `InitializeResponse`. Used by
|
|
/// `RemoteServerManager` and downstream features to deduplicate
|
|
/// host-scoped models (e.g. `RepoMetadataModel`) across sessions.
|
|
#[derive(Clone, Debug, PartialEq, Eq, Hash, Serialize, Deserialize)]
|
|
pub struct HostId(String);
|
|
|
|
impl HostId {
|
|
pub fn new(id: String) -> Self {
|
|
Self(id)
|
|
}
|
|
|
|
pub fn as_str(&self) -> &str {
|
|
&self.0
|
|
}
|
|
}
|
|
|
|
impl fmt::Display for HostId {
|
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
|
f.write_str(&self.0)
|
|
}
|
|
}
|