Commit Graph

182 Commits

Author SHA1 Message Date
rakshasa 61098513c6 * Cycle the order in which downloads are handled during ticks to
ensure resource usage gets spread out over time.

* Changed element_file_list.cc to use te_command.

* File commands on file list iterators will be called on the File
pointed to.

* Fixed some sigc++ 2.1 compile errors.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@992 e378c898-3ddf-0310-93e7-cc216c733640
2007-10-21 04:27:49 +00:00
rakshasa 78f8b19aa4 * Limited the number of addresses in the outgoing pex list to 200.
* Show private flag in download info.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@988 e378c898-3ddf-0310-93e7-cc216c733640
2007-10-12 14:46:41 +00:00
rakshasa 9cb48a9f66 * Disable PEX when we are connected to enough peers.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@983 e378c898-3ddf-0310-93e7-cc216c733640
2007-10-04 14:54:31 +00:00
rakshasa 166e8e1357 * Display size of pex for each download.
* Limit the number of PEX connections to 5 per download.

* Fixed minor bugs in the new PEX code. Patch by Josef Drexler.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@981 e378c898-3ddf-0310-93e7-cc216c733640
2007-09-28 08:50:59 +00:00
rakshasa 3b82216a1b * Renamed 't.get_enabled' to 't.is_enabled'.
* The torrent is no longer closed on finished for on_finished
commands, instead d.set_directory causes the download to call
close_directly.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@974 e378c898-3ddf-0310-93e7-cc216c733640
2007-09-05 17:52:16 +00:00
rakshasa 95516fe3b5 * Renamed pex_{enabled,active} to is_pex_*.
* Changed the download info screen to only use commands.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@972 e378c898-3ddf-0310-93e7-cc216c733640
2007-09-03 00:59:34 +00:00
rakshasa 332b4a303f * Added Peer Exchange support, enable with the "peer_exchange"
option. Patch by Josef Drexler, public domain as per earlier
agreement.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@968 e378c898-3ddf-0310-93e7-cc216c733640
2007-08-30 20:35:23 +00:00
rakshasa 73c41074ec * Fix TextElement* to use rpc::target_type.
* Moved most of src/ui/download.cc to use commands for TextElements.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@967 e378c898-3ddf-0310-93e7-cc216c733640
2007-08-30 16:33:52 +00:00
rakshasa 32b74ffc48 * Proper fault handling for bad SCGI requests.
* Cleaned up duplicate code in 'xmlrpc.cc'.

* Cleaned up 'parse_commands.h'.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@966 e378c898-3ddf-0310-93e7-cc216c733640
2007-08-27 23:00:48 +00:00
rakshasa bac7d0ba3b * Client address resolver support. Patch by Josef Drexler.
* Added 'get_name' to the download list window title.

* Bumped version numbers.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@960 e378c898-3ddf-0310-93e7-cc216c733640
2007-08-20 13:40:09 +00:00
rakshasa 6ca373d293 * Renamed all commands to from e.g "get_d_*" to "d.get_*". Remember to
update your rc file.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@953 e378c898-3ddf-0310-93e7-cc216c733640
2007-08-12 18:41:09 +00:00
rakshasa 37bc4c85c4 * Enabled 'max_downloads_div' by default.
* Added 'get_{client,library}_version' commands.

* Removed support for appending more than one command to 'schedule'.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@949 e378c898-3ddf-0310-93e7-cc216c733640
2007-08-03 11:56:18 +00:00
rakshasa 465625692f * Allow a list of commands to be called on a newly created download
before it is started.

* The "load_*" commands now allow a list of commands to be appended.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@941 e378c898-3ddf-0310-93e7-cc216c733640
2007-07-20 23:54:31 +00:00
rakshasa 535db16850 * Bumping copyright year to 2007.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@938 e378c898-3ddf-0310-93e7-cc216c733640
2007-07-19 21:29:34 +00:00
rakshasa 350bdfde7e * Allow ';' as a separator for multi-command lines. Not recognized by
the string parser, so it must be preceeded by whitespace.

* Allow escaping of newlines in the resource file.

* Cleanup of the parse_command_* commands.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@936 e378c898-3ddf-0310-93e7-cc216c733640
2007-07-17 16:24:57 +00:00
rakshasa 3570602a08 * Allow "print" command to take a list of parameters.
* Added "d_{start,stop,open,close,erase}" commands.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@934 e378c898-3ddf-0310-93e7-cc216c733640
2007-07-11 19:22:34 +00:00
rakshasa a492cadf00 * ^X now passes the selected download to the command.
* Added support for writing Objects to generic char* buffers.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@927 e378c898-3ddf-0310-93e7-cc216c733640
2007-07-03 00:33:18 +00:00
rakshasa 9b95b51410 * torrent::FileList::is_multi_file() now indicates whether the torrent
loaded was a multi-file torrent, not whether it contains more than one
file.

* Ignore attempts to load an empty URI in the client.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@925 e378c898-3ddf-0310-93e7-cc216c733640
2007-06-24 22:32:44 +00:00
rakshasa e6e7e8a384 * Added "d_delete_tied" command.
* Moved CommandScheduler into src/rpc.

* Fixed a bug in the "download_list" command.

* Partial cleanup of the tracker list.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@924 e378c898-3ddf-0310-93e7-cc216c733640
2007-06-24 20:25:44 +00:00
rakshasa e9db89e6d6 * Put both global and download specific commands in a single
CommandMap.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@914 e378c898-3ddf-0310-93e7-cc216c733640
2007-06-17 03:14:38 +00:00
rakshasa 297b4b5f1d * Renamed VariableMap to CommandMap.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@913 e378c898-3ddf-0310-93e7-cc216c733640
2007-06-16 17:46:06 +00:00
rakshasa f8f2f80960 * Moved the rest of the helper functions from VariableMap to
parse_commands.h.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@912 e378c898-3ddf-0310-93e7-cc216c733640
2007-06-16 17:22:39 +00:00
rakshasa 8a1220fd5b * Cleanup of old Variable stuff.
* Fixed a bug that would cause ^O to make an extra call to
"set_directory" for the log, instead of "get_directory".


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@909 e378c898-3ddf-0310-93e7-cc216c733640
2007-05-31 16:40:34 +00:00
rakshasa d33d283293 * Last of the old commands moved.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@903 e378c898-3ddf-0310-93e7-cc216c733640
2007-05-18 20:34:31 +00:00
rakshasa 7d1bb524ba * Moving download variables into command_download.cc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@902 e378c898-3ddf-0310-93e7-cc216c733640
2007-05-18 14:24:57 +00:00
rakshasa 032bae7030 * Removed old non-download set/get functions from VariableMap.
* Added forgotten command_download.cc file.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@900 e378c898-3ddf-0310-93e7-cc216c733640
2007-05-11 22:47:15 +00:00
rakshasa 81637ff5a0 * Converting various variables to the new command version.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@891 e378c898-3ddf-0310-93e7-cc216c733640
2007-04-17 14:57:56 +00:00
rakshasa 7c121ac049 * Starting work on merging get/set variable. Moved the bool and value
variables, still might have missed some prior uses that might cause
exceptions to be thrown.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@890 e378c898-3ddf-0310-93e7-cc216c733640
2007-04-14 12:43:19 +00:00
rakshasa b009734d5c * Added support for dvorak keyboard layout. Patch by matled@gmx.net.
* Moved TrackerManager::close() call to the DownloadWrapper dtor so
that tracker STOPPED request will be sent when closing a torrent.

* Fixed some portability issues with Solaris, but still some remain.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@872 e378c898-3ddf-0310-93e7-cc216c733640
2007-03-23 00:00:15 +00:00
rakshasa 59c6f97cb9 * Added "max_{up,down}loads_{div,global}" options and man page entries.
* PCB::should_request() didn't check if m_downUnchoked was true, just
m_downChoke.choked(). This would cause requests to be sent while we
were still choked by remote.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@871 e378c898-3ddf-0310-93e7-cc216c733640
2007-03-20 16:13:20 +00:00
rakshasa 3ef8384c38 * Set allowed encodings for tracker and http requests.
* Fixed two valgrind errors in the ChokeManager code.

* Added 'seeding' view on key 8. Remeber to fix the man page.

* Fixed an exception being thrown in ChokeManager::cycle(...) due to a
missing range check on the number of unchokes we do.

* Moved choke/queued state to a new ChokeManagerNode class.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@869 e378c898-3ddf-0310-93e7-cc216c733640
2007-03-16 23:22:51 +00:00
rakshasa b46caac088 * Added "max_uploads_div" option to set fewer global upload
slots. Currently just intended for testing purposes.

* Renamed and changed the use of ProtocolBase variables within
ChokeManager.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@864 e378c898-3ddf-0310-93e7-cc216c733640
2007-02-24 13:54:48 +00:00
rakshasa 1d1b5710fa * Added "create_link" and "delete_link" options for creating and
deleting symbolic links to downloads.

* Added "on_*" options for calling commands on state changes.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@849 e378c898-3ddf-0310-93e7-cc216c733640
2007-01-20 19:42:22 +00:00
rakshasa e59b5bf7b6 * Make VariableMap handle both global and core::Download
variables. Variable now has functions for both void and
core::Download*, where the core::Download* is discarded if necessary.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@847 e378c898-3ddf-0310-93e7-cc216c733640
2007-01-17 15:18:33 +00:00
rakshasa e122cc928a * Removed the SocketFile dtor which contained an obsolete check of
is_open().

* Added multi-line parser to VariableMap and replaced the various
calls to process_command in main.cc with a single call.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@845 e378c898-3ddf-0310-93e7-cc216c733640
2007-01-13 12:20:22 +00:00
rakshasa 2be918261e * Bump to version 0.11.2/0.7.2.
* Allow the user to collapse the directories with the '/' key.

* Cleanup of core::Manager::receive_hashing_changed().


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@841 e378c898-3ddf-0310-93e7-cc216c733640
2007-01-05 13:27:56 +00:00
rakshasa fe7adfc999 * Cleanup of TextElement.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@838 e378c898-3ddf-0310-93e7-cc216c733640
2007-01-01 06:52:56 +00:00
rakshasa 0854e65775 * Changing priority of a directory changes the priority for all files
within that directory.

* Removed a buggy hack in FileListIterator::operator++().

* Cleaned up display of file sizes.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@835 e378c898-3ddf-0310-93e7-cc216c733640
2006-12-27 15:11:41 +00:00
rakshasa 06dad41ff8 * Cleanup of the file list.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@834 e378c898-3ddf-0310-93e7-cc216c733640
2006-12-26 10:05:44 +00:00
rakshasa eabbf33a76 * Added an info screen to the file list and added more information to
the list.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@833 e378c898-3ddf-0310-93e7-cc216c733640
2006-12-25 18:26:40 +00:00
rakshasa 25702ea4b7 * Finished FileListIterator and basic navigation of the file list.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@832 e378c898-3ddf-0310-93e7-cc216c733640
2006-12-25 13:19:45 +00:00
rakshasa c453565e8f * Added FileListIterator to the API, which allows the client to
iterate through FileList as if it consisted of directories.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@831 e378c898-3ddf-0310-93e7-cc216c733640
2006-12-25 10:54:31 +00:00
rakshasa c65b6aa9ff * Added file_path_iterator that allows the client to iterate through
FileList in a structured manner. Messed up the file list view to test
it.

* Added operator[] and at(...) to torrent::FileList and torrent::Path.

* Fixed Handshake::fill_read_buffer(...) that was throwing due to a
bad error check. Patch by Josef Drexler.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@830 e378c898-3ddf-0310-93e7-cc216c733640
2006-12-22 10:54:39 +00:00
rakshasa fcb8154188 * Cleaned up the exception classes so they require less space. This
reduced the size of the stripped libtorrent by 1/7.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@822 e378c898-3ddf-0310-93e7-cc216c733640
2006-12-11 10:33:09 +00:00
rakshasa e4db1cacc2 * Removed Content and moved stuff to DownloadWrapper and FileList.
* Using a char buffer instead of std::string in
Handshake::prepare_key_plus_pad().


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@813 e378c898-3ddf-0310-93e7-cc216c733640
2006-12-02 09:16:36 +00:00
rakshasa 8b759a5c6e * Moved torrent/file*.{cc,h} to torrent/data/.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@811 e378c898-3ddf-0310-93e7-cc216c733640
2006-11-23 13:54:49 +00:00
rakshasa 281f924556 * Set Content::m_chunkSize before adding files.
* Removed the old FileList and replaced it with the cleaned up
EntryList code. The API now gives a FileList* instead of FileList.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@810 e378c898-3ddf-0310-93e7-cc216c733640
2006-11-22 12:57:38 +00:00
rakshasa e3f59ee9e4 * Replaced the old File with the EntryListNode code, and cleaned it
up. The user now uses File* instead of File.

* Changed apply_low_diskspace to use
torrent::Download::free_diskspace() instead of the old file path hack.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@809 e378c898-3ddf-0310-93e7-cc216c733640
2006-11-21 14:05:36 +00:00
rakshasa f9916b574f * Added a torrent::ClientInfo object to torrent::PeerInfo.
* Removed the old display::ClientInfo code.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@806 e378c898-3ddf-0310-93e7-cc216c733640
2006-11-17 14:50:45 +00:00
rakshasa 1982429b8c * Moving some API headers torrent/data and torrent/peer.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@803 e378c898-3ddf-0310-93e7-cc216c733640
2006-11-08 14:57:30 +00:00