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
demongoize, deprecate, evolve, #ipv4?, #ipv6?, mongoize, #mongoize, ntoa, 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"
701 702 703 704 705 706 |
# File 'lib/ipaddress/ipv6.rb', line 701 def initialize @address = ("0000:"*8).chop @groups = Array.new(8,0) @prefix = Prefix128.new(128) @compressed = compress_address end |