<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im">
> These callback methods are part of the Kombu driver (and maybe part of<br>
> Qpid), but are NOT part of the RPC abstraction. These are private<br>
> methods. They can be broken for external consumers of these methods,<br>
> because there shouldn't be any. It will be a good lesson to anyone that<br>
> tries to abuse private methods.<br>
<br>
</div>I was wondering about that, but I assumed some parts of amqp.py were<br>
used by other transports as well (and not just impl_kombu.py)<br>
<br>
There are several callbacks in amqp.py that would be affected.</blockquote><div> </div></div>The code in amqp.py is used by the Kombu and Qpid drivers and might implement the public methods expected by the abstraction, but does not define it. The RPC abstraction is defined in __init__.py, and does not define callbacks. Other drivers, granted only being the ZeroMQ driver at present, are not expected to define a callback method and as a private method -- would have no template to follow nor an expectation to have this method.</div>
<div class="gmail_extra"><div><br></div><div>I'm not saying your proposed changes are bad or invalid, but there is no need to make concessions to the possibility that code outside of oslo would be using callback(). This opens up the option, besides creating a new method, to simply updating all the existing method calls that exist in amqp.py, impl_kombu.py, and impl_qpid.py.</div>
<div><br></div>-- <br>Regards,<div>Eric Windisch</div>
</div></div>