Bedrock.ControlPlane.Config.Parameters (bedrock v0.6.0)

View Source

A Parameters is a data structure that describes the t that are used to configure the cluster.

Summary

Types

Struct representing the parameters that are used to configure the cluster.

t()

Types

rate_in_hz()

@type rate_in_hz() :: pos_integer()

Struct representing the parameters that are used to configure the cluster.

Fields:

  • nodes - A list of nodes that are participating in the cluster.
  • ping_rate_in_hz - The rate at which the director is to ping the nodes, expressed in Hertz.
  • retransmission_rate_in_hz - The rate at which the system is to retransmit messages, expressed in Hertz.
  • replication_factor - The (minimum) number of nodes that must acknowledge a write before it is considered successful.
  • desired_coordinators - The number of coordinators that are to be made available within the system.
  • desired_logs - The number of transaction logs that are to be made available
  • desired_read_version_proxies - The number of get read version proxies that are to be made available as part of the transaction system.
  • desired_commit_proxies - The number of commit proxies that are to be made available as part of the transaction system.
  • desired_transaction_resolvers - The number of transaction resolvers that are to be made available as part of the transaction system.

replication_factor()

@type replication_factor() :: pos_integer()

t()

@type t() :: %{
  nodes: [node()],
  ping_rate_in_hz: rate_in_hz(),
  retransmission_rate_in_hz: rate_in_hz(),
  desired_replication_factor: replication_factor(),
  desired_coordinators: pos_integer(),
  desired_logs: pos_integer(),
  desired_read_version_proxies: pos_integer(),
  desired_commit_proxies: pos_integer(),
  transaction_window_in_ms: pos_integer()
}

Functions

new(coordinators)

@spec new(coordinators :: [node()]) :: t()

put_desired_replication_factor(t, replication_factor)

@spec put_desired_replication_factor(t(), replication_factor()) :: t()