pub struct GossipMember {
pub node_id: String,
pub address: SocketAddr,
pub api_address: String,
pub role: NodeRole,
pub state: MemberState,
pub incarnation: u64,
pub last_updated_ms: u64,
pub suspect_time_ms: Option<u64>,
pub metadata: HashMap<String, String>,
}Expand description
Information about a cluster member
Fields§
§node_id: StringUnique node identifier
address: SocketAddrNode’s gossip address
api_address: StringAPI address for client connections
role: NodeRoleNode role
state: MemberStateCurrent state
incarnation: u64State incarnation number (for conflict resolution)
last_updated_ms: u64Timestamp when state was last updated
suspect_time_ms: Option<u64>Timestamp when suspicion started (if suspect)
metadata: HashMap<String, String>Custom metadata
Implementations§
Source§impl GossipMember
impl GossipMember
Sourcepub fn new(
node_id: String,
address: SocketAddr,
api_address: String,
role: NodeRole,
) -> Self
pub fn new( node_id: String, address: SocketAddr, api_address: String, role: NodeRole, ) -> Self
Create a new member
Sourcepub fn to_node_info(&self) -> NodeInfo
pub fn to_node_info(&self) -> NodeInfo
Convert to NodeInfo for cluster coordinator
Trait Implementations§
Source§impl Clone for GossipMember
impl Clone for GossipMember
Source§fn clone(&self) -> GossipMember
fn clone(&self) -> GossipMember
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GossipMember
impl Debug for GossipMember
Source§impl<'de> Deserialize<'de> for GossipMember
impl<'de> Deserialize<'de> for GossipMember
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for GossipMember
impl RefUnwindSafe for GossipMember
impl Send for GossipMember
impl Sync for GossipMember
impl Unpin for GossipMember
impl UnsafeUnpin for GossipMember
impl UnwindSafe for GossipMember
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more