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
counter when loading session torrents.
* Use the TrackerInfo pointer (to be renamed) as an identifier for
downloads, rather than the hash.
* Partially converted to using a new wrapper for sockaddr, which will
allow IPv6.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@642 e378c898-3ddf-0310-93e7-cc216c733640
* Moved option file parsing to VariableMap and added "import" and
"try_import" options for loading option files.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@636 e378c898-3ddf-0310-93e7-cc216c733640
pid is not running.
* Added rak::timer::from_seconds(uint32_t) and converted all uses to
this to avoid overflows etc.
* For each cycle through the tracker list without any successfull
connections, increase the timeout by 20 seconds.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@635 e378c898-3ddf-0310-93e7-cc216c733640
that adds the "unused" attribute to some function parameters and minor
cleanups of configure.ac.
* Added inttypes.h to command_scheduler.h.
* Bumped to version 0.8.5/0.4.5.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@634 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
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
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
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
* 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
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
* 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
peers and HandshakeManager. Some other address releated code was
cleaned up.
* Made a seperate AvailableList class for unconnected peers. Using the
tracker success signal to call a function in ConnectionList that
removes already connected peers from the list.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@514 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
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
finished downloads in DownloadList, moved stuff from core::Manager to
the slot maps.
* Added check hash key ^r, though triggering check hash on finished
signals currently borks.
* Made tracker dump into an option.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@470 e378c898-3ddf-0310-93e7-cc216c733640