Replace the raw ~uint32_t sentinel with a named constant
Download::default_resume_flags that masks out the open_enable_fallocate
bit. This prevents flag_fallocate from being set on all files when
open_throw() reads resume_flags() before explicit flags are configured.
The sentinel value (~uint32_t & ~open_enable_fallocate) retains the
full range as a 'not set' marker while being safe to pass through
Download::open() without unintended fallocate.
* Moved DownloadInfo to src/torrent.
* Applied the magnet-uri patch.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@1144 e378c898-3ddf-0310-93e7-cc216c733640
the old start/stop functions. The old functions are now just wrappers
for the new.
* Fixed the tracker requests when finishing a torrent.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@965 e378c898-3ddf-0310-93e7-cc216c733640
* 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
utils::VariableMap::call_command(...).
* More cleanup of the command calls.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@895 e378c898-3ddf-0310-93e7-cc216c733640
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
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
key, since they are never changed nor added from outside. This cut the
stripped binary size by 50KB.
* Use a shared have piece queue for each download. Each connection has
a time-stamp for the last have message they sent, which is checked
against the queue. This also avoids the race condition where some
peers would get incomplete views of our bitfield due to lost have
messages during handshake.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@839 e378c898-3ddf-0310-93e7-cc216c733640
determine the common root directory of two adjecent files.
* Cleaned up RC4 class.
* Fixed --with-openssl so it accepts user-supplied paths.
* Call abort instead of exit when receiving a SIGSEGV or SIGBUS.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@829 e378c898-3ddf-0310-93e7-cc216c733640
* 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
* Resume data was not being used as it was comparing the number of
entries with size_bytes, not size_files.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@812 e378c898-3ddf-0310-93e7-cc216c733640
* 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
* The curl perform loop wasn't properly checking the returned pointer,
which caused a segfault with libcurl 7.15.5.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@754 e378c898-3ddf-0310-93e7-cc216c733640
* If a storage error was thrown from make_directory in
EntryList::open, it would try to erase a FileMeta that wasn't inserted.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@753 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
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
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
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
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