~ubuntu-branches/ubuntu/jaunty/transmission/jaunty-security

« back to all changes in this revision

Viewing changes to doc/rpc-spec.txt

  • Committer: Bazaar Package Importer
  • Author(s): Chris Coulson
  • Date: 2008-11-28 15:33:48 UTC
  • mfrom: (1.1.19 upstream)
  • Revision ID: james.westby@ubuntu.com-20081128153348-it70trfnxiroblmc
Tags: 1.40-0ubuntu1
* New upstream release (LP: #302672)
  - Tracker communication uses fewer resources
  - More accurate bandwidth limits
  - Reduce disk fragmentation by preallocating files (LP: #287726)
  - Stability, security and performance improvements to the RPC /
    Web UI server (closes LP: #290423)
  - Support compression when serving Web UI and RPC responses
  - Simplify the RPC whitelist
  - Fix bug that prevented handshakes with encrypted BitComet peers
  - Fix 1.3x bug that could re-download some data unnecessarily
    (LP: #295040)
  - Option to automatically update the blocklist weekly
  - Added off-hour bandwidth scheduling
  - Simplify file/priority selection in the details dialog
  - Fix a couple of crashes
  - New / updated translations
  - Don't inhibit hibernation by default (LP: #292929)
  - Use "close" animation when sending to notification area (LP: #130811)
  - Fix resize problems (LP: #269872)
  - Support "--version" option when launching from command line
    (LP: #292011)
  - Correctly parse announce URLs that have leading or trailing
    spaces (LP: #262411)
  - Display an error when "Open Torrent" fails (LP: #281463)
* Dropped 10_fix_crasher_from_upstream.dpatch: Fix is in this
  upstream release.
* debian/control: Don't just build-depend on libcurl-dev, which is
  a virtual package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
 
6
6
1.1  Terminology
7
7
 
8
 
   The JSON terminology in RFC 4627 is used. "array" is equivalent
9
 
   to a benc list; "object" is equivalent to a benc dictionary;
10
 
   and an object's "keys" are the dictionary's string keys.
 
8
   The JSON terminology in RFC 4627 is used.
 
9
 
 
10
   In benc terms, a JSON "array" is equivalent to a benc list,
 
11
   a JSON "object" is equivalent to a benc dictionary,
 
12
   and a JSON object's "keys" are the dictionary's string keys.
11
13
 
12
14
2.  Message Format
13
15
 
14
16
   Messages are formatted in a subset of JSON easily represented
15
 
   as bencoded data -- arrays, objects, strings, and whole numbers.
16
 
   Booleans are represented as numbers where 0 is false and 1 is true.
 
17
   as bencoded data.  Arrays, objects, strings, and whole numbers
 
18
   all have one-to-one mappings between JSON and benc.
 
19
 
 
20
   Booleans and floating-point numbers are also used in the JSON messages.
 
21
   Those two types aren't native to benc, so they're encoded this way:
 
22
   Booleans are encoded as numbers where 0 is false and 1 is true.
17
23
   Floating-point numbers are represented as strings.
18
24
 
19
25
   Messages are formatted as objects.  There are two types:
147
153
   name                   | string                               | tr_info
148
154
   nextAnnounceTime       | number                               | tr_stat
149
155
   nextScrapeTime         | number                               | tr_stat
 
156
   peers                  | array (see below)                    | n/a
150
157
   peersConnected         | number                               | tr_stat
151
158
   peersFrom              | object (see below)                   | n/a
152
159
   peersGettingFromUs     | number                               | tr_stat
157
164
   priorities             | array (see below)                    | n/a
158
165
   rateDownload (B/s)     | number                               | tr_stat
159
166
   rateUpload (B/s)       | number                               | tr_stat
160
 
   recheckProgress        | number                               | tr_stat
 
167
   recheckProgress        | 'double'                             | tr_stat
161
168
   scrapeResponse         | string                               | tr_stat
162
169
   scrapeURL              | string                               | tr_stat
163
170
   seeders                | number                               | tr_stat
185
192
                          | length                  | number     | tr_info
186
193
                          | name                    | string     | tr_info
187
194
   -----------------------+--------------------------------------+
 
195
   peers                  | array of objects, each containing:   |
 
196
                          +-------------------------+------------+
 
197
                          | address                 | string     | tr_peer_stat
 
198
                          | clientName              | string     | tr_peer_stat
 
199
                          | clientIsChoked          | 'boolean'  | tr_peer_stat
 
200
                          | clientIsInterested      | 'boolean'  | tr_peer_stat
 
201
                          | isDownloadingFrom       | 'boolean'  | tr_peer_stat
 
202
                          | isEncrypted             | 'boolean'  | tr_peer_stat
 
203
                          | isIncoming              | 'boolean'  | tr_peer_stat
 
204
                          | isUploadingTo           | 'boolean'  | tr_peer_stat
 
205
                          | peerIsChoked            | 'boolean'  | tr_peer_stat
 
206
                          | peerIsInterested        | 'boolean'  | tr_peer_stat
 
207
                          | progress                | 'double'   | tr_peer_stat
 
208
                          | rateToClient (B/s)      | number     | tr_peer_stat
 
209
                          | rateToPeer (B/s)        | number     | tr_peer_stat
 
210
   -----------------------+--------------------------------------+
188
211
   peersFrom              | an object containing:                |
189
212
                          +-------------------------+------------+
190
213
                          | fromCache               | number     | tr_stat