pub struct PeerDatabase { /* private fields */ }Expand description
Database connection wrapper with automatic migrations
Implementations§
Source§impl PeerDatabase
impl PeerDatabase
Sourcepub fn open(db_path: PathBuf) -> Result<Self, Report>
pub fn open(db_path: PathBuf) -> Result<Self, Report>
Create or open a peer database at the given path
Sourcepub fn load_manager_peers(
&self,
profile: &str,
) -> Result<Vec<ManagerPeerEntry>, Report>
pub fn load_manager_peers( &self, profile: &str, ) -> Result<Vec<ManagerPeerEntry>, Report>
Load all manager peers for a given profile
Sourcepub fn save_manager_peers(
&mut self,
profile: &str,
peers: &[ManagerPeerEntry],
) -> Result<(), Report>
pub fn save_manager_peers( &mut self, profile: &str, peers: &[ManagerPeerEntry], ) -> Result<(), Report>
Save manager peers for a given profile (replaces all existing peers)
Sourcepub fn add_manager_peer(
&mut self,
profile: &str,
peer: ManagerPeerEntry,
) -> Result<(), Report>
pub fn add_manager_peer( &mut self, profile: &str, peer: ManagerPeerEntry, ) -> Result<(), Report>
Add or update a single manager peer
Sourcepub fn remove_manager_peer(
&mut self,
profile: &str,
manager_id: &str,
tenant: &str,
cluster: &str,
) -> Result<bool, Report>
pub fn remove_manager_peer( &mut self, profile: &str, manager_id: &str, tenant: &str, cluster: &str, ) -> Result<bool, Report>
Remove a manager peer
Sourcepub fn load_manager_peers_for_gossip(
&self,
profile: &str,
) -> Result<Vec<ManagerPeerEntry>, Report>
pub fn load_manager_peers_for_gossip( &self, profile: &str, ) -> Result<Vec<ManagerPeerEntry>, Report>
Load manager peers for gossip (excludes temporary joining placeholders)
Sourcepub fn load_worker_peers(
&self,
profile: &str,
) -> Result<(Vec<WorkerPeerEntry>, u64), Report>
pub fn load_worker_peers( &self, profile: &str, ) -> Result<(Vec<WorkerPeerEntry>, u64), Report>
Load worker peers for a given profile
Sourcepub fn save_worker_peers(
&mut self,
profile: &str,
peers: &[WorkerPeerEntry],
version: u64,
) -> Result<(), Report>
pub fn save_worker_peers( &mut self, profile: &str, peers: &[WorkerPeerEntry], version: u64, ) -> Result<(), Report>
Save worker peers for a given profile
Sourcepub fn add_worker_peer(
&mut self,
profile: &str,
peer: WorkerPeerEntry,
) -> Result<(), Report>
pub fn add_worker_peer( &mut self, profile: &str, peer: WorkerPeerEntry, ) -> Result<(), Report>
Add a worker peer if it doesn’t already exist
Sourcepub fn get_peer_version(&self, profile: &str, role: &str) -> Result<u64, Report>
pub fn get_peer_version(&self, profile: &str, role: &str) -> Result<u64, Report>
Get peer version for a given profile and role
Sourcepub fn set_peer_version(
&mut self,
profile: &str,
role: &str,
version: u64,
) -> Result<(), Report>
pub fn set_peer_version( &mut self, profile: &str, role: &str, version: u64, ) -> Result<(), Report>
Set peer version for a given profile and role
Sourcepub fn increment_peer_version(
&mut self,
profile: &str,
role: &str,
) -> Result<u64, Report>
pub fn increment_peer_version( &mut self, profile: &str, role: &str, ) -> Result<u64, Report>
Increment and return the new peer version for a profile/role
Sourcepub fn get_db_size(&self) -> Result<u64, Report>
pub fn get_db_size(&self) -> Result<u64, Report>
Get database file size in bytes (for monitoring/debugging)
Auto Trait Implementations§
impl !Freeze for PeerDatabase
impl !RefUnwindSafe for PeerDatabase
impl !Sync for PeerDatabase
impl !UnwindSafe for PeerDatabase
impl Send for PeerDatabase
impl Unpin for PeerDatabase
impl UnsafeUnpin for PeerDatabase
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more