Drexler, public domain.
* Made autogen.sh detect glibtoolize.
* Don't resume torrents that are marked as completed yet the initial
hash check returns failed chunks.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@704 e378c898-3ddf-0310-93e7-cc216c733640
filesystems with less space left than what was passed as the
argument. Patch by Josef Drexler, public domain.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@703 e378c898-3ddf-0310-93e7-cc216c733640
initial hash checks properly, rather than throwing an exception.
* Explicitly allocate Bitfield::m_data and dis-associate it from the
size. This will allow us to store m_size and m_set without the
underlying bitfield.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@700 e378c898-3ddf-0310-93e7-cc216c733640
* Ignore wrong type for "peers" in tracker requests as some trackers
send a dictionary when empty.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@697 e378c898-3ddf-0310-93e7-cc216c733640
* Possibly hash_done gets called while a download is closed.
* Consider putting chunk release before receive_chunkdone.
* Don't use getopt to check for flags as that re-orders the left-over
arguments.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@696 e378c898-3ddf-0310-93e7-cc216c733640
* torrent::TrackerList::send_completed() was being called before the
download was resumed, thus it never got sent.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@692 e378c898-3ddf-0310-93e7-cc216c733640
torrent, so the hashing queue doesn't re-open it.
* Randomized the starting position in chunk selector.
* Added man page entry for send/receive buffer size.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@689 e378c898-3ddf-0310-93e7-cc216c733640
core::Manager instead.
* Added a new :rtorrent:hashing state so we can distinguish between
initial hashing and manual rehashes. The former is cleared if the
download is paused.
* Added a hash failed flag to core::Download. This is used to skip
entries in the hashing view that either failed to open or are in the
process of being erased from DownloadList.
* torrent::Bitfield::unset was incrementing, rather than decrementing,
the m_set counter.
* Replaced all torrent::internal_error's in rtorrent with
torrent::client_error.
* ^D now checks :rtorrent:state to decide whetever to stop or erase a
download. Downloads queued for hashing will now stop rather than be
deleted.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@688 e378c898-3ddf-0310-93e7-cc216c733640
* Remove redundant BitField::update calls now that updating
Bitfield::m_set gets handled properly in hash_resume_load.
* Fixed the error message when trying to lock non-existant session
directories.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@687 e378c898-3ddf-0310-93e7-cc216c733640
will force rehashing if the program dies in a messy way.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@682 e378c898-3ddf-0310-93e7-cc216c733640
* Moved around resume save so it doesn't bork on completed last hash
check.
* torrent::Download::hash_resume_clear() no longer removes priority
and mtime information, only the bitfield.
* Added a quick hack that allows libtorrent to split large files. The
parameter needs to be set in the source, no API available yet.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@681 e378c898-3ddf-0310-93e7-cc216c733640
after restart.
* Stop a torrent and show a message when it finishes the final
hash-check and finds some chunks incomplete. This prevents full disk
from causing a torrent to go into an infinit loop of re-downloading
the data.
* Moved various slots from core::Manager to core::DownloadList.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@679 e378c898-3ddf-0310-93e7-cc216c733640
* Added a "last changed" paramter to ViewManager::sort(...) which is
checked, if the ViewDownloads's last_changed timer was poked withing
that timeframe it won't update.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@676 e378c898-3ddf-0310-93e7-cc216c733640
* Split up DownloadList::insert to get proper ordering of slot map
calls and variable initialization.
* Added filtering to ViewDownloads.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@675 e378c898-3ddf-0310-93e7-cc216c733640
* Added "state_changed" variable to downloads that returns the last
time the download called DownloadList::pause/resume.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@674 e378c898-3ddf-0310-93e7-cc216c733640
* Added 'view_sort_current', changed 'view_sort' to sort according to
what was defined by the former option.
* 'view_sort_*' now takes a list of sorting options which are applied
in order.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@673 e378c898-3ddf-0310-93e7-cc216c733640
* 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