Looking for a bit more information on these new heartbeats that v3 implements:<div><br></div><div>- For the connection.tune method that gets sent to the client every ${heartbeat} seconds:</div><div>* Does this method always get delivered on channel 0?</div>
<div>* Is there a timeout that the broker has waiting for a connection.tune-ok response?</div><div>* If this timeout occurs what happens?</div><div>* What if the client never replies with a connection.tune-ok? (The client doesn't really use channel 0 after connecting, so it doesn't really violate the statemachine, until the client tries to disconnect).</div>
<div><br><br>I'm asking this in the context of rabbitmq-c which does not have a thread associated with each connection so that things like heartbeats can be easily serviced.</div><div><br></div><div>-Alan<br><br><div class="gmail_quote">
On Wed, Nov 21, 2012 at 10:36 AM, Matthias Radestock <span dir="ltr"><<a href="mailto:matthias@rabbitmq.com" target="_blank">matthias@rabbitmq.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Michael,<br>
<br>
On 21/11/12 15:19, Michael Klishin wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2012/11/21 Matthias Radestock <<a href="mailto:matthias@rabbitmq.com" target="_blank">matthias@rabbitmq.com</a><br>
<mailto:<a href="mailto:matthias@rabbitmq.com" target="_blank">matthias@rabbitmq.com</a>><u></u>><div class="im"><br>
<br>
However, some clients do not implement the AMQP spec correctly and<br>
ignore the server's suggestion. I don't know whether ruby-amqp is<br>
one of them.<br>
<br>
If this value is sent with connection.tune-ok, it is a one line change<br>
to make amqp gem use it.<br>
</div></blockquote>
<br>
The server sends its suggested value with connection.tune. The client is expected to send back a tune-ok with the values it insists on using.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Right now it is used<br>
but I see that client-side default takes precedence, making the<br>
server-sent value effectively not used.<br>
</blockquote>
<br></div>
The "official" clients take the minimum of the client and server value, special-casing on 0. See, e.g. <a href="http://hg.rabbitmq.com/rabbitmq-java-client/file/09504eed7022/src/com/rabbitmq/client/impl/AMQConnection.java#l377" target="_blank">http://hg.rabbitmq.com/<u></u>rabbitmq-java-client/file/<u></u>09504eed7022/src/com/rabbitmq/<u></u>client/impl/AMQConnection.<u></u>java#l377</a>.<div class="HOEnZb">
<div class="h5"><br>
<br>
Matthias.<br>
______________________________<u></u>_________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">rabbitmq-discuss@lists.<u></u>rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/<u></u>cgi-bin/mailman/listinfo/<u></u>rabbitmq-discuss</a><br>
</div></div></blockquote></div><br></div>