Commit Graph

1463 Commits

Author SHA1 Message Date
Arvid Norberg c418165e07 replaced boost.filesystem with custom functions (improves efficiency and drops unnecessary dependencies and improves libtorrent portability) 2009-10-26 01:29:39 +00:00
Arvid Norberg 28e9c58e3d fixed bug in add_files that would fail to recurse if the path ended with a / 2009-10-25 21:07:14 +00:00
Arvid Norberg 6c137d6ef6 announces torrents immediately to the DHT when it's started 2009-10-25 02:37:45 +00:00
Arvid Norberg 65eb4db727 added session::is_dht_running 2009-10-24 21:55:16 +00:00
Arvid Norberg 3dc190da6e dht fix 2009-10-23 20:29:26 +00:00
Arvid Norberg 9d1989904b some compatibility fixes. 2009-10-20 16:44:11 +00:00
Arvid Norberg 8a5b7d5d36 got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones). 2009-10-20 02:49:56 +00:00
Arvid Norberg a5fb1b3455 USE_BOOST_DATE_TIME fix 2009-10-19 03:01:15 +00:00
cristiangreco 70b0edb9f4 fix to not install the local copy of GeoIP.h when linking against system
libgeoip.
2009-10-12 20:56:17 +00:00
Arvid Norberg 474566fa21 more DHT fixes and simplifications 2009-10-09 02:34:25 +00:00
Arvid Norberg cee42ff5a1 more DHT simplifications 2009-10-07 20:51:02 +00:00
Arvid Norberg 115a4b1863 fixed msvc build 2009-10-04 23:46:29 +00:00
Arvid Norberg 599543e889 automatically caps files and connections by default to rlimit 2009-10-03 19:02:31 +00:00
Arvid Norberg ea1761838a added torrent_status::finished_time 2009-09-30 17:21:59 +00:00
Arvid Norberg dfccf0b412 some DHT work 2009-09-29 17:06:08 +00:00
Arvid Norberg 138fb8c679 extended DHT unit test to include error reporting 2009-09-27 17:41:51 +00:00
Arvid Norberg f36688a364 initial support for torrent tag store in DHT 2009-09-27 03:38:41 +00:00
Arvid Norberg 9b15c11740 don't send stats to trackers received through tracker exchange 2009-09-25 18:17:59 +00:00
cristiangreco 57995668fe fix some error/warning strings typos 2009-09-22 11:30:31 +00:00
Arvid Norberg 6de02f9895 fixed deadlock in natpmp implementation 2009-09-22 04:01:01 +00:00
Arvid Norberg e289b9c6ac build fixes 2009-09-20 15:21:31 +00:00
Arvid Norberg 54cce9da60 simplified and optimized the DHT implementation 2009-09-20 00:23:36 +00:00
cristiangreco deccb51a7d fix headers install path 2009-09-17 21:50:38 +00:00
Georg Rudoy e8327c96b1 Build fixes. 2009-09-17 11:22:18 +00:00
Arvid Norberg 0f62beebb3 improved compile time by moving rate limiter implementation to a cpp file and making it a non-template 2009-09-16 04:41:35 +00:00
Arvid Norberg 6c67da08d6 split socket.hpp up in multiple headers to lower build time somewhat 2009-09-16 03:46:36 +00:00
Arvid Norberg 35bca49c61 add torrent priority to adjust bandwidth allocation of torrent's peers 2009-09-13 02:24:25 +00:00
Arvid Norberg e43dacb275 NAME_MAX fix 2009-09-10 17:12:17 +00:00
Arvid Norberg 3d9c8f1b2d cleaned up usage of MAX_PATH and related macros 2009-09-10 03:54:10 +00:00
cristiangreco 2fd925a4ae Rewrite autotools build system (new configure.ac, changes for various
Makefile.am and fixed m4 scripts). Could still need some fixes.
2009-09-10 02:22:13 +00:00
Arvid Norberg ddbb35cf7d fixed bug in connect candidate counter 2009-09-09 16:42:52 +00:00
Arvid Norberg 5164c42a00 fixed url-seed bug causing only a single web seed to be connected 2009-09-07 06:09:57 +00:00
Arvid Norberg 3e9725b5d7 made peer_blocked_alert derive from torrent_alert 2009-09-07 01:47:30 +00:00
Arvid Norberg 3ea1b0d304 alloca build fixes 2009-09-06 23:56:07 +00:00
Georg Rudoy 4cb1c9f006 Hopefully really fixed alloca.h for now. 2009-09-06 18:43:09 +00:00
Georg Rudoy 5b5597e523 Possibly fixed not found alloca on FreeBSD. 2009-09-06 18:22:55 +00:00
Arvid Norberg d0cb5049f7 windows support for disk physical offset 2009-09-06 07:44:45 +00:00
Arvid Norberg 3e77baa9a4 msvc 7.1 build fix 2009-09-05 15:18:55 +00:00
Arvid Norberg bec481acdf improved disk read performance and fixed bug in storage_interface's backwards compatibility functions 2009-09-05 07:21:10 +00:00
Arvid Norberg c7b1d7e7d6 escape string fixes 2009-09-05 01:08:56 +00:00
Arvid Norberg f7ebefb285 fixed checking of fast and suggest messages when used with magnet links 2009-09-01 04:41:50 +00:00
Arvid Norberg 1f5a722b01 improved sun studio support (it seems to lack a lot of stl) 2009-08-30 07:38:52 +00:00
Arvid Norberg a5a9fdf2af added missing include in storage.hpp 2009-08-28 16:12:23 +00:00
Arvid Norberg 6078dd06b0 removed the last dependency on iostream and lexical cast 2009-08-25 18:13:46 +00:00
Arvid Norberg 45fd696bc6 added I2P support 2009-08-20 03:19:12 +00:00
Arvid Norberg 51c38c2e16 added performance warning when hitting the send buffer watermark limit 2009-08-17 20:29:09 +00:00
Arvid Norberg a6bcb8f8c9 fixed issue where web seed connections might have been disconnected in the constructor (which causes problems) 2009-08-08 15:27:07 +00:00
Arvid Norberg 7933132cd9 fixed assert when built with disk stats 2009-08-05 19:02:51 +00:00
Arvid Norberg 63368c1383 added dummy storage class to disable disk I/O and an option to disable hash checking (for performance testing and simulation) 2009-08-02 06:40:45 +00:00
Arvid Norberg 78a6df0b2a connect candidate fix 2009-08-01 22:48:43 +00:00
Arvid Norberg bf545fc508 fixed overflow issue in stats and inserted asserts to avoid similar bugs in the future 2009-07-26 23:36:55 +00:00
Arvid Norberg e06b7f7000 remove useless declaration 2009-07-26 08:17:34 +00:00
Arvid Norberg 4f4f96db5a added support for deprecation warnings on windows 2009-07-26 02:37:31 +00:00
Arvid Norberg eecc78b931 dll export fix + reverting upload slot change 2009-07-26 02:27:52 +00:00
Arvid Norberg 137d2d63f5 cleaned up policy. Moved logic from policy to torrent 2009-07-23 04:38:52 +00:00
Arvid Norberg 4e5768847d build fix 2009-07-21 08:44:27 +00:00
Arvid Norberg ecdd7231b8 removed redundant code in disk_io_thread 2009-07-21 04:32:27 +00:00
Arvid Norberg 848a4b2cf2 fixed bug where downloading from peers could stall when downloading at very high rates 2009-07-21 04:29:29 +00:00
Arvid Norberg 215b95699b fixed release-with-logging build configuration 2009-07-21 04:27:12 +00:00
Andrew Resch c401c65dfb Add get_ip_filter() to session 2009-07-21 01:52:37 +00:00
Arvid Norberg fb9ffb8360 set default lease duration to 0 for UPnP (permanent lease) 2009-07-20 02:28:56 +00:00
Arvid Norberg 3f11c9c57f ignore missing dll-interface on windows 2009-07-20 02:05:47 +00:00
Arvid Norberg 310b9d0e51 windows build fixes (and one msvc warning fix) 2009-07-20 01:54:51 +00:00
Arvid Norberg 7ad858ccd9 fixed rate limiter bug for local (unthrottled) connections 2009-07-19 09:17:40 +00:00
Arvid Norberg 8b807f7514 enable floating point API by default 2009-07-19 05:36:06 +00:00
Arvid Norberg ae3be201c4 reduced the number of floating point operations to better support systems with no FPU 2009-07-19 04:59:27 +00:00
Arvid Norberg 20d3c46155 attempt to make it build on windows 2009-07-18 22:19:04 +00:00
Arvid Norberg 51992dda6a added new alert when individual files complete 2009-07-04 04:58:24 +00:00
Arvid Norberg ece98a8ef6 * added support for storing symbolic links in .torrent files 2009-07-01 08:35:45 +00:00
Arvid Norberg 76db4627f6 another pending_bytes fix 2009-07-01 04:14:43 +00:00
Arvid Norberg db165942a7 oportunistic mingw fix 2009-06-30 23:03:54 +00:00
Arvid Norberg 8ee50045ca added support for uTorrent interpretation of multi-tracker torrents (off by default) 2009-06-28 20:21:55 +00:00
Arvid Norberg e9bd8f6e1f turned fast-resume errors into error_codes. fixed typo in documentation 2009-06-28 00:36:41 +00:00
Arvid Norberg 10eb3fa00f handle torrents with duplicate filenames 2009-06-26 16:20:57 +00:00
Arvid Norberg 7eb7dfdf17 fixed rename_file 2009-06-24 09:09:35 +00:00
Arvid Norberg f96a5c247f windows fixes 2009-06-23 17:52:05 +00:00
Arvid Norberg 5de60fad78 added support for preserving modification time of files in torrents 2009-06-23 02:50:41 +00:00
Arvid Norberg 2dfb5ed44b fixed wchar_t bug in file.hpp 2009-06-23 01:55:09 +00:00
Arvid Norberg ad1e575a6e trim tracker urls and renamed isprint to is_print 2009-06-23 01:53:47 +00:00
Georg Rudoy f69bf04108 Include limits.h to get NAME_MAX on Unix. 2009-06-22 18:39:55 +00:00
Arvid Norberg 9dfa35d18d merged utf8_native and convert_to_native 2009-06-22 02:19:11 +00:00
Arvid Norberg cc3e6621ed fixed rename_file() bug where the new name would not be saved in the resume data in some cases 2009-06-22 00:52:57 +00:00
Arvid Norberg 5ce7aed078 encodes urls in torrent files that needs to be encoded 2009-06-19 18:18:49 +00:00
Arvid Norberg f09774607f added upload mode 2009-06-18 22:32:55 +00:00
Arvid Norberg 6b048dc85e fixed bug in connect candidate counter 2009-06-18 16:16:41 +00:00
Arvid Norberg b8f17f34e3 potentially fix snprintf related build error 2009-06-16 16:21:10 +00:00
Arvid Norberg 62a7946968 disk stats fix 2009-06-14 22:20:23 +00:00
Arvid Norberg c81a4f3430 add dllexport interface to page_aligned_allocator 2009-06-14 22:08:27 +00:00
Arvid Norberg 8af5211fb5 fix deadlock when upnp or natpmp fails to start 2009-06-13 10:45:07 +00:00
Arvid Norberg 7328b30517 fixed potential deadlock in natpmp and upnp 2009-06-13 08:04:53 +00:00
Arvid Norberg 2da772210c fix to make torrent_status::list_peers more accurate 2009-06-13 04:14:41 +00:00
Arvid Norberg 07bcb3545a converted a whole lot of error strings into error_codes. Documented some previously undocumented alerts as well as all the error codes 2009-06-12 16:40:38 +00:00
Arvid Norberg 5e87420b6f set all piece priorities to 0 when a write fails 2009-06-10 09:20:55 +00:00
Arvid Norberg f0134c1b11 improved disk error handling and expanded use of error_code in error reporting 2009-06-10 08:30:55 +00:00
Arvid Norberg f57703ded0 fixed inconsistent use of preprocessor macro for entry::print 2009-06-09 22:02:02 +00:00
Arvid Norberg 92a541035e fixed inconsistent build requirement around entry::print() 2009-06-09 05:56:18 +00:00
Arvid Norberg 33768fa282 fixed deadlock in http_tracker_connection 2009-06-09 05:51:10 +00:00
Arvid Norberg c662f1c153 fix python bindings 2009-06-03 09:02:43 +00:00
Arvid Norberg a9a12a2391 fix build with boost-1.34.1 2009-06-03 07:22:43 +00:00
Arvid Norberg bd33814376 improve disk error handling 2009-05-31 22:41:53 +00:00
Arvid Norberg 0283f07aed more buffer categories to help debugging 2009-05-31 22:38:49 +00:00
Arvid Norberg b2c5d8a563 include the piece index that failed in disk errors 2009-05-31 19:44:56 +00:00
Arvid Norberg 9effe8a54a fixed deadlock in http_connection. added two error codes for that class. Added more documentation on error_code 2009-05-30 18:50:38 +00:00
Arvid Norberg 0c0a961719 remove iostream dependency 2009-05-30 02:37:11 +00:00
Arvid Norberg 27293215c7 remove iostream dependency 2009-05-30 02:36:57 +00:00
Arvid Norberg 9d76d0481e fixes tp typos in alert_types.hpp and windows fixes 2009-05-29 01:27:08 +00:00
Arvid Norberg 48e0e020a9 fix snprintf arguments in alert_types.hpp 2009-05-29 00:02:43 +00:00
Arvid Norberg d5c8cd5274 define WIN32_LEAN_AND_MEAN when including windows.h 2009-05-28 05:10:13 +00:00
Andrew Resch 6242ae051e added ability to give seeding torrents preference to active slots 2009-05-27 19:27:12 +00:00
Arvid Norberg efb6ec5824 fixed expensive-invariant-checks build 2009-05-25 17:23:03 +00:00
Daniel Wallin 757b0437e9 Don't construct a temporary peer just for searching. Clean up some duplicate code. 2009-05-25 10:15:35 +00:00
Arvid Norberg 0f6a89f0c0 fix warning 2009-05-25 09:32:50 +00:00
Arvid Norberg bb47b2924c fix coalesce reads and writes setting 2009-05-25 07:46:31 +00:00
Arvid Norberg 30c704523c caches the time every 100 ms and use the cache where high resolution timer is not needed 2009-05-25 02:45:51 +00:00
Daniel Wallin 68629eb6bc Split peer list into IPv4 and IPv6 peers. Saves 12 bytes per IPv4 peer. 2009-05-24 21:49:19 +00:00
Arvid Norberg 4f1618a796 fix release logging build 2009-05-24 20:34:02 +00:00
Arvid Norberg 7d32c3b2b0 fix missing boost:: qualifier 2009-05-24 19:38:27 +00:00
Arvid Norberg 2f627a4b00 attempt to mitigate read cache thrashing 2009-05-24 16:49:01 +00:00
Arvid Norberg 29d56f9a8b improved read cache memory utilization 2009-05-24 15:32:14 +00:00
Arvid Norberg a89d6cced1 clean up some disk cache duplication of logic and added another memory usage optimization for the write cache 2009-05-24 00:12:53 +00:00
Arvid Norberg e3c07c0934 converted some recursive mutexes to regular ones 2009-05-23 21:36:09 +00:00
Arvid Norberg ae8488fb91 improved read cache memory efficiency 2009-05-23 19:27:27 +00:00
Arvid Norberg e322b318ae improved handling of out-of-memory conditions in disk I/O thread 2009-05-23 18:39:55 +00:00
Arvid Norberg 5211badc1e fixed syntax error 2009-05-23 16:19:04 +00:00
Arvid Norberg f9c12ef589 added more disk io asserts 2009-05-23 15:50:38 +00:00
Arvid Norberg c1d9198dc3 added largest_contiguous cache flush algorithm 2009-05-23 07:35:45 +00:00
Arvid Norberg e36ea4ba5d added instrumentation for disk access. Useful to benchmark disk cache performance 2009-05-23 03:03:52 +00:00
Arvid Norberg 0127edac14 added disk-checking delay, to leave room for other disk operations while checking a torrent 2009-05-22 06:32:39 +00:00
Arvid Norberg cb9c3cb37d memory optimization for checking torrents 2009-05-21 16:15:05 +00:00
Daniel Wallin d74f6db11f Use a safer default handler storage size until we can figure out some
good platform specific defaults.
2009-05-21 11:51:52 +00:00
Daniel Wallin 6014ac1e7a Allocate memory for read/write handlers inplace inside peer_connection instance. 2009-05-20 08:57:08 +00:00
Arvid Norberg c047f66454 improved disk buffer logging and added extra asserts when logging disk buffer stats 2009-05-19 07:00:05 +00:00
Arvid Norberg a51dfa50f5 renamed peer_from_tracker to add_peer 2009-05-15 22:07:19 +00:00
Arvid Norberg 437cb94fd0 improved IPv6 support by announcing twice when necessary 2009-05-15 21:23:41 +00:00
Arvid Norberg 53f890608d use C99 string formatting macros for platform independence 2009-05-15 15:52:15 +00:00
Arvid Norberg 31c422df0a added feature to set a separate global rate limit for local peers 2009-05-14 17:21:19 +00:00
Arvid Norberg 0c3f9a7f88 lowered default setting for max peer list size 2009-05-13 22:19:25 +00:00
Arvid Norberg 00ccf9064e optimized memory usage in the DHT, and added some handling for out-of-memory cases 2009-05-13 22:18:41 +00:00
Arvid Norberg bdd7e21831 replace endpoint with address in DHT node ban list 2009-05-13 21:07:51 +00:00
cg25 1c75c260c3 fix include/Makefile.am as to not include socks4_stream.hpp (deleted in [3366]) 2009-05-13 20:43:40 +00:00
Arvid Norberg 062e1796c0 fixed crash when shutting down while checking a torrent 2009-05-13 17:17:33 +00:00
Arvid Norberg b7c5d2f12d add a separate setting for max peer list size for paused torrents 2009-05-13 01:34:10 +00:00
Arvid Norberg 8e3bd5154a removed iostream and boost-regex dependency in client_test 2009-05-13 01:02:06 +00:00
Arvid Norberg 85bf463e11 added session setting to control disk buffer pool allocation sizes 2009-05-12 18:52:05 +00:00
Arvid Norberg 649f95c932 added session_settings presets for low memory usage and seed box environments 2009-05-12 18:05:04 +00:00
Arvid Norberg d5164b1b1e fixed typo. made it possible to set max_outstanding_disk_bytes_per_connection to 0 2009-05-12 17:57:52 +00:00
Arvid Norberg 92f42eb23c fixed move_stororage to handle the case where it fails 2009-05-11 21:18:09 +00:00
Arvid Norberg 136f101449 when reaching peer list size limit, rank peers to be removed. Fix for updating IP filter 2009-05-11 20:23:47 +00:00
Arvid Norberg 9523d88909 made file_pool use std::map instead of multi-index, and use std::string::operator< instead of the quite inefficient filesystem::path::operator< 2009-05-09 21:11:25 +00:00
Arvid Norberg 1eb2799a03 added more allocation logging for statistics builds. Identified and fixed some memory waste 2009-05-07 20:30:20 +00:00