197 Commits

Author SHA1 Message Date
rakshasa 1f769cc138 * Use TrackerInfo pointer as unique id for torrents internally.
* Make the fake mincore call use the right length parameter.

* Added new rak::socket_address class.



git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@641 e378c898-3ddf-0310-93e7-cc216c733640
2006-02-20 17:20:26 +00:00
rakshasa 126bb511b8 * Applied patch from Diego 'Flameeyes' Petteno <flameeyes@gentoo.org>
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
2006-02-05 01:43:38 +00:00
rakshasa 305e3bdf2b * ChunkSelector selected from outside the priority ranges due to
~(char)0 giving an inverted integer rather than char.

* Fixed a segfault due to too small screen size, snprintf returns the
number of bytes that could have been written rather than how much
actually was.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@626 e378c898-3ddf-0310-93e7-cc216c733640
2006-01-24 20:05:36 +00:00
rakshasa 825985b8ef * Bind udp and http tracker requests to the bind address.
* 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
2006-01-23 19:24:45 +00:00
rakshasa 52636178d1 * Moved hash and torrent size checking to initialize so it will be
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
2006-01-19 17:13:25 +00:00
rakshasa 4431fd1652 * Fixed a regression that threw an exception for torrents with
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
2006-01-03 21:43:01 +00:00
rakshasa a1a07c47aa * Bumped version number to 0.8.1.
* Implemented ChunkSelector.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@603 e378c898-3ddf-0310-93e7-cc216c733640
2005-12-04 00:20:47 +00:00
rakshasa 93c6369b69 * Added the ability to set the timeout in torrent::Http. Torrent
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
2005-11-21 19:19:43 +00:00
rakshasa 5137aade10 * New throttle implementation, works to a certain degree but still
needs some work.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@588 e378c898-3ddf-0310-93e7-cc216c733640
2005-10-29 00:55:21 +00:00
rakshasa c99cc03d19 * Replaced most of the internal sigc++ slots and signals with a
lightweight version. This cut the size of the library w/debug by more
than 300kb. All (almost) the signals the client connects to are now in
DownloadWrapper.

* Fixed off-by-one error in the month displayed.

* Moved tracker url cleanup to src/parse and improved it.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@580 e378c898-3ddf-0310-93e7-cc216c733640
2005-10-14 21:50:45 +00:00
rakshasa 33b7217627 * Working resource manager.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@570 e378c898-3ddf-0310-93e7-cc216c733640
2005-09-23 23:49:53 +00:00
rakshasa 8732e457fa * Cleaned up socket read/write error handling.
* Fixed a bug where PeerConnectionSeed was reading the wrong type of
message.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@554 e378c898-3ddf-0310-93e7-cc216c733640
2005-09-05 18:50:48 +00:00
rakshasa abbe4dd675 * Changed the TaskScheduler so new tasks are inserted beyond the last
due task when executing.

* Moved stuff from torrent/torrent.cc to torrent::Manager.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@535 e378c898-3ddf-0310-93e7-cc216c733640
2005-08-18 00:46:54 +00:00
rakshasa 4eb18663f5 * Use a common task item to trigger keepalive for all connections.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@532 e378c898-3ddf-0310-93e7-cc216c733640
2005-08-16 22:26:59 +00:00
rakshasa 89a090111d * Added support for variable sized fd_set's, this should remove the FD_SETSIZE limit.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@512 e378c898-3ddf-0310-93e7-cc216c733640
2005-08-01 16:20:34 +00:00
rakshasa 91f4f022a9 * Finished implementing epoll support in the library. The client side
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
2005-07-26 16:38:15 +00:00
rakshasa 424a20b3f5 * Changed the API to support different Poll objects and made
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
2005-07-25 15:28:03 +00:00
rakshasa e877d3487b * Adding framework for a modular polling class.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@505 e378c898-3ddf-0310-93e7-cc216c733640
2005-07-24 16:47:30 +00:00
rakshasa 26a7907f0a * Cleaned up torrent::Rate and moved it to the API. Changed various
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
2005-07-09 15:28:56 +00:00
rakshasa d04adf81ae The client is now responsible for sending completed to tracker, fixes
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
2005-06-28 20:57:01 +00:00
rakshasa 28b369dc83 Added man pages.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@475 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-25 21:50:32 +00:00
rakshasa 088398d6d6 Converted to new TaskScheduler.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@474 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-23 19:23:36 +00:00
rakshasa 7b1e0ec085 Bumped version.
Moved around include order.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@465 e378c898-3ddf-0310-93e7-cc216c733640
2005-06-15 20:09:15 +00:00
rakshasa 74930f86b3 Adding framework for an option parser.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@448 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-31 19:05:55 +00:00
rakshasa a2248f584f Cleaned up configure.ac and fixed it to properly handles CXXFLAGS.
Ignore SIGPIPE.

Fixed(?) bug in hash queue code when a queued torrent got
deleted. Also reorganized core::Manager to catch all
torrent::local_error's.

Fixed display bug in display::FileList which hid the last element.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@441 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-26 03:25:55 +00:00
rakshasa 11bc3a9f80 Adding faq.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@432 e378c898-3ddf-0310-93e7-cc216c733640
2005-05-05 16:31:46 +00:00
rakshasa 98676e5531 Removed choke delay in the peer list window.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@421 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-28 01:15:39 +00:00
rakshasa 70a73ea441 Minor bugfixes to find-file interface etc.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@403 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-17 17:54:19 +00:00
rakshasa 874e46fc64 Proper '/' on the end of directories in the find-file window.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@381 e378c898-3ddf-0310-93e7-cc216c733640
2005-04-03 16:36:19 +00:00
rakshasa 2f49249378 Minor fixes to autoconf.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@365 e378c898-3ddf-0310-93e7-cc216c733640
2005-03-19 02:07:43 +00:00
rakshasa dfa6c9cd05 Added our id to the peer info screen.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@354 e378c898-3ddf-0310-93e7-cc216c733640
2005-03-14 20:37:57 +00:00
rakshasa f664e1ce0c Adding view of tracker list.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@338 e378c898-3ddf-0310-93e7-cc216c733640
2005-03-10 18:59:24 +00:00
rakshasa f379abb200 Fixed a mispelled name in utils::for_each_pre(...).
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@333 e378c898-3ddf-0310-93e7-cc216c733640
2005-03-07 20:49:16 +00:00
rakshasa 209581bd3f Fixed configure's debug flag.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@330 e378c898-3ddf-0310-93e7-cc216c733640
2005-03-07 18:49:03 +00:00
rakshasa b840476527 Added -t for dumping tracker requests.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@315 e378c898-3ddf-0310-93e7-cc216c733640
2005-03-01 19:21:49 +00:00
rakshasa 5ef6be4912 Added <errno.h> to src/core/poll.h.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@299 e378c898-3ddf-0310-93e7-cc216c733640
2005-02-22 16:29:59 +00:00
rakshasa a5f23adc7b Reorganized, moing stuff to src/utils subdir.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@290 e378c898-3ddf-0310-93e7-cc216c733640
2005-02-19 17:27:29 +00:00
rakshasa ab065e598b Fixed various memory problems.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@282 e378c898-3ddf-0310-93e7-cc216c733640
2005-02-15 23:55:46 +00:00
rakshasa 1f58b0074b Hooked the input to the torrent loader.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@274 e378c898-3ddf-0310-93e7-cc216c733640
2005-02-14 18:24:21 +00:00
rakshasa 45404b7473 Added configure check for execinfo.h.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@259 e378c898-3ddf-0310-93e7-cc216c733640
2005-02-06 20:41:19 +00:00
rakshasa 0ff36babee Up and down on the download list working.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@250 e378c898-3ddf-0310-93e7-cc216c733640
2005-02-01 15:26:24 +00:00
rakshasa cd9b014eb6 Renamed engine to core.
Added focus to WindowDownloadList.


git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@249 e378c898-3ddf-0310-93e7-cc216c733640
2005-01-31 17:59:16 +00:00
rakshasa b17dc37a3b rtorrent: Moving towards working torrents.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@246 e378c898-3ddf-0310-93e7-cc216c733640
2005-01-29 22:42:52 +00:00
rakshasa b994517819 rtorrent: Initial key handler implemented.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@239 e378c898-3ddf-0310-93e7-cc216c733640
2005-01-28 18:43:39 +00:00
rakshasa 914c7c1aeb Commiting rtorrent display stuff.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@235 e378c898-3ddf-0310-93e7-cc216c733640
2005-01-26 22:04:16 +00:00
rakshasa 1c10f620f8 rtorrent/display: Initial ncurses canvas implementation.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@234 e378c898-3ddf-0310-93e7-cc216c733640
2005-01-26 15:29:29 +00:00
rakshasa 68788e904c Commiting basic files for rtorrent.
git-svn-id: svn://rakshasa.no/libtorrent/trunk/rtorrent@233 e378c898-3ddf-0310-93e7-cc216c733640
2005-01-25 18:47:10 +00:00