actix-telepathy 0.7.0

Cluster extension for the actix actor framework
Documentation
use crate::NetworkInterface;
use crate::{DefaultSerialization, RemoteMessage};
use actix::prelude::*;
use serde::{Deserialize, Serialize};
use std::collections::HashSet;
use std::net::SocketAddr;

#[derive(Message)]
#[rtype(result = "Result<Vec<Addr<NetworkInterface>>, ()>")]
pub struct NodeResolving {
    pub addrs: Vec<SocketAddr>,
}

#[derive(Serialize, Deserialize, Clone, Debug)]
pub enum GossipEvent {
    Join,
    Leave,
}

#[derive(RemoteMessage, Serialize, Deserialize, Debug, Clone)]
pub struct GossipMessage {
    pub event: GossipEvent,
    pub addr: SocketAddr,
    pub seen: HashSet<SocketAddr>,
}

#[derive(RemoteMessage, Serialize, Deserialize, Debug, Clone)]
pub struct GossipJoining {
    pub about_to_join: usize,
}

#[derive(RemoteMessage, Serialize, Deserialize, Debug, Clone)]
pub struct SingleSeedMembers(pub Vec<SocketAddr>);