* 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
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
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 views for downloads, that can be sorted.
* Added options "view_add", "view_sort" and "view_new".
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@671 e378c898-3ddf-0310-93e7-cc216c733640
by Josef Drexler, public domain.
* Check if bitfield or have messages has been received before when
getting a bitfield message. This fixes an exception on
PC::using_counter() not begin false.
* Added a switch to disable the use of ncursesw, instead using ncurses.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@669 e378c898-3ddf-0310-93e7-cc216c733640
throw on some obscure bug. Not going to be looking for this one anyway
as there is a rewrite scheduled.
* Added "tos = default|lowdelay|throughput|reliability|mincost" option.
* Made EntryList::value_type a pointer, fixed so FileMeta is
initialized and path set before Download::open().
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@662 e378c898-3ddf-0310-93e7-cc216c733640
* Changed to configure script so --disable-mincore must be called
explicitly to disable it.
* API and core::Download cleanup.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@660 e378c898-3ddf-0310-93e7-cc216c733640
* Added "enable_trackers=yes|no" option that can turn on/off the use
of trackers on all torrents.
* Cleanup of the API, including a new TrackerList class.
* When requesting from seeders, either continue a chunk another seeder
started or try a new one. This means seeders don't end up downloading
non-rare chunks.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@658 e378c898-3ddf-0310-93e7-cc216c733640
cache it in each download.
* Set classic locale on various streams.
* Added ChunkStatistic class that will keep track of the number of
each chunk, and how many seeders there are.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@654 e378c898-3ddf-0310-93e7-cc216c733640
class to object.h.
* torrent::download_add(...) now takes an torrent::Object*.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@653 e378c898-3ddf-0310-93e7-cc216c733640
the socket SND/RCBBUF sizes.
* Added slot for connection filtering.
* Added closing torrents with ^K and did some cleanup of the torrent
state code.
* Moved various socket setup to HandshakeManager.
* Added a baseline for the uploaded amount that resets every time the
torrent restarts, thereby sending only the amount uploaded since the
last restart.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@652 e378c898-3ddf-0310-93e7-cc216c733640
* Prepared SocketManager for inclusion in the api.
* From <nornagon@gmail.com>: bound some control keys in text input.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@650 e378c898-3ddf-0310-93e7-cc216c733640
local address and use port 0 when listening port is closed.
* Added "port_open" option which allows the user to not open any
listening port.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@644 e378c898-3ddf-0310-93e7-cc216c733640
* Added percentage completed to active unfinished torrents.
* Re-enabled different seeding and leeching priorities.
* Make a temporary container in AvailableList::insert(AddressList*)
when doing std::set_differernce. AvailableList's std::vector would
resize and cause invalidated iterators to be used.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@630 e378c898-3ddf-0310-93e7-cc216c733640
* Added "session_on_completion" option which saves the session torrent
when a download finishes.
* Handle SIGTERM gracefully, saving session torrents etc.
* Implemented session directory lockfile, use "session_lock" option to
disable.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@629 e378c898-3ddf-0310-93e7-cc216c733640
bencoded data.
* Make it safe to remove torrents that are selected.
* Delete the rtorrent and libtorrent sections when loading non-session
torrents.
* Added ^O to change a torrent's root dir, ^P to set a variable.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@628 e378c898-3ddf-0310-93e7-cc216c733640
* Allow the torrent's priority to be changed with '+'.
* More work on the variables thing.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@625 e378c898-3ddf-0310-93e7-cc216c733640
caught when loading a torrent.
* Added VariableMap to core::Download and started moving various
settings.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@624 e378c898-3ddf-0310-93e7-cc216c733640
* Moved several settings to use the new variables and made the parser
better.
* Use "-O2" rather than "-O3".
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@623 e378c898-3ddf-0310-93e7-cc216c733640
redirect get/set operations.
* Fixed(?) a bug in RequestList::downloading(...) that could cause a
segfault when pieces in the canceled list start downloading.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@622 e378c898-3ddf-0310-93e7-cc216c733640
* Remove torrents that are already tied from the expanded paths.
* Move the loop counter to Control.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@618 e378c898-3ddf-0310-93e7-cc216c733640
didn't get re-added to the task scheduler until a new event happened.
* Added redraw delay interval of 100ms, consider 50ms.
* Removed exceptions from core::DownloadStore::save.
* Added load, load_run, tied_stop and tied_remove to man-page.
* Cleaned up the command/option instances, move them to Control.
* PCB::load_up_chunk grabbed the errno from m_downChunk, not m_upChunk.
* Various string operations were moved to rak/string_manip.h.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@617 e378c898-3ddf-0310-93e7-cc216c733640
empty directories.
* When receiving zero length pieces, remove them from the request list.
* Send the interested state before any requests as some clients,
BitTornado 0.7.14 and uTorrent 0.3.0, disconnect if a request has been
received while uninterested.
* WITH_POSIX_FALLOCATE configure macro should check against "yes", not
"no".
* The new priority queue would cause arg torrents to load before
session torrents in some cases. Fixed to perform the session torrent
tasks before loading arg torrents.
* Allow '*' wildcard in filenames when loading torrents.
* Added load, load_run, stop_tied and remove_tied settings which can
be used to scan a directory for new/removed torrents. These torrents
are tied to the lifetime of the torrent file.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@616 e378c898-3ddf-0310-93e7-cc216c733640
* Changing priorities of closed torrents caused a crash due to empty
ChunkSelector, fixed.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@615 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed torrent::set_{bind,local}_address(...) so they update
correctly.
* Tweaked the time left display, show minutes instead of seconds.
* Add earlier check on validity of the socket address of
incoming/outgoing connection.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@610 e378c898-3ddf-0310-93e7-cc216c733640
throws torrent::input_error and rtorrent catches those and prints good
error messages.
* torrent::set_{bind,local}_address now accepts dns addresses.
* Fixed bug that caused multiple instances of the setting
up/download_rate to change the relative rate, rather than constant.
* Minor change to the way PCB decides to not request more pieces.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@601 e378c898-3ddf-0310-93e7-cc216c733640
when restarting the client.
* Renamed Bencode::operator[] to Bencode::get_key.
* Added progress percentage for hash checking.
* Correctly update the delegator priority when loading resume data
with file priorities.
* Don't allow file names with '\0' in them.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@597 e378c898-3ddf-0310-93e7-cc216c733640
according to sysconf(_SC_OPEN_MAX).
* Added timeout to torrent::TrackerHttp so connections that are left
open, but with no data being transmitted get closed after a resonable
time.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@524 e378c898-3ddf-0310-93e7-cc216c733640
'epoll' code. The client selects whichever is available on the current
platform.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@510 e378c898-3ddf-0310-93e7-cc216c733640
PollSelect available. Started work on PollEPoll.
* Fixed a bug that caused blank characters to be inserted into the
tracker request url.
* Added display of the options field in the peer info view.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@508 e378c898-3ddf-0310-93e7-cc216c733640
addresses.
* Tracker key is now an uint32_t instead of std::string.
* Added client address to UDP tracker requests.
* Added a check for FD_SETSIZE and _SC_OPEN_MAX in the client. A
warning is issued if max open files and sockets exceed either of these.
* Cleaned up the API, propably quite close to what will be in the
slush'ed API.
* Swapped emit and close order in TrackerHttp.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@499 e378c898-3ddf-0310-93e7-cc216c733640
* Added enums to torrent::Tracker to allow the client to check
whetever the tracker is an UDP or HTTP tracker.
* Added "enable_udp_trackers" setting for disabling the use of UDP
trackers, enabled by default.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@498 e378c898-3ddf-0310-93e7-cc216c733640
* Cleaned up the shutdown code, moved some unnessesary stuff out of
the main loop.
* Made a TrackerBase and an empty TrackerUdp class. The proper
Tracker* class is selected based on the url.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@492 e378c898-3ddf-0310-93e7-cc216c733640
parts of the API to return torrent::Rate instead of specific functions
for each stat.
* Use 600 second time span for peer rates.
* Added core::DownloadFactory which allows for an async http get and
changing of settings. This will allow the implementation of a
configuration screen when pressing "return", while the client is
downloading or finished downloading a torrent file.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@491 e378c898-3ddf-0310-93e7-cc216c733640
Moved to using SocketAddress within src/net.
Enabled SocketManager.
Changed API to use uint32_t instead of int.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@485 e378c898-3ddf-0310-93e7-cc216c733640
Disabled Mozilla's NSS SHA1 code and added OpenSSL SHA1, use NSS if
you need Debian-strict GPL compliance. Added note in README.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@484 e378c898-3ddf-0310-93e7-cc216c733640
PeerConnection::m_write.
Moved src/net/protocol_* to src/peer/.
Moved over to using PeerConnectionBase and created factory class and
setting for seeder/leecher.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@483 e378c898-3ddf-0310-93e7-cc216c733640