Attached is a revised version of the first patch with the changes
below. Rather than using a different exchange type, add "anycast" = 1
to the arguments passed to exchangeDeclare. I've tested this with
fanout and topic exchanges with the RabbitMQ java library and
py-amqplib from Barry Pederson.<br><br>Kyle<br><br><div class="gmail_quote">On Tue, Apr 22, 2008 at 1:16 AM, Matthias Radestock <<a href="mailto:matthias@lshift.net">matthias@lshift.net</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
It occurred to me that rather than introducing a new exchange type one could place an indicator in the exchange arguments that turns any exchange from a multicast to an anycast exchange. That has two advantages:<br>
<br>
- we stay entirely within the defined protocol standard<br>
<br>
- the user can select the most appropriate matching logic with the exchange type, rather than being constrained to topic-based matching<br>
<br>
- use a flag in the process dictionary to indicate whether the random number generator has been seeded. Check/set that flag in your current code that invokes random:uniform. This has the same effect as the previous approach but is a less intrusive change since you don't need to touch any other modules.<font color="#888888"><br>
</font></blockquote></div><br>