Membership: {
    methods: {
        apply: {
            I: typeof RaftLogEntry;
            O: typeof RaftApplyResponse;
            kind: Unary;
            name: "Apply";
        };
        getCurrentConsensus: {
            I: typeof StorageConsensusRequest;
            O: typeof StorageConsensusResponse;
            kind: Unary;
            name: "GetCurrentConsensus";
        };
        join: {
            I: typeof JoinRequest;
            O: typeof JoinResponse;
            kind: Unary;
            name: "Join";
        };
        leave: {
            I: typeof LeaveRequest;
            O: typeof LeaveResponse;
            kind: Unary;
            name: "Leave";
        };
        subscribePeers: {
            I: typeof SubscribePeersRequest;
            O: typeof PeerConfigurations;
            kind: ServerStreaming;
            name: "SubscribePeers";
        };
        update: {
            I: typeof UpdateRequest;
            O: typeof UpdateResponse;
            kind: Unary;
            name: "Update";
        };
    };
    typeName: "v1.Membership";
} = ...

The membership service is exposed on storage-providing nodes to allow nodes to join and leave the cluster. This service is meant to be made available publicly to allow people in from the outside.

Type declaration

  • Readonly methods: {
        apply: {
            I: typeof RaftLogEntry;
            O: typeof RaftApplyResponse;
            kind: Unary;
            name: "Apply";
        };
        getCurrentConsensus: {
            I: typeof StorageConsensusRequest;
            O: typeof StorageConsensusResponse;
            kind: Unary;
            name: "GetCurrentConsensus";
        };
        join: {
            I: typeof JoinRequest;
            O: typeof JoinResponse;
            kind: Unary;
            name: "Join";
        };
        leave: {
            I: typeof LeaveRequest;
            O: typeof LeaveResponse;
            kind: Unary;
            name: "Leave";
        };
        subscribePeers: {
            I: typeof SubscribePeersRequest;
            O: typeof PeerConfigurations;
            kind: ServerStreaming;
            name: "SubscribePeers";
        };
        update: {
            I: typeof UpdateRequest;
            O: typeof UpdateResponse;
            kind: Unary;
            name: "Update";
        };
    }
    • Readonly apply: {
          I: typeof RaftLogEntry;
          O: typeof RaftApplyResponse;
          kind: Unary;
          name: "Apply";
      }

      Apply is used by voting nodes to request a log entry be applied to the state machine. This is only available on the leader, and can only be called by nodes that are allowed to vote. This is only used by the built-in raft storage implementation.

      Generated

      from rpc v1.Membership.Apply

    • Readonly getCurrentConsensus: {
          I: typeof StorageConsensusRequest;
          O: typeof StorageConsensusResponse;
          kind: Unary;
          name: "GetCurrentConsensus";
      }

      GetCurrentConsensus returns the current Storage consensus configuration.

      Generated

      from rpc v1.Membership.GetCurrentConsensus

    • Readonly join: {
          I: typeof JoinRequest;
          O: typeof JoinResponse;
          kind: Unary;
          name: "Join";
      }

      Join is used to join a node to the mesh.

      Generated

      from rpc v1.Membership.Join

    • Readonly leave: {
          I: typeof LeaveRequest;
          O: typeof LeaveResponse;
          kind: Unary;
          name: "Leave";
      }

      Leave is used to remove a node from the mesh. The node will be removed from the mesh and will no longer be able to query the mesh state or vote in elections.

      Generated

      from rpc v1.Membership.Leave

    • Readonly subscribePeers: {
          I: typeof SubscribePeersRequest;
          O: typeof PeerConfigurations;
          kind: ServerStreaming;
          name: "SubscribePeers";
      }

      SubscribePeers subscribes to the peer configuration for the given node. The node will receive updates to the peer configuration as it changes.

      Generated

      from rpc v1.Membership.SubscribePeers

    • Readonly update: {
          I: typeof UpdateRequest;
          O: typeof UpdateResponse;
          kind: Unary;
          name: "Update";
      }

      Update is used by a node to update its state in the mesh. The node will be updated in the mesh and will be able to query the mesh state or vote in elections. Only non-empty fields will be updated. It is almost semantically equivalent to a join request with the same ID, but redefined to avoid confusion and to allow for expansion.

      Generated

      from rpc v1.Membership.Update

  • Readonly typeName: "v1.Membership"

Generated

from service v1.Membership

Generated using TypeDoc