in src/Testing/Emulator/IPAddressExtentions.cs [11:38]
public static int CompareTo(this IPAddress? left, IPAddress? right)
{
if (left is null && right is null)
{
return 0;
}
if (left is null)
{
return 1;
}
if (right is null)
{
return -1;
}
var leftBytesSpan = new ReadOnlySpan<byte>(left.GetAddressBytes());
var rightBytesSpan = new ReadOnlySpan<byte>(right.GetAddressBytes());
if (left.AddressFamily == right.AddressFamily)
{
return leftBytesSpan.SequenceCompareTo(rightBytesSpan);
}
return left.AddressFamily == AddressFamily.InterNetwork
? -Compare(rightBytesSpan, leftBytesSpan)
: Compare(leftBytesSpan, rightBytesSpan);
}