March Docs

NodeIdentity

NodeIdentity: a cluster node's identity, exchanged in the net-kernel handshake.

A node is named (e.g. "worker@host"), has a stable NodeId derived from its public key, and an incarnation counter that increments each time the node restarts (so peers can tell a fresh start from a stale one — SWIM-style). The identity is serialized with MessagePack and sent inside a NetFrame.

Types

typeIdentityIdentity = { name : String, node_id : String, incarnation : Int }#

Functions

fndecodedecode(bytes : List(Int)) : Result(Identity, String)#
fnderive_idderive_id(pubkey : String) : String#
fnencodeencode(id : Identity) : List(Int)#
fnmakemake(name : String, pubkey : String, incarnation : Int) : Identity#