* Added views for downloads, that can be sorted.
* Added options "view_add", "view_sort" and "view_new".
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@671 e378c898-3ddf-0310-93e7-cc216c733640
by Josef Drexler, public domain.
* Check if bitfield or have messages has been received before when
getting a bitfield message. This fixes an exception on
PC::using_counter() not begin false.
* Added a switch to disable the use of ncursesw, instead using ncurses.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@669 e378c898-3ddf-0310-93e7-cc216c733640
* Added torrent::TrackerList::{set_,}key() and made rtorrent save the
key between sessions.
* Added import option to the man page.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@665 e378c898-3ddf-0310-93e7-cc216c733640
throw on some obscure bug. Not going to be looking for this one anyway
as there is a rewrite scheduled.
* Added "tos = default|lowdelay|throughput|reliability|mincost" option.
* Made EntryList::value_type a pointer, fixed so FileMeta is
initialized and path set before Download::open().
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@662 e378c898-3ddf-0310-93e7-cc216c733640
* Changed to configure script so --disable-mincore must be called
explicitly to disable it.
* API and core::Download cleanup.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@660 e378c898-3ddf-0310-93e7-cc216c733640
* Added "enable_trackers=yes|no" option that can turn on/off the use
of trackers on all torrents.
* Cleanup of the API, including a new TrackerList class.
* When requesting from seeders, either continue a chunk another seeder
started or try a new one. This means seeders don't end up downloading
non-rare chunks.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@658 e378c898-3ddf-0310-93e7-cc216c733640
causing some peers to disconnect.
* Added rak::partial_priority class for efficient caching of chunks
indices based on rarity.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@656 e378c898-3ddf-0310-93e7-cc216c733640
peers. This will be even more lazy and only do this when needed.
* 'i' key in the download view will show rarity of pieces.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@655 e378c898-3ddf-0310-93e7-cc216c733640
cache it in each download.
* Set classic locale on various streams.
* Added ChunkStatistic class that will keep track of the number of
each chunk, and how many seeders there are.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@654 e378c898-3ddf-0310-93e7-cc216c733640
class to object.h.
* torrent::download_add(...) now takes an torrent::Object*.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@653 e378c898-3ddf-0310-93e7-cc216c733640
the socket SND/RCBBUF sizes.
* Added slot for connection filtering.
* Added closing torrents with ^K and did some cleanup of the torrent
state code.
* Moved various socket setup to HandshakeManager.
* Added a baseline for the uploaded amount that resets every time the
torrent restarts, thereby sending only the amount uploaded since the
last restart.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@652 e378c898-3ddf-0310-93e7-cc216c733640
* Prepared SocketManager for inclusion in the api.
* From <nornagon@gmail.com>: bound some control keys in text input.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@650 e378c898-3ddf-0310-93e7-cc216c733640
* Properly set uninterested when the peer doesn't have any more pieces
we're interested in.
* #180, the ResourceManager didn't iterate over downloads with weight
0, causing those with priority off to not to perform choking nor get
counted in the total.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@649 e378c898-3ddf-0310-93e7-cc216c733640
message in the buffer, it required an additional byte beyond the size
of the request body.
* More work on ClientInfo.
* Bound 'k' to disconnecting a peer. Consider a better key.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@647 e378c898-3ddf-0310-93e7-cc216c733640
cleaned up DownloadWrapper etc.
* Resume total upload from the client rather than
torrent::Download::hash_resume_load(...).
* Show client names and versions. (incomplete)
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@646 e378c898-3ddf-0310-93e7-cc216c733640
received from trackers. Display them in the tracker list.
* Fixed a bug introduced by the TrackerInfo* id change that caused
handshakes to hold old pointer. They now get removed when a download
is erased.
* Some cleanup of DownloadWrapper initialization.
* Moved bind and local address to from Manager to SocketManager.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@645 e378c898-3ddf-0310-93e7-cc216c733640
local address and use port 0 when listening port is closed.
* Added "port_open" option which allows the user to not open any
listening port.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@644 e378c898-3ddf-0310-93e7-cc216c733640
counter when loading session torrents.
* Use the TrackerInfo pointer (to be renamed) as an identifier for
downloads, rather than the hash.
* Partially converted to using a new wrapper for sockaddr, which will
allow IPv6.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@642 e378c898-3ddf-0310-93e7-cc216c733640
* Make the fake mincore call use the right length parameter.
* Added new rak::socket_address class.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@641 e378c898-3ddf-0310-93e7-cc216c733640
* Added the errno message when a file in a torrent could not be opened.
* Added torrent::Object class which will be replacing torrent::Bencode.
* Ported to Cygwin, patch supplied by Jussi Kivilinna
<jussi.kivilinna@mbnet.fi>.
* Update display before entering the main loop, so it won't seem to be
blocking when loading torrents.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@637 e378c898-3ddf-0310-93e7-cc216c733640
* Moved option file parsing to VariableMap and added "import" and
"try_import" options for loading option files.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@636 e378c898-3ddf-0310-93e7-cc216c733640
pid is not running.
* Added rak::timer::from_seconds(uint32_t) and converted all uses to
this to avoid overflows etc.
* For each cycle through the tracker list without any successfull
connections, increase the timeout by 20 seconds.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@635 e378c898-3ddf-0310-93e7-cc216c733640
that adds the "unused" attribute to some function parameters and minor
cleanups of configure.ac.
* Added inttypes.h to command_scheduler.h.
* Bumped to version 0.8.5/0.4.5.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@634 e378c898-3ddf-0310-93e7-cc216c733640
* Added percentage completed to active unfinished torrents.
* Re-enabled different seeding and leeching priorities.
* Make a temporary container in AvailableList::insert(AddressList*)
when doing std::set_differernce. AvailableList's std::vector would
resize and cause invalidated iterators to be used.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@630 e378c898-3ddf-0310-93e7-cc216c733640
* Added "session_on_completion" option which saves the session torrent
when a download finishes.
* Handle SIGTERM gracefully, saving session torrents etc.
* Implemented session directory lockfile, use "session_lock" option to
disable.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@629 e378c898-3ddf-0310-93e7-cc216c733640
bencoded data.
* Make it safe to remove torrents that are selected.
* Delete the rtorrent and libtorrent sections when loading non-session
torrents.
* Added ^O to change a torrent's root dir, ^P to set a variable.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@628 e378c898-3ddf-0310-93e7-cc216c733640
~(char)0 giving an inverted integer rather than char.
* Fixed a segfault due to too small screen size, snprintf returns the
number of bytes that could have been written rather than how much
actually was.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@626 e378c898-3ddf-0310-93e7-cc216c733640
* Allow the torrent's priority to be changed with '+'.
* More work on the variables thing.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@625 e378c898-3ddf-0310-93e7-cc216c733640
caught when loading a torrent.
* Added VariableMap to core::Download and started moving various
settings.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@624 e378c898-3ddf-0310-93e7-cc216c733640
* Moved several settings to use the new variables and made the parser
better.
* Use "-O2" rather than "-O3".
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@623 e378c898-3ddf-0310-93e7-cc216c733640
redirect get/set operations.
* Fixed(?) a bug in RequestList::downloading(...) that could cause a
segfault when pieces in the canceled list start downloading.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@622 e378c898-3ddf-0310-93e7-cc216c733640
* Remove torrents that are already tied from the expanded paths.
* Move the loop counter to Control.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@618 e378c898-3ddf-0310-93e7-cc216c733640
didn't get re-added to the task scheduler until a new event happened.
* Added redraw delay interval of 100ms, consider 50ms.
* Removed exceptions from core::DownloadStore::save.
* Added load, load_run, tied_stop and tied_remove to man-page.
* Cleaned up the command/option instances, move them to Control.
* PCB::load_up_chunk grabbed the errno from m_downChunk, not m_upChunk.
* Various string operations were moved to rak/string_manip.h.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@617 e378c898-3ddf-0310-93e7-cc216c733640
empty directories.
* When receiving zero length pieces, remove them from the request list.
* Send the interested state before any requests as some clients,
BitTornado 0.7.14 and uTorrent 0.3.0, disconnect if a request has been
received while uninterested.
* WITH_POSIX_FALLOCATE configure macro should check against "yes", not
"no".
* The new priority queue would cause arg torrents to load before
session torrents in some cases. Fixed to perform the session torrent
tasks before loading arg torrents.
* Allow '*' wildcard in filenames when loading torrents.
* Added load, load_run, stop_tied and remove_tied settings which can
be used to scan a directory for new/removed torrents. These torrents
are tied to the lifetime of the torrent file.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@616 e378c898-3ddf-0310-93e7-cc216c733640
* Changing priorities of closed torrents caused a crash due to empty
ChunkSelector, fixed.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@615 e378c898-3ddf-0310-93e7-cc216c733640
don't end up in an infinite loop.
* Fixed a bug that caused failed chunk downloads to result in
ChunkSelector's forgetting to download them again.
* Added note to the man page about the schedule and schedule_remove
setting.
* Display the number of failed chunks in the client.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@612 e378c898-3ddf-0310-93e7-cc216c733640
requested, this needs to be fixed.
* Minor adjustments to the usage of rak::priority_queue_insert.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@611 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed torrent::set_{bind,local}_address(...) so they update
correctly.
* Tweaked the time left display, show minutes instead of seconds.
* Add earlier check on validity of the socket address of
incoming/outgoing connection.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@610 e378c898-3ddf-0310-93e7-cc216c733640