Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 143 lines (82 sloc) 4.079 kB
66d52cb @rakshasa * Added "working_directory" option that calls chdir.
authored
1 == API changes ==
2
c96b8c2 @rakshasa * Moved the resume code out of DownloadWrapper and made it use the
authored
3 Add macro for asserting with internal_error exception.
4
159ae95 @rakshasa * 'I' key set the download to ignore the start/stop_try commands.
authored
5 A disk setting manager, allow change of read-ahead etc. Each download
6 should also include slots for monitoring syncing, etc.
d0cf47e @rakshasa * Used the peer's option field when writing the handshake header
authored
7
66d52cb @rakshasa * Added "working_directory" option that calls chdir.
authored
8 The seed count and scrape leech/seed.
9
b17bad9 @rakshasa * Bump to version 0.11.2/0.7.2.
authored
10 Rename FileListIterator.
11
a477621 @rakshasa * Minor cleanup of File.
authored
12 Allow the client to set the priority of chunks directly, just add some
13 helper functions.
14
ed25fba @rakshasa * Fixed a leaking rak::address_info in TrackerUdp. Patch by Josef
authored
15 Remove the old non-const rate functions in Download.
16
14346c9 @rakshasa * Added "base" type to the "*_link" commands.
authored
17 Allow flags to be passed during creation of download. This would be
18 used to f.ex deciding if a download should be considered a multi-file
19 torrent or not.
20
66d52cb @rakshasa * Added "working_directory" option that calls chdir.
authored
21
617e259 @rakshasa * Added rak::address_info class.
authored
22 === torrent::Object ==
23
c64530d @rakshasa * Added API for getting the complete, incomplete and downloaded stats
authored
24 Ways of checking that they are a value and between a range.
25
d2ac072 @rakshasa * A seperate variable for hashing state, now properly restarts hashing
authored
26 Make an union of two bencode streams. This will allow rtorrent to save
27 much smaller files with recent changes, and thus not require
28 re-constructing torrent files of ~100KB in some cases.
29
159ae95 @rakshasa * 'I' key set the download to ignore the start/stop_try commands.
authored
30 Add a variable that has can have an off state, plus a value range.
31
2cc718d @rakshasa * Bumping version to 0.10.3/0.6.3.
authored
32 Add a bit for modified entries, or perhaps just freeze lists/maps.
33
ed25fba @rakshasa * Fixed a leaking rak::address_info in TrackerUdp. Patch by Josef
authored
34 Need to make this cheap for copying, so that we don't need to rely on
35 an inherently borked design in the use of Variable::m_cache. It
36 doesn't work if we call the same variable several times.
37
617e259 @rakshasa * Added rak::address_info class.
authored
38
db16df7 @rakshasa * Fixed a regression that threw an exception for torrents with
authored
39 === Session management ==
40
80de066 @rakshasa * Don't show ETA on finished and stopped torrents.
authored
41 Saving session torrents should be lazy, perhaps only for those who are
42 not open. Or do session torrent saving as needed, when seeding is
43 stopped etc. Perhaps a dirty flag.
44
db16df7 @rakshasa * Fixed a regression that threw an exception for torrents with
authored
45
d9c90d1 @rakshasa * Fixed the log redraw which didn't happen as the display's scheduler
authored
46 == Configurable keybindings ==
1ae5e3e @rakshasa * Checked and fixed calls to priority_queue_insert to make sure they
authored
47
d9c90d1 @rakshasa * Fixed the log redraw which didn't happen as the display's scheduler
authored
48 ...
1ae5e3e @rakshasa * Checked and fixed calls to priority_queue_insert to make sure they
authored
49
50
17de6aa @rakshasa * When kqueue returns error due to f.ex signal, make sure the changes
authored
51 == Efficiently handle torrents in watched directories ==
52
53 Currently a load is triggered every time for a bad torrent/duplicate
54 torrent. Fix this.
55
56 Consider tieing new files that match old torrents without a
57 tied_to_file.
58
1ae5e3e @rakshasa * Checked and fixed calls to priority_queue_insert to make sure they
authored
59 == Delegator rework ==
60
61 Keep multiple downloads of the same block seperate. When done, and
62 hash checking fails, compare pieces and merge/mark equal pieces. Those
63 would have higher priority when comparing, but not absolute.
64
65 The anonymous mmap'ed regions would contain different dtor functor
66 than file chunks.
67
9795f3c @rakshasa * Unlink the tied file when a torrent is erased.
authored
68 We need to keep around PeerInfo's after peers disconnect, so we store
69 information for longer that the immediate connection. This also eases
70 the delegator since we can use pointers to identify the peer we
71 downloaded the piece from.
72
2dbc70a @rakshasa * Cache the current ceiling in rak::partial_queue.
authored
73 Get rid of affinity, perhaps each peer saves the pointer to the
74 delegator chunk they are currently using, in addition to the delegator
75 piece.
76
1ae5e3e @rakshasa * Checked and fixed calls to priority_queue_insert to make sure they
authored
77
d3d436c @rakshasa * Added combined Object::has_key and Object::is_* functions.
authored
78 Re-enable randomized selector position.
79
80 Do the range-disable and position moving in d selector.
81
82
9b6b874 @rakshasa * Making a DownloadConstructor to replace src/parse/* stuff.
authored
83 == Sockets ==
84
85 Look into increasing the socket buffers. This would allow us to queue
86 more data for each poll event. But make sure we only get polled when
87 the buffer can take a nice amount of data.
88
db16df7 @rakshasa * Fixed a regression that threw an exception for torrents with
authored
89 The goal would be to push as much data into the buffer per event as
90 possible if it is uploading fast.
91
9b6b874 @rakshasa * Making a DownloadConstructor to replace src/parse/* stuff.
authored
92
1ae5e3e @rakshasa * Checked and fixed calls to priority_queue_insert to make sure they
authored
93 == Improve logging ==
94
95 ...
96
97
9b6b874 @rakshasa * Making a DownloadConstructor to replace src/parse/* stuff.
authored
98 == Disk worker thread ==
99
100 A worker thread that gets activated to do stuff like hashing and
101 syncing to disk. This would have the benefit of avoiding SIGBUS due to
102 full disk as msync can be called blockingly.
103
db16df7 @rakshasa * Fixed a regression that threw an exception for torrents with
authored
104 Before work can start on this, a threading library needs to be
105 available. Possibly the TR2 stuff?
106
2853df1 @rakshasa * Added a workaround for the vfat truncate bug. This blocks for a
authored
107
108 == Tracker scrape ==
109
110 Add tracker scraping and display connected/not-connected seeds and
111 leechers.
112
1ae5e3e @rakshasa * Checked and fixed calls to priority_queue_insert to make sure they
authored
113 In the mean time, parse the extra information the official tracker
114 transmits on requests.
115
2853df1 @rakshasa * Added a workaround for the vfat truncate bug. This blocks for a
authored
116
117 == typedefs or more restrictive types for chunk indices, ports and such ==
118
119 These would include defines for invalid states etc.
120
2ca2229 @rakshasa * Removed ticks for downloads, use the global tick instead.
authored
121
d9c90d1 @rakshasa * Fixed the log redraw which didn't happen as the display's scheduler
authored
122 == Validate the presence of files for session torrents ==
123
124 Make sure that when session torrents are opened, it ensures that the
125 downloaded/ing files are where we last saw them. Libtorrent shouldn't
126 create the files when opened, but perhaps a call can be added for
127 trying to make them?
1fd1f05 @rakshasa * Piece request messages didn't get read when they were the only
authored
128
8d1878a @rakshasa * Added 'close_untied' option.
authored
129 Also, when starting torrents, bork on incorrect sizes so as to not
130 overwrite files created by other torrents.
131
1fd1f05 @rakshasa * Piece request messages didn't get read when they were the only
authored
132
133 == Added initialization stuff to sections in the elf file? ==
134
135 Stuff like adding stuff to the ClientInfo object could be done from
136 with a resource file embedded in the executable.
d2ac072 @rakshasa * A seperate variable for hashing state, now properly restarts hashing
authored
137
138
139 == Extensions ==
140
141 * Send max block size on connection initialization.
142 * Don't send the whole bitfield when you're a seeder.
Something went wrong with that request. Please try again.