Class: IPAddress::IPv6::Unspecified
- Inherits:
-
IPAddress::IPv6
- Object
- IPAddress::IPv6
- IPAddress::IPv6::Unspecified
- Defined in:
- lib/ipaddress/ipv6.rb
Overview
The address with all zero bits is called the unspecified
address (corresponding to 0.0.0.0 in IPv4). It should be something like this:
0000:0000:0000:0000:0000:0000:0000:0000
but, with the use of compression, it is usually written as just two colons:
::
or, specifying the netmask:
::/128
With IPAddress, create a new unspecified IPv6 address using its own subclass:
ip = IPAddress::IPv6::Unspecified.new
ip.to_s
#=> => "::/128"
You can easily check if an IPv6 object is an unspecified address by using the IPv6#unspecified? method
ip.unspecified?
#=> true
An unspecified IPv6 address can also be created with the wrapper method, like we’ve seen before
ip = IPAddress "::"
ip.unspecified?
#=> true
This address must never be assigned to an interface and is to be used only in software before the application has learned its host’s source address appropriate for a pending connection. Routers must not forward packets with the unspecified address.
Constant Summary
Constants inherited from IPAddress::IPv6
Constants included from IPAddress
Instance Method Summary collapse
-
#initialize ⇒ Unspecified
constructor
Creates a new IPv6 unspecified address.
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
#initialize ⇒ Unspecified
Creates a new IPv6 unspecified address
ip = IPAddress::IPv6::Unspecified.new
ip.to_s
#=> => "::/128"
692 693 694 695 696 697 |
# File 'lib/ipaddress/ipv6.rb', line 692 def initialize @address = ("0000:"*8).chop @groups = Array.new(8,0) @prefix = Prefix128.new(128) @compressed = compress_address end |