rtorrent/src/core/download_list.cc:100.
* Disable encryption support when compiling libtorrent with
--without-openssl. Patch by Josef Drexler, public domain as per
earlier agreement.
* Converted torrent::HashQueue from std::list into a std::deque for
better cache locality.
* Fixed a bug that would cause storage errors to trigger an
internal_error being wrongly thrown.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@828 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed setting of TOS so it doesn't always set it to throughput.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@827 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
http proxy. Doesn't currently support error checking or such. Use the
'connection_proxy' option to enable.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@796 e378c898-3ddf-0310-93e7-cc216c733640
* Added Download::skip_rate that tells us how many downloaded bytes
were skipped.
* Append '&' instead of '?' to the tracker url when the url already
has '?'.
* Added 'tracker_numwant' to the man page and moved tracker related
options to a seperate section.
* Removed Handshake::generate_hash and replaced it with sha1_salt
function in utils/sha1.h.
* Changed various encryption keys to use c_str.
* Set the handshake buffer size to the minimum required and moved them
to the end of Handshake.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@795 e378c898-3ddf-0310-93e7-cc216c733640
Josef Drexler, public domain as per earlier agreement.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@790 e378c898-3ddf-0310-93e7-cc216c733640
the tracker.
* Added display for the up/down rate total in download info.
* Use completed bytes from Content for download progress reported to
the tracker, rather than download rate total.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@786 e378c898-3ddf-0310-93e7-cc216c733640
keyboard input is disabled due to bugs in MacOSX 10.4.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@763 e378c898-3ddf-0310-93e7-cc216c733640
* Messed up the patch, now properly sets min/max_peers on incomplete
downloads.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@760 e378c898-3ddf-0310-93e7-cc216c733640
* Allow different min/max peers setting for seeding. Patch by Josef
Drexler.
* Man page entry for "safe_sync" and "max/min_peers_seed".
* The p,o,i,u keys are now bound so they change ElementMenu directly.
* Bound ^P and ^N for moving up/down.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@758 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 min/max size to display::Window. Added flags for windows that
should be on located at the left/bottom side of a Frame.
* Reversed print order in WindowLog*.
* Added display::TextElement and subclasses for flexible printing to a
char buffer with associated attributes. Added display::Attributes and
display::Canvas::print_attributes.
* Added display::WindowText for use with display::TextElement's.
* Added ui::ElementMenu for generic menus, and started work adding
this to ui::Download.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@751 e378c898-3ddf-0310-93e7-cc216c733640
* Added parameter to torrent::resume_save_progress to indicate that
only completed files are to be saved. This is used when the torrent is
active.
* Update the display when priority is changed.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@746 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
* 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
* 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, 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