<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <meta charset="utf-8">
    <span
style="font-size:14.666666666666666px;font-family:Arial;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;"
      id="docs-internal-guid-d5f25ac0-4728-d114-fb8b-d182b3a21c97">This
      is probably a controversial topic to bring up but, I think the
      dict that's in the RPC protocol needs to be removed. It generates
      a lot of confusion in the code because the dict is opaque. The XDR
      protocol has great support for serializing structs. If the dict
      was replaced with a struct it would be a lot easier to work with. 
      If someone was trying to figure out the Gluster RPC protocol to
      create a new library to talk to Gluster the dict becomes a large
      problem. Every time there is a dict in the protocol you have to
      search for where the code is used in the Gluster source code and
      figure out what parameters are actually being added to the
      dictionary.<br>
      <br>
      Here's an example:<br>
      <br>
      Getting quota information from quotad.  The dict requires the
      following values that can only be found in the code by
      digging/breakpointing the daemon: <br>
              gfid<br>
              type<br>
              volume-uuid<br>
              version<br>
      Without these values quotad rejects your rpc request as invalid. 
      How is someone supposed to find this information if it's only
      generated at runtime?  There's a few other examples but we all get
      the point.  <br>
      <br>
      The quotad rpc call could be replaced with a call that has an
      explicit struct to fill in.  That way everyone knows what will be
      passed and it's easy to encode/decode with any XDR library. 
      Thoughts?  <br>
      <br>
      You can see the confused comments in my code as I try to tease the
      values out of the src code one by one:
      <a class="moz-txt-link-freetext" href="https://github.com/cholcombe973/Gluster/blob/master/src/rpc.rs#L734">https://github.com/cholcombe973/Gluster/blob/master/src/rpc.rs#L734</a><br>
      <br>
      -Chris<br>
    </span>
  </body>
</html>