View Source Xandra.Cluster.Host (Xandra v0.20.0)
The data structure to represent a host in a Cassandra cluster.
The fields of this struct are public. See t/0 for information on their type,
and %Xandra.Cluster.Host{} for more information.
Summary
Functions
The struct that represents a host in a Cassandra cluster.
Formats a host's address and port as a string.
Types
@type t() :: %Xandra.Cluster.Host{ address: :inet.ip_address() | String.t(), data_center: String.t(), host_id: String.t(), partitioner: String.t() | nil, port: :inet.port_number(), rack: String.t(), release_version: String.t(), schema_version: String.t(), tokens: MapSet.t(String.t()) }
The type for the host struct.
Fields
:address- the address of the host. It can be either an IP address or a hostname. If Xandra managed to connect to this host, then the:addresswill be the actual IP peer (see:inet.peername/1). Otherwise, the:addresswill be the parsed IP or the charlist hostname. For example, if you pass"10.0.2.1"as the address, Xandra will normalize it to{10, 0, 2, 1}.:port- the port of the host.:data_center- the data center of the host, as found in thesystem.localorsystem.peerstable.:host_id- the ID of the host, as found in thesystem.localorsystem.peerstable.:rack- the rack of the host, as found in thesystem.localorsystem.peerstable.:release_version- the release version of the host, as found in thesystem.localorsystem.peerstable.:schema_version- the schema version of the host, as found in thesystem.localorsystem.peerstable.:tokens- the tokens held by the host, as found in thesystem.localorsystem.peerstable.:partitioner- the partitioner used by the cluster, as found in thesystem.localtable. This is only present for the host that the control connection is connected to (thesystem.peerstable doesn't have this information), and isnilfor all other hosts.
Functions
The struct that represents a host in a Cassandra cluster.
See t/0 for the type of each field.
Formats a host's address and port as a string.
Examples
iex> host = %Xandra.Cluster.Host{address: {127, 0, 0, 1}, port: 9042}
iex> Xandra.Cluster.Host.format_address(host)
"127.0.0.1:9042"
iex> host = %Xandra.Cluster.Host{address: "example.com", port: 9042}
iex> Xandra.Cluster.Host.format_address(host)
"example.com:9042"