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
within that directory.
* Removed a buggy hack in FileListIterator::operator++().
* Cleaned up display of file sizes.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@835 e378c898-3ddf-0310-93e7-cc216c733640
iterate through FileList as if it consisted of directories.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@831 e378c898-3ddf-0310-93e7-cc216c733640
FileList in a structured manner. Messed up the file list view to test
it.
* Added operator[] and at(...) to torrent::FileList and torrent::Path.
* Fixed Handshake::fill_read_buffer(...) that was throwing due to a
bad error check. Patch by Josef Drexler.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@830 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
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