pub struct NodeRegistry { /* private fields */ }Expand description
Node registry for cluster membership.
Implementations§
Source§impl NodeRegistry
impl NodeRegistry
Sourcepub fn local_node(&self) -> &NodeInfo
pub fn local_node(&self) -> &NodeInfo
Get the local node info.
Sourcepub async fn set_status(&self, status: NodeStatus) -> Result<()>
pub async fn set_status(&self, status: NodeStatus) -> Result<()>
Update node status.
Sourcepub async fn deregister(&self) -> Result<()>
pub async fn deregister(&self) -> Result<()>
Deregister the local node from the cluster.
Sourcepub async fn get_active_nodes(&self) -> Result<Vec<NodeInfo>>
pub async fn get_active_nodes(&self) -> Result<Vec<NodeInfo>>
Get all active nodes in the cluster.
Sourcepub async fn get_nodes_by_status(
&self,
status: NodeStatus,
) -> Result<Vec<NodeInfo>>
pub async fn get_nodes_by_status( &self, status: NodeStatus, ) -> Result<Vec<NodeInfo>>
Get nodes by status.
Sourcepub async fn get_node(&self, node_id: NodeId) -> Result<Option<NodeInfo>>
pub async fn get_node(&self, node_id: NodeId) -> Result<Option<NodeInfo>>
Get a specific node by ID.
Sourcepub async fn count_by_status(&self) -> Result<NodeCounts>
pub async fn count_by_status(&self) -> Result<NodeCounts>
Count nodes by status.
Sourcepub async fn mark_dead_nodes(&self, threshold: Duration) -> Result<u64>
pub async fn mark_dead_nodes(&self, threshold: Duration) -> Result<u64>
Mark stale nodes as dead.
Sourcepub async fn cleanup_dead_nodes(&self, older_than: Duration) -> Result<u64>
pub async fn cleanup_dead_nodes(&self, older_than: Duration) -> Result<u64>
Clean up old dead nodes.
Auto Trait Implementations§
impl Freeze for NodeRegistry
impl !RefUnwindSafe for NodeRegistry
impl Send for NodeRegistry
impl Sync for NodeRegistry
impl Unpin for NodeRegistry
impl !UnwindSafe for NodeRegistry
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
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request