Class: Corosync::CPG::Member
- Inherits:
-
Object
- Object
- Corosync::CPG::Member
- Defined in:
- lib/corosync/cpg/member.rb
Instance Attribute Summary collapse
-
#nodeid ⇒ Integer
readonly
Node ID of the member.
-
#pid ⇒ Integer
readonly
Process ID of the member.
Instance Method Summary collapse
- #==(target) ⇒ Boolean (also: #eql?)
- #hash ⇒ Object
-
#initialize(*args) ⇒ Member
constructor
A new instance of Member.
- #to_s ⇒ Object
Constructor Details
#initialize(member) ⇒ Member #initialize(nodeid, pid) ⇒ Member
Returns a new instance of Member.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/corosync/cpg/member.rb', line 18 def initialize(*args) if args.size == 1 then member = args.first member = Corosync::CpgAddress.new(member) if member.is_a?(FFI::Pointer) if member.is_a?(Corosync::CpgAddress) or member.is_a?(Corosync::CpgIterationDescriptionT) then @nodeid = member[:nodeid] @pid = member[:pid] else raise ArgumentError, "Invalid argument type" end elsif args.size == 2 then @nodeid = args.shift.to_i @pid = args.shift.to_i else raise ArgumentError, "wrong number of arguments (#{args.size} for 1..2)" end end |
Instance Attribute Details
#nodeid ⇒ Integer (readonly)
Returns Node ID of the member.
8 9 10 |
# File 'lib/corosync/cpg/member.rb', line 8 def nodeid @nodeid end |
#pid ⇒ Integer (readonly)
Returns Process ID of the member.
11 12 13 |
# File 'lib/corosync/cpg/member.rb', line 11 def pid @pid end |
Instance Method Details
#==(target) ⇒ Boolean Also known as: eql?
38 39 40 |
# File 'lib/corosync/cpg/member.rb', line 38 def ==(target) self.class == target.class and @nodeid == target.nodeid and @pid == target.pid end |
#hash ⇒ Object
43 44 45 |
# File 'lib/corosync/cpg/member.rb', line 43 def hash [@nodid,@pid].hash end |
#to_s ⇒ Object
47 48 49 |
# File 'lib/corosync/cpg/member.rb', line 47 def to_s "#{@nodeid}:#{@pid}" end |