# File common/lib/symbiosis/ipaddr.rb, line 66
  def IPAddr.from_i(arg, family=nil)
    if family.nil? 
      family = (arg < 0xffffffff ? Socket::AF_INET : Socket::AF_INET6)
    end

    if Socket::AF_INET == family 
      IPAddr.new((0..3).collect{|x| x*8}.collect{|x| (arg.to_i >> x & 0xff).to_s}.reverse.join("."))

    elsif Socket::AF_INET6 == family 
      IPAddr.new((0..7).collect{|x| x*16}.collect{|x| (arg.to_i >> x & 0xffff).to_s(16)}.reverse.join(":"))

    else

      raise ArgumentError, "Unknown address family"
    end
  end