All Implemented Interfaces:
Serializable, Cloneable, Iterable<String>, Collection<String>, Set<String>

public class MaskedIPSetextends HashSet<String>
IP address masking utility for router family and network detection.

Provides IP address masking functionality to detect routers with matching IP addresses or belonging to the same network family. Used for network topology analysis and peer relationship identification in distributed hash table operations.

Supports configurable masking levels (1-4 bytes) and includes both communication system records and network database addresses for comprehensive matching. Optimized for efficiency with local lookup operations to avoid deadlocks.

As of 0.9.24, returned set includes netdb family as well as IP-based matches for broader detection capabilities.

See Also:
  • Constructor Details

    • MaskedIPSet

      public MaskedIPSet()
      Create an empty set.
    • MaskedIPSet

      public MaskedIPSet(int initialCapacity)
      Masked IP set with a given initial capacity.
      Parameters:
      initialCapacity - the initial capacity
    • MaskedIPSet

      public MaskedIPSet(RouterContext ctx, Hash peer, int mask)
      The Set of IPs for this peer, with a given mask. Includes the comm system's record of the IP, and all netDb addresses.

      As of 0.9.24, returned set will include netdb family as well.

      This gets the peer from the netdb without validation, for efficiency and to avoid deadlocks. Peers are presumed to be validated elsewhere.

      Parameters:
      ctx - router context used to look up the peer in the netdb and comm system
      peer - non-null
      mask - is 1-4 (number of bytes to match)
    • MaskedIPSet

      public MaskedIPSet(RouterContext ctx, RouterInfo pinfo, int mask)
      The Set of IPs for this peer, with a given mask. Includes the comm system's record of the IP, and all netDb addresses.

      As of 0.9.24, returned set will include netdb family as well.

      Parameters:
      ctx - router context used to look up the peer in the netdb and comm system
      pinfo - may be null
      mask - is 1-4 (number of bytes to match)
    • MaskedIPSet

      public MaskedIPSet(RouterContext ctx, Hash peer, RouterInfo pinfo, int mask)
      The Set of IPs for this peer, with a given mask. Includes the comm system's record of the IP, and all netDb addresses.

      As of 0.9.24, returned set will include netdb family as well.

      Parameters:
      ctx - router context supplying the peer's recorded comm system IP
      peer - the peer's router hash, used for the comm system lookup
      pinfo - may be null
      mask - is 1-4 (number of bytes to match)
  • Method Details

    • containsAny

      public boolean containsAny(Set<String> b)
      Does this contain any of the elements in b?
      Parameters:
      b - the set of elements to check
      Returns:
      true if any element is contained