Class: IPAddress::IPv6::Loopback

Inherits:
IPAddress::IPv6 show all
Defined in:
lib/ipaddress/ipv6.rb

Overview

The loopback address is a unicast localhost address. If an application in a host sends packets to this address, the IPv6 stack will loop these packets back on the same virtual interface.

Loopback addresses are expressed in the following form:

::1

or, with their appropriate prefix,

::1/128

As for the unspecified addresses, IPv6 loopbacks can be created with IPAddress calling their own class:

ip = IPAddress::IPv6::Loopback.new

ip.to_string
  #=> "::1/128"

or by using the wrapper:

ip = IPAddress "::1"

ip.to_string
  #=> "::1/128"

Checking if an address is loopback is easy with the IPv6#loopback? method:

ip.loopback?
  #=> true

The IPv6 loopback address corresponds to 127.0.0.1 in IPv4.

Constant Summary

Constants inherited from IPAddress::IPv6

IN6FORMAT

Constants included from IPAddress

AUTHORS, GEM, NAME

Instance Method Summary collapse

Methods inherited from IPAddress::IPv6

#<=>, #[], #address, #bits, #broadcast_u128, compress, #compressed, #data, #each, expand, groups, #groups, #hexs, #include?, #literal, #loopback?, #mapped?, #network, #network?, #network_u128, parse_data, parse_hex, parse_u128, #prefix, #prefix=, #reverse, #size, #to_hex, #to_i, #to_s, #to_string, #to_string_uncompressed, #unspecified?

Methods included from IPAddress

deprecate, #ipv4?, #ipv6?, parse, valid?, valid_ipv4?, valid_ipv4_netmask?, valid_ipv6?

Constructor Details

#initializeLoopback

Creates a new IPv6 unspecified address

ip = IPAddress::IPv6::Loopback.new

ip.to_string
  #=> "::1/128"


745
746
747
748
749
750
# File 'lib/ipaddress/ipv6.rb', line 745

def initialize
  @address = ("0000:"*7)+"0001"
  @groups = Array.new(7,0).push(1) 
  @prefix = Prefix128.new(128)
  @compressed = compress_address
end