Changes between Version 6 and Version 7 of Development/DelugeRPC
- Timestamp:
- 02/05/2009 04:30:11 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Development/DelugeRPC
v6 v7 3 3 ---- 4 4 5 '''Note:''' This is not final nor will it necessarily be used in Deluge, but rather it is a work in progress. The main goals of this approach is to develop a better way for the daemon and client to communicate by reducing the overhead associated with the current XMLRPC approach. This should make Deluge more efficient both in cpu usage and bandwidth utilization. 6 7 ---- 8 9 DelugeRPC is a protocol used for daemon/client communication. There are four types of messages involved in the protocol: [#RPCRequest RPC Request], [#RPCResponse RPC Response], [#RPCError RPC Error] and [#Signal Signal]. All messages are zlib compressed rencoded strings and their data formats are detailed below. 5 DelugeRPC is a protocol used for daemon/client communication. There are four types of messages involved in the protocol: [#RPCRequest RPC Request], [#RPCResponse RPC Response], [#RPCError RPC Error] and [#Event Event]. All messages are zlib compressed rencoded strings and their data formats are detailed below. 10 6 11 7 == Message Formats == … … 65 61 The traceback of the generated exception. 66 62 67 === Signal===63 === Event === 68 64 69 This message is created by the daemon and sent to the clients without being in response to a RPC Request. Signals are generally sent for changes in the daemon's state that the clients need to be made aware of.65 This message is created by the daemon and sent to the clients without being in response to a RPC Request. Events are generally sent for changes in the daemon's state that the clients need to be made aware of. 70 66 71 67 ['''message_type''', '''signal_name''', '''data'''] 72 68 73 69 '''''message_type''''' (int):: 74 This will be a RPC_ SIGNALtype id.70 This will be a RPC_EVENT type id. 75 71 76 ''''' signal_name''''' (str)::77 This is the name of the signalbeing emitted by the daemon.72 '''''event_name''''' (str):: 73 This is the name of the event being emitted by the daemon. 78 74 79 75 '''''data''''' (list):: 80 Additional data to be sent with the signal. This is dependent upon the signalbeing emitted.76 Additional data to be sent with the event. This is dependent upon the event being emitted.