<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Correct. Basic.Publish is an async method which is entirely fire and</div>
forget. Any responses to it are equally async. The distinction is<br>
important: pipelining is possible of async methods whereas it is not of<br>
sync methods. Thus you can&#39;t issue two queue.declares after each other<br>
without waiting for the first queue.declare_ok to come back, where as<br>
you can issue two basic.publishes straight after each other and then<br>
later on, the first evokes a basic.return.</blockquote><div><br></div><div>The side-effect for publishing being that the channel on the server side can still be in the process of routing the message while the client has already moved on to the next publish command.  So if the server node dies, without transactions or publisher confirms the client has no idea that the message has gone poof before it got routed. Would that be a correct description?</div>
<div><br></div><div>-J</div></div>