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
up. The user now uses File* instead of File.
* Changed apply_low_diskspace to use
torrent::Download::free_diskspace() instead of the old file path hack.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@809 e378c898-3ddf-0310-93e7-cc216c733640
the code currently in the client.
* Fixed rtorrent.rc to show the right name for the encryption option.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@804 e378c898-3ddf-0310-93e7-cc216c733640
EntryList::open.
* Removed preload_min_pipelined option and added preload_type, which
disables preload on 0, uses madvise willneed on 1 and does direct
touching of the pages on 2.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@801 e378c898-3ddf-0310-93e7-cc216c733640
request.
* Implemented options for read-ahead of
chunks. 'preload_min_pipelined', 'preload_min_size' and
'preload_required_rate' are used to decide when to read-ahead a chunk.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@800 e378c898-3ddf-0310-93e7-cc216c733640
* Moved more encryption related code to HandshakeEncryption.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@797 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
* Shortened the encryption option name to just "encryption".
* Added handshake_encryption.* and moved various stuff from Handshake.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@791 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
before any of the open file's last touched timer.
* Display upload total, not download for both, in the download info
screen.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@787 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
!= end()" test.
* Properly clean up trailing '/' in EntryList::set_root_dir(...) and
fixed EntryList::make_directory so it actually makes them.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@776 e378c898-3ddf-0310-93e7-cc216c733640
* When testing for mincore, cast the address pointer to (char*).
* Failure during syncing causes the download to stop, unless
flag_ignore_error is set.
* Trigger storage error signal for HashTorrent in
DownloadWrapper::receive_initial_hash.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@774 e378c898-3ddf-0310-93e7-cc216c733640
* Use the list of indirect links in EntryList when checking for
available free diskspace.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@773 e378c898-3ddf-0310-93e7-cc216c733640
being seeded.
* Added a flag to PeerInfo for those that are in handshake, which is
used by PeerList::connect_keep_handshake flag to decide if that
address is to be re-added to the available list when there is already
a connection in progress. This ensures that multiple ports on the same
address don't end up discarded prematurely.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@770 e378c898-3ddf-0310-93e7-cc216c733640
piece is downloaded, and it no longer checks the whole dequeue for
invalid transfers.
* Fixed a bad exception in
PeerConnectionBase::down_chunk_from_buffer(), it is supposed to check
the buffer was used up only when the transfer is unfinished, not when
finished.
* Added --with-address-space to allow the user to change the address
space size. Defaults to 1024 MB on 32 bit, 4096 MB on 64 bit archs.
* Added a parameter to display::Manager::schedule_update that sets the
minimum update interval. Normal updates use 50 msec, adjust_layout
uses 0 msec.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@769 e378c898-3ddf-0310-93e7-cc216c733640
* Support for qwertz keyboard layout.
* Added support for preloading chunks which will be
uploaded. Currently just loads the whole chunk, so it needs to be
improved or disabled before release.
* Added PeerInfo::transfer_counter which keeps track of the number of
BlockTransfers referring to this object.
* Added PeerList::cull_peers that is called every hour to remove
unnessesary PeerInfo from the list..
* In PollKQueue and PollEPoll check that the event we received is
still wanted.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@768 e378c898-3ddf-0310-93e7-cc216c733640
* Bound ^F and ^B for navigating and swapped ^P and ^N in some windows
to get correct behavior.
* Sanitized and added PeerInfo and PeerList to the API.
* HashTorrent now waits for the last outstanding chunks finish before
allowing a chunk mapping error to bork the hashing.
* Lowered the default hash_interval to 5 msec and hash_max_tries to 5.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@765 e378c898-3ddf-0310-93e7-cc216c733640
* Map page entry about max_memory_usage and note about units.
* Quick hash checking changes borked the logic for handling FS errors,
etc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@764 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
* Check if RLIMIT_AS is present, else use RLIMIT_DATA.
* Don't add one to the timeout in display::Window::mark_dirty() so
that it updates the display immediately upon reorganizing the layout.
* Updated doc/rtorrent.1.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@759 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
* Added timeout to WindowText and updated download and peer info.
* Moved default http agent string to rtorrent/configure.ac.
* Periodic syncing of chunks now tries to only sync tightly packed
ranges of chunks unless timeout_sync has been reached.
* ChunkManager now checks if max memory is set to RLIM_INFINITY, if so
use 2^32.
* Added safe_sync option that forces MS_SYNC to be used before
unmapping chunks.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@757 e378c898-3ddf-0310-93e7-cc216c733640
* Finished the download information screen, removed the redunant
entries in WindowPeerInfo.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@755 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
* Use bold when ElementMenu loses focus.
* Added an exit slot to ElementBase and bind to that from withing the
subclasses.
* Moved peer info to ElementPeerList, accessed by the right
arrow. Download info will be moved to a seperate Element.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@752 e378c898-3ddf-0310-93e7-cc216c733640