View Source Xandra.Cluster.Host (Xandra v0.19.4)
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(), 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.
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"