Changes between Version 15 and Version 16 of GuiRpcProtocol


Ignore:
Timestamp:
Sep 9, 2008, 8:29:58 AM (16 years ago)
Author:
Nicolas
Comment:

Clients should not try to interpret <error> contents

Legend:

Unmodified
Added
Removed
Modified
  • GuiRpcProtocol

    v15 v16  
    4343</boinc_gui_rpc_reply>
    4444}}}
    45 A notable error message is "unrecognized op", which is returned if the server doesn't recognize a command. The client must be prepared to receive this even in reply to commands documented here, because older core client versions may not support all of them. In fact, it's more reliable to just send a command and fallback to an alternative if "unrecognized op" is returned, than to look at the version number to know what is supported.
     45Clients should not try to parse the error message. The current gui_rpc_client.C library sometimes tries to parse errors, but this is very unreliable, since the message wording can change (and has changed) between RPC server versions. (r15942 even changed "unrecognized op")
    4646
    4747== Common XML elements ==
    48 There are some XML elements (like {{{<project>}}}, {{{<result>}}}, {{{<workunit>}}}, and {{{<app>}}}) that are common to many command replies. Such elements are documented in this section.
     48There are some XML elements (like {{{<project>}}}, {{{<result>}}}, {{{<workunit>}}}, and {{{<app>}}}) that are common to many command replies. Such elements ~~are~~ will be documented in this section.
    4949
    5050The XML responses are relatively flat, and are parsed in one pass. The relationship between XML elements is determined by what was parsed before it, instead of based on the tree hierarchy like other XML formats do. For example, {{{<result>}}} elements that come ''after'' a particular {{{<project>}}} element are results that belong to that project; instead of those results being ''inside'' the {{{<project>}}} element.
     
    8181The reply will be either {{{<authorized/>}}} or {{{<unauthorized/>}}}.
    8282
    83 If the client hasn't authenticated yet, and it is connecting remotely (ie. not via localhost), {{{<auth1/>}}} is the only command that can be sent, and all the rest will return <unauthorized/>.
     83If the client hasn't authenticated yet, and it is connecting remotely (ie. not via localhost), {{{<auth1/>}}} is the only command that can be sent, and all the rest will return {{{<unauthorized/>}}}.