isInPrivate property

bool isInPrivate

True if this address is in a private IP address.

Implementation

bool get isInPrivate {
  final bytes = toIPv6().rawAddress;
  switch (bytes[0]) {
    case 253:
      return bytes[1] == 0;
    case 0:
      for (var i = 1; i < 10; i++) {
        if (bytes[i] != 0) {
          return false;
        }
      }
      for (var i = 10; i < 12; i++) {
        if (bytes[i] != 255) {
          return false;
        }
      }
      switch (bytes[12]) {
        case 10:
          return true;
        case 192:
          return bytes[13] == 168;
        case 172:
          return bytes[13] >= 16 && bytes[13] < 32;
      }
  }
  return false;
}