Changes between Version 19 and Version 20 of GuiRpcProtocol


Ignore:
Timestamp:
Sep 9, 2008, 9:08:24 AM (16 years ago)
Author:
Nicolas
Comment:

Some wording changes

Legend:

Unmodified
Added
Removed
Modified
  • GuiRpcProtocol

    v19 v20  
    22= GUI RPC protocol =
    33
    4 BOINC uses the GUI RPC protocol to make the BOINC Manager communicate with the core client.
     4The GUI RPC protocol lets GUIs like the BOINC Manager communicate with the core client.
    55
    66Note that the RPC '''server''' is the core client, and the RPC '''client''' is a GUI or add-on communicating with it (such as BOINC Manager). This may seem confusing. This terminology will be used on the rest of the page.
     
    88== Basic structure ==
    99
    10 The protocol is based on XML, and it's strictly request-reply. The client sends requests to the server, and waits for a reply; the server never sends a reply without getting a request from the client first. Both requests and replies are terminated with the control character `0x03`.
     10The protocol is based on XML, and it's strictly request-reply. The client sends requests to the server, and waits for a reply; the server never sends anything without getting a request from the client first. Both requests and replies are terminated with the control character `0x03`.
    1111
    12 Requests are inside `<boinc_gui_rpc_request>` elements, and replies from the RPC server are inside `<boinc_gui_rpc_reply>` elements (in both cases there is a `0x03` byte after the closing tag). The current core client doesn't require the `<boinc_gui_rpc_request>` tag, which is handy for debugging (you can connect via [http://netcat.sourceforge.net/ netcat] and just type `<auth1/>`); however,
     12Requests are inside `<boinc_gui_rpc_request>` elements, and replies from the RPC server are inside `<boinc_gui_rpc_reply>` elements (in both cases there is a `0x03` byte after the closing tag). The current RPC server implementation doesn't require the `<boinc_gui_rpc_request>` tag, which is handy for debugging (you can connect via [http://netcat.sourceforge.net/ netcat] and just type `<auth1/>`); however,
    1313>> clients must not rely on this, and must always send the __`<boinc_gui_rpc_request>`__ root tag.
    1414>Ought this to be read as "''must always send the __`<boinc_gui_rpc_reply>`__ root tag''"?
    1515Nope. I'm talking of RPC clients (which make __requests__), such as BOINCView or the official manager. See second paragraph of this page :)
    1616
    17 The current official core client (RPC server) doesn't support pipelining of requests (pipelining means sending a batch of multiple requests without waiting for a reply, then getting all the replies together; this improves latency). For compatibility, pipelining must not be used.
     17The current RPC server doesn't support pipelining of requests (pipelining means sending a batch of multiple requests without waiting for a reply, then getting all the replies together; this improves latency). For compatibility, pipelining must not be used.
    1818
    1919To terminate the RPC session, just close the connection on the client side. Warning: some protocols have a specific "quit" command for this. The GUI RPC protocol has a {{{<quit/>}}} command, but it has a completely different purpose: telling the core client to quit!