Gossip protocol implementation for state synchronization.
Uses UDP for small messages (<1KB) and TCP for larger payloads. Implements push-pull anti-entropy for eventual consistency.
Gossip protocol implementation for state synchronization. Uses UDP for small messages (<1KB) and TCP for larger payloads. Implements push-pull anti-entropy for eventual consistency.
(apply-remote-states! states)Apply received remote states to appropriate providers.
Apply received remote states to appropriate providers.
(broadcast-message! msg)Broadcast a message to all alive peers.
Broadcast a message to all alive peers.
(broadcast-state-change! state)Immediately broadcast a state change to peers.
Immediately broadcast a state change to peers.
(broadcast-states! states)Broadcast multiple state changes to peers.
Broadcast multiple state changes to peers.
(configure! new-config)Update gossip configuration.
Update gossip configuration.
(get-all-sync-states)Get all syncable states from all providers.
Get all syncable states from all providers.
(get-state-digest)Get combined state digest from all providers.
Get combined state digest from all providers.
(get-state-providers)Get all registered state providers.
Get all registered state providers.
(gossip-to-random! msg)Gossip a message to random subset of peers.
Gossip a message to random subset of peers.
(register-state-provider! provider)Register a state provider for synchronization.
Register a state provider for synchronization.
(running?)Check if gossip transport is running.
Check if gossip transport is running.
(send-message! address msg)Send a gossip message to a peer. Uses UDP for small messages, TCP for large.
Send a gossip message to a peer. Uses UDP for small messages, TCP for large.
(unregister-state-provider! type)Unregister a state provider.
Unregister a state provider.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |