On 9 April 2012 11:59, Matwey V. Kornilov <span dir="ltr"><<a href="mailto:matwey.kornilov@gmail.com">matwey.kornilov@gmail.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
It is hard to avoid collisions. If I create private exchange and its names<br>
and arguments coincide with such of other one, then there is no way to<br>
detect the collision. If type or args are different then I can detect it and<br>
try to regenerate the name.<br></blockquote><div><br>If you need crypto-strong names, then just trust in the size of your keyspace. 160 bits is enough for anybody, right? :-)<br><br>If, on the other hand, you don't, but you can't tolerate even a level of collision probability best described as "impossible", perhaps you could use a Snowflake-like system: <a href="http://engineering.twitter.com/2010/06/announcing-snowflake.html">http://engineering.twitter.com/2010/06/announcing-snowflake.html</a> (Naturally the implementation they're using is far too heavy for your needs, but the core idea is sound.)<br>
<br>(As a third option, you might be able to cook up some scheme where you create and bind to the exchange, and then send a "ping" message to it. If you ever receive a ping from someone else, inform them they are colliding with you.)<br>
<br>Cheers,<br> Tony<br></div></div>-- <br>Tony Garnock-Jones<br><a href="mailto:tonygarnockjones@gmail.com" target="_blank">tonygarnockjones@gmail.com</a><br><a href="http://homepages.kcbbs.gen.nz/tonyg/" target="_blank">http://homepages.kcbbs.gen.nz/tonyg/</a><br>