<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Apr 29, 2013 at 7:00 AM, Mark McLoughlin <span dir="ltr"><<a href="mailto:markmc@redhat.com" target="_blank">markmc@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Fri, 2013-04-26 at 15:18 -0400, Doug Hellmann wrote:<br>
<br>
> We've gone around a few times with ideas for having better driver-parity in<br>
> the rpc library, so maybe the best thing to do is start by making sure we<br>
> have all of the requirements lined up. Here's a list of some that I came up<br>
> with based on existing features and my understanding of the shortcomings<br>
> (numbered for reference, but in no particular order):<br>
<br>
</div>Thanks for doing this. We definitely need to be stepping back and<br>
thinking about this at a high level. I've attempted to step a little<br>
further back in my writeup:<br>
<br>
  <a href="https://wiki.openstack.org/wiki/Oslo/Messaging" target="_blank">https://wiki.openstack.org/wiki/Oslo/Messaging</a></blockquote><div><br></div><div style>A few comments/questions on that:</div><div><br></div><div style>
In the client, it seems like the rpc.Target() should be passed to the RPCClient constructor, rather than specified as a class attribute. The target parameters should include the host (or "peer" to use Eric's terminology), shouldn't it?</div>
<div style><br></div><div style>On the server side, I like separating the dispatcher from the server, but I wonder if the server needs to know about the dispatcher at all? Why not just give the server a single callable, which might be a Dispatcher instance? It isn't clear why the dispatcher has start() and stop() methods, either, but maybe that has something to do with this design.</div>
<div style><br></div><div style>In web frameworks the decorator for exposing a method is usually named something like "expose" so how about rpc.expose instead of rpc.method?</div><div style><br></div><div style>
Is fake_rabbit used for testing? If so, that transport should be its own driver.</div><div style><br></div><div style>Doug</div><div style><br></div></div></div></div>