Method: Aerospike::Node#initialize

Defined in:
lib/aerospike/node.rb

#initialize(cluster, nv) ⇒ Node

Initialize server node with connection parameters.

[View source]

36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/aerospike/node.rb', line 36

def initialize(cluster, nv)
  @cluster = cluster
  @name = nv.name
  @aliases = Atomic.new(nv.aliases)
  @host = nv.host
  @features = nv.features
  @cluster_name = nv.cluster_name

  # TODO: Re-use connection from node validator
  @tend_connection = nil

  # Assign host to first IP alias because the server identifies nodes
  # by IP address (not hostname).
  @host = nv.aliases[0]
  @health = Atomic.new(FULL_HEALTH)
  @peers_count = Atomic.new(0)
  @peers_generation = ::Aerospike::Node::Generation.new
  @partition_generation = ::Aerospike::Node::Generation.new
  @rebalance_generation = ::Aerospike::Node::Rebalance.new
  @reference_count = Atomic.new(0)
  @responded = Atomic.new(false)
  @active = Atomic.new(true)
  @failures = Atomic.new(0)

  @replica_index = Atomic.new(0)
  @racks = Atomic.new(nil)

  @connections = ::Aerospike::ConnectionPool.new(cluster, host)
end