- Remove gitlinks (160000 mode) for chainfire, flaredb, iam - Add workspace contents as regular tracked files - Update flake.nix to use simple paths instead of builtins.fetchGit This resolves the nix build failure where submodule directories appeared empty in the nix store. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
40 lines
907 B
Rust
40 lines
907 B
Rust
//! Gossip/SWIM protocol integration for Chainfire distributed KVS
|
|
//!
|
|
//! This crate provides:
|
|
//! - Node identity for SWIM protocol
|
|
//! - Gossip agent with UDP transport
|
|
//! - Membership management
|
|
//! - Actual state broadcast
|
|
|
|
pub mod agent;
|
|
pub mod broadcast;
|
|
pub mod identity;
|
|
pub mod membership;
|
|
pub mod runtime;
|
|
|
|
pub use agent::GossipAgent;
|
|
pub use broadcast::ActualState;
|
|
pub use identity::GossipId;
|
|
pub use membership::MembershipChange;
|
|
pub use runtime::GossipRuntime;
|
|
|
|
use thiserror::Error;
|
|
|
|
/// Gossip protocol errors
|
|
#[derive(Error, Debug)]
|
|
pub enum GossipError {
|
|
#[error("Failed to bind to address: {0}")]
|
|
BindFailed(String),
|
|
|
|
#[error("IO error: {0}")]
|
|
Io(#[from] std::io::Error),
|
|
|
|
#[error("Serialization error: {0}")]
|
|
Serialization(String),
|
|
|
|
#[error("Invalid identity: {0}")]
|
|
InvalidIdentity(String),
|
|
|
|
#[error("Join failed: {0}")]
|
|
JoinFailed(String),
|
|
}
|