[][src]Crate membership

Implementation of SWIM protocol.

Please refer to SWIM paper for detailed description.

Examples

use membership::{Membership, ProtocolConfig};
use std::net::SocketAddr;
use failure::_core::str::FromStr;
use failure::_core::time::Duration;

let mut ms1 = Membership::new(SocketAddr::from_str("127.0.0.1:2345")?, Default::default());
let mut ms2 = Membership::new(SocketAddr::from_str("127.0.0.1:3456")?, Default::default());
ms1.join(SocketAddr::from_str("127.0.0.1:3456")?)?;
ms2.join(SocketAddr::from_str("127.0.0.1:2345")?)?;
std::thread::sleep(Duration::from_secs(ProtocolConfig::default().protocol_period * 2));
println!("{:?}", ms1.get_members()?);
println!("{:?}", ms2.get_members()?);
ms1.stop()?;
ms2.stop()?;

Structs

Membership

Runs the gossip protocol on an internal thread.

ProtocolConfig

Configuration for the membership protocol.