Raft Consensus Algorithm
    Preparing search index...

    gRPC transport implementation for raft-core Transport interface.

    Handles client/server lifecycle, request/response conversion between protobuf payloads and raft-core RPC messages, peer management, and timeout/deadline wiring.

    Implements

    Index

    Constructors

    • Parameters

      • nodeId: string
      • port: number
      • peers: Record<NodeId, string>
      • OptionalcertPaths: { caCert: string; nodeCert: string; nodeKey: string }
      • callTimeoutMs: number = 5000
      • shutdownTimeoutMs: number = 5000
      • maxGrpcMessageBytes: number = ...

      Returns GrpcTransport

    Methods

    • Adds or replaces a gRPC client for a peer.

      Parameters

      • peerId: string

        Peer node id.

      • address: string

        Peer gRPC endpoint address.

      Returns Promise<void>

      NetworkError When transport is not initialized.

    • Removes and closes an existing peer client when present.

      Parameters

      • peerId: string

        Peer node id.

      Returns void

    • Sends one request RPC to a peer and resolves with mapped raft-core response.

      Parameters

      • peerId: string

        Target peer node id.

      • message: RPCMessage

        Outbound raft-core request envelope.

      Returns Promise<RPCMessage>

      Response envelope converted from gRPC payload.

      NetworkError When transport/peer is unavailable or RPC call fails.

    • Starts gRPC server, loads TLS credentials when configured, and initializes peer clients.

      Returns Promise<void>

      NetworkError When transport is already started or bind fails.

    • Stops server and closes all clients with graceful shutdown fallback.

      Returns Promise<void>

      NetworkError When transport is not started.