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
don't end up in an infinite loop.
* Fixed a bug that caused failed chunk downloads to result in
ChunkSelector's forgetting to download them again.
* Added note to the man page about the schedule and schedule_remove
setting.
* Display the number of failed chunks in the client.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@612 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
* Added download time left display, need to tweak it.
* Removed libtorrent/src/download/download_setup.cc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@607 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed an exception caused by initial hash check not properly
cleaning up HashQueue when canceling.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@606 e378c898-3ddf-0310-93e7-cc216c733640
would in some rare occasions cause memory to be corrupted. leading to
a crash.
* Added option for setting the http proxy and proccess's umask.
* Save the total uploaded for downloads between sessions.
* Moved from sigc++ to my own lightweight slot class for the task
scheduler. This saves some 5-600kb when compiled with debugging
symbols, 1-200kb without.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@605 e378c898-3ddf-0310-93e7-cc216c733640
* Added position affinity to ChunkSelector, still needs more work to
make it move forward without needing to finish all pieces.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@604 e378c898-3ddf-0310-93e7-cc216c733640
while, so either it needs some additional hack or make it a configure
option.
* Trigger a storage_error when files fail to resize.
* Fixed a bug in the priority code that caused it to skip some ranges.
* Added a check to make sure a CurlGet object is closed once it is
finished.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@602 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
downloads now have longer timeout than tracker requests.
* Bound the '*' key in tracker list to disable a tracker.
* Added PollKQueue placeholder, implementation will come later.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@598 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
* Tweaked the http get timeout, now it has a 60 second connect timeout
and a 360 second download timeout.
* Moved libtorrent/src/parse/download_constructor to src/download.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@595 e378c898-3ddf-0310-93e7-cc216c733640
"rtorrent/CLIENT_VERSION/LIBRARY_VERSION".
* Using libcurl's timeout, set to 60 seconds, rather than in
TrackerHttp. This should make libcurl try different IP's.
* Minor cleanup of how file priorities are updated.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@594 e378c898-3ddf-0310-93e7-cc216c733640
rate and chunk size.
* Changed torrent::download_remove to take a torrent::Download, rather
than the info hash.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@592 e378c898-3ddf-0310-93e7-cc216c733640
* More throttle fiddling.
* Pop the currently uploaded piece from the send list.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@591 e378c898-3ddf-0310-93e7-cc216c733640
* Fixed a bug that caused idle looping due to epoll_wait timeout using
msecs rather than usecs resolution.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@590 e378c898-3ddf-0310-93e7-cc216c733640
* Changed print_hhmmss/ddmmyyyy to use a char buffer.
* Added error messages for failed torrent http/file downloads which
includes the url/filename.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@581 e378c898-3ddf-0310-93e7-cc216c733640
downloading with curl on epoll unless sockets triggered events.
* Checking whetever we're interested in a peer's pieces wasn't
finished, doh.
* Don't use shorter timeout for "stopped" tracker request, the client
now makes sure it shuts down within 5 seconds.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@577 e378c898-3ddf-0310-93e7-cc216c733640
* Don't increment beyond end when incrementing a entry's completed
counter.
* Don't allow ChokeManager::try_unchoke to succeed when it has been
less than 10 seconds since the last unchoke.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@562 e378c898-3ddf-0310-93e7-cc216c733640
reference counter.
* Get errno message when chunks can't be allocated.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@556 e378c898-3ddf-0310-93e7-cc216c733640
* Display the connection types for a download.
* Fixed HashTorrent so it properly erases the Chunks it holds.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@549 e378c898-3ddf-0310-93e7-cc216c733640
* Adding incomplete PeerConnectionSeed.
* For every new peer connection it would traverse the local bitfield
to check if it was zero'ed, instead of using a cached value. Forgot to
change over when changing it from the BitFieldExt to the normal class.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@547 e378c898-3ddf-0310-93e7-cc216c733640
off by one.
* Removed ProtocolChunk, moved the functions to PeerConnectionBase,
remains to clean it up.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@546 e378c898-3ddf-0310-93e7-cc216c733640
* Make initialization and cleanup of display::Canvast safer.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@533 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
is abit hacky and normal select based polling is temporarily disabled.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@509 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 code that handles printing of download stats, uses a
char* for buffer for output more flexible concatenation. Closed
torrents are displayed correctly now.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@497 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
Using displayScheduler for updating windows, much more efficient.
Added saving of some parts of the state of torrents.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@482 e378c898-3ddf-0310-93e7-cc216c733640
the problem where doing hash checking of completed torrents would
cause wrong messages to be sent.
Added option to the client for opening a random port in the supplied
port range.
Cleaned up ui::Download and ui::DownloadList handling of throttle keys
and status bar.
Added 60s timeout for handshakes.
Added ignore key function to input::Bindings.
Made the time span of torrent::Rate configurable.
Seperate torrent::Rate object for quick and slow time span in
torrent::ThrottleControl. Also limited the amount the throttle could
over-allocate per tick, not completely fixed.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@480 e378c898-3ddf-0310-93e7-cc216c733640
Added support for quotation in settings.
Added key for changing the priority of all files in a torrent.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@477 e378c898-3ddf-0310-93e7-cc216c733640
Erases the screen upon quit.
Added option for checking the hash for completed downloads.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@471 e378c898-3ddf-0310-93e7-cc216c733640