aeron-driver/src/main/java/io/aeron/driver/media/UdpChannel.java
public static String canonicalise(final InetSocketAddress localData, final InetSocketAddress remoteData)
    {
        final StringBuilder builder = new StringBuilder(48);

        builder.append("UDP-");

        toHex(builder, localData.getAddress().getAddress())
            .append('-')
            .append(localData.getPort());

        builder.append('-');

        toHex(builder, remoteData.getAddress().getAddress())
            .append('-')
            .append(remoteData.getPort());

        return builder.toString();
    }
public static String canonicalise(final InetSocketAddress localData, final InetSocketAddress remoteData)
    {
        final StringBuilder builder = new StringBuilder(48);

        builder.append("UDP-");

        toHex(builder, localData.getAddress().getAddress())
            .append('-')
            .append(localData.getPort());

        builder.append('-');

        toHex(builder, remoteData.getAddress().getAddress())
            .append('-')
            .append(remoteData.getPort());

        return builder.toString();
    }
Return a string which is a canonical form of the channel suitable for use as a file or directory
name and also as a method of hashing, etc.
<p>
A canonical form:
<ul>
<li>begins with the string "UDP-"</li>
<li>has all addresses converted to hexadecimal</li>
<li>uses "-" as all field separators</li>
</ul>
<p>
The general format is:
UDP-interface-localPort-remoteAddress-remotePort

@param localData  address/interface for the channel
@param remoteData address for the channel
@return canonical representation as a string