class Corosync::CPG::Member

Attributes

nodeid[R]

@return [Integer] Node ID of the member

pid[R]

@return [Integer] Process ID of the member

Public Class Methods

new(*args) click to toggle source

@overload initialize(member)

@param member [FFI::Pointer<Corosync::CpgAddress>, Corosync::CpgAddress]

@overload initialize(nodeid, pid)

@param nodeid [Integer]
@param pid [Integer]
# 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

Public Instance Methods

==(target) click to toggle source

@return [Boolean]

# File lib/corosync/cpg/member.rb, line 38
def ==(target)
        self.class == target.class and @nodeid == target.nodeid and @pid == target.pid
end
Also aliased as: eql?
eql?(target)
Alias for: ==
hash() click to toggle source
# File lib/corosync/cpg/member.rb, line 43
def hash
        [@nodid,@pid].hash
end
to_s() click to toggle source
# File lib/corosync/cpg/member.rb, line 47
def to_s
        "#{@nodeid}:#{@pid}"
end