real-logic/Aeron — pull request #38 by mikeb01 (2014-11-27 02:35:00+00:00)
Title: Use AeronUri in channel configuration and support IPv6

Finally integrated the `AeronUri` into UdpChannel. Multicast configuration uses the properties `interface` and `group`, e.g. `aeron:udp?interface=localhost|group=224.0.1.1:40456`. Unicast configuration uses `remote` and `local`, until we can find better names for these properties, e.g. `aeron:udp?local=127.0.0.1|remote=192.168.0.1:40456`.

The notion of a default interface has been removed. There is now only interface search. If an interface for multicast is not specified, then a full wildcard is used. This will match the first interface it finds that supports multicast, with the exception of the loopback interface, which will only be used if there are no other multicast interfaces. This behaviour matches the original definition of the default interface, but means fewer "special cases" with the interface resolution code.

It is also now possible to use IPv6 addresses in the URIs using the standard HTTP approach of specifying them within `[]`. E.g. `aeron:udp?remote=[::1]:54321`, so that the `:` characters don't clash with the port definition.

Just so this doesn't break the world, the older `udp://...` URI format is still supported, with the code translating the older form into the newer one internally. We should consider deprecation and removal of the older format at some point.