parseIpv4 function
Parses IPv4 "a.b.c.d" into int (big-endian). Returns null if invalid.
Implementation
int? parseIpv4(String s) {
final List<String> parts = s.split('.');
if (parts.length != _ipv4OctetCount) return null;
int address = 0;
for (final String p in parts) {
final int? n = int.tryParse(p);
if (n == null || n < _ipv4OctetMin || n > _ipv4OctetMax) return null;
address = (address << _bitsPerOctet) | n;
}
return address;
}