Changes between Version 7 and Version 8 of GuiRpcProtocol
- Timestamp:
- May 15, 2008, 5:59:02 PM (17 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
GuiRpcProtocol
v7 v8 8 8 == Basic structure == 9 9 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; a reply is never sent back by the server without getting a request 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 %x03 byte after the closing tag).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 %x03 byte after the closing tag). 11 11 12 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. 13 13 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: killing the RPC server''' (core client).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: quitting the core client'''. 15 15 16 16 == Common replies ==