and checking if enough disk space is available for MS_ASYNC to be safe.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@743 e378c898-3ddf-0310-93e7-cc216c733640
* Added options for timeout_sync/safe_sync and max_chunks_queued.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@739 e378c898-3ddf-0310-93e7-cc216c733640
* Delayed the hash done signal.
* Allow quick hash checks that only handles invalid chunks.
* Show failed counter for peers.
* Updated the man page.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@737 e378c898-3ddf-0310-93e7-cc216c733640
torrents get the right root directory.
* Properly clean up after catching a storage_error in
EntryList::open().
* Added a funtion to torrent::Download for syncing chunks to disk, and
made torrent::resume_save_progress(...) use it.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@736 e378c898-3ddf-0310-93e7-cc216c733640
* Added is_active flag to TrackerManager and don't reset the
up/download baseline in Download::start() when a request is queued.
* Remove the "started" filter in hashing view, so it starts hashing
stopped torrents.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@735 e378c898-3ddf-0310-93e7-cc216c733640
public API. The client can now use the various calls provided or
implement its own.
* 'U' now deletes the tied file in addition to clearing 'tied_to_file.
* Bound left arrow in chunks seen to return to peer list. Patch by
Josef Drexler.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@734 e378c898-3ddf-0310-93e7-cc216c733640
* Added Object::merge_recursive.
* Save and set the chunks done count for closed torrents.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@733 e378c898-3ddf-0310-93e7-cc216c733640
DownloadList::pause is called it clears the "hashing" variable.
* Added convenience functions for retriving torrent::Object key's of
specific types.
* Iterate to the first visible transfer in the chunks seen view. Patch
by Josef Drexler.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@732 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed transfer list to mark peers that sent bad data once the chunk
has successfully passed the hash check.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@731 e378c898-3ddf-0310-93e7-cc216c733640
* Use DownloadWrapper* to identify hashing chunks, rather than the
info hash.
* When hashing fails, retry the most common blocks.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@729 e378c898-3ddf-0310-93e7-cc216c733640
set_hash_failed hacks when closing, etc.
* Changed the attributes of blocks in transfer view.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@727 e378c898-3ddf-0310-93e7-cc216c733640
* Added corrupt_file, an utility to corrupt files to test chunk
hashing.
* Added "start_tied" option, and don't clear "tied_to_file" when
*_untied are called.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@725 e378c898-3ddf-0310-93e7-cc216c733640
and mark the block transfer if they do not match.
* Erase handshakes in DownloadMain::stop() rather than
Manager::cleanup_download(). This was causing exceptions in PeerList.
* Add 1000ns to the timeout when polling to avoid rounding errors
messing up scheduling.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@724 e378c898-3ddf-0310-93e7-cc216c733640
* Show chunks with only queued transfers with an underscore in chunks
seen view. Patch by Josef Drexler, public domain.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@719 e378c898-3ddf-0310-93e7-cc216c733640
seen. Patch by Josef Drexler, public domain.
* Moving various stuff from Delegator to TransferList.
* Added checks in HandshakeManager::receive_* to check for invalid
handshakes.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@716 e378c898-3ddf-0310-93e7-cc216c733640
* Cleanup of Block classes.
* Added brackets to error message from the OpenSSL test.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@713 e378c898-3ddf-0310-93e7-cc216c733640
Drexler, all future patches to lib/rtorrent will be under public
domain.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@712 e378c898-3ddf-0310-93e7-cc216c733640
* Properly return the size of the Block.
* Bumped to 0.10.0/0.6.0.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@711 e378c898-3ddf-0310-93e7-cc216c733640
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