Changes between Version 14 and Version 15 of GuiRpcProtocol


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

Add explicit text about inclusion of <boinc_gui_rpc_request> tag (I'm writing a RPC server for testing and it doesn't allow leaving the root "request" tag out)

Legend:

Unmodified
Added
Removed
Modified
  • GuiRpcProtocol

    v14 v15  
    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`. Requests are inside `<boinc_gui_rpc_request>` elements, and replies from the client are inside `<boinc_gui_rpc_reply>` elements (in both cases there is a `0x03` byte after the closing tag).
     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 a reply without getting a request from the client first. Both requests and replies are terminated with the control character `0x03`.
    1111
    12 Note that the 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.
     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 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, clients must not rely on this, and must always send the `<boinc_gui_rpc_request>` root tag.
    1313
    14 To 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.
     14The 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.
     15
     16To 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!
    1517
    1618== Common replies ==