addNode method

void addNode(
  1. String nodeId,
  2. String address,
  3. int port
)

Adds a new node to the membership

Implementation

void addNode(String nodeId, String address, int port) {
  final node = GossipNode<T>(
    nodeId: nodeId,
    address: address,
    port: port,
    lastSeen: DateTime.now(),
    state: GossipNodeState.alive,
  );

  _membership[nodeId] = node;

  // Emit membership event if controller is not closed
  try {
    if (!_membershipController.isClosed) {
      _membershipController.add(node);
    }
  } catch (e) {
    // Controller is closed, ignore
  }
}