<p dir="ltr">Thanks Chris for your mail.</p>
<p dir="ltr">We&#39;ve started exploring different RPC techniques as we plan to write glusterd 2.0 in go and it seems like go doesn&#39;t have sun RPC library support. All the details will be put up once we share the glusterd 2.0 high level plan. </p>
<p dir="ltr">Having said that, we&#39;d definitely consider your points in terms of designing it. Also any form of contribution for glusterd 2.0 Is more than welcome :)</p>
<p dir="ltr">-Atin<br>
Sent from one plus one</p>
<div class="gmail_quote">On Jul 31, 2015 10:43 PM, &quot;chris holcombe&quot; &lt;<a href="mailto:chris.holcombe@canonical.com">chris.holcombe@canonical.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;ve been working on writing a gluster library that speaks the native RPC to gluster so that I could avoid using the CLI.  I&#39;ve been successful but the endeavor has brought up some interesting insights.  I plan on open sourcing the code so that everyone can benefit from this.<br>
<br>
struct gf_cli_req {<br>
        opaque  dict&lt;&gt;;<br>
};<br>
and<br>
struct gf_cli_rsp {<br>
        int     op_ret;<br>
        int     op_errno;<br>
        string  op_errstr&lt;&gt;;<br>
        opaque  dict&lt;&gt;;<br>
};<br>
<br>
are used to make a lot of the CLI calls. The opaque dict passing back and forth creates a need for string parsing on both sides.  My understanding of RPC was that each call would have its own struct associated with it so that no parsing need happen.  It would also make it much easier for other people to build libraries to interface with Gluster if the call parameters were clearly defined.  Each time I want to make a call work with glusterd 1.0 I need to figure out what parameters need to be packed into the dict.  This involves some hunting.<br>
<br>
Since glusterd 2.0 is a refactoring I figured this would be a good time to ask for adding additional more explicit RPC calls to the API.  That would make it a breeze to run an rpcgen command against the .x file and have a working library to glusterd!<br>
<br>
Thanks,<br>
Chris<br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
</blockquote></div>