Commit Graph

325 Commits

Author SHA1 Message Date
Arvid Norberg 95f543b43b fixed natpmp/upnp message typo 2009-08-28 06:48:37 +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 a75052c193 increase send buffer watermark in high_performance_seed preset 2009-08-17 17:33:57 +00:00
Arvid Norberg 0f376a2578 fixed typo 2009-08-02 09:32:25 +00:00
Arvid Norberg cc4084f943 increased cache line size for high performance seeds 2009-08-02 04:50:17 +00:00
Arvid Norberg 3cfa5c1932 log_time fix 2009-08-02 01:42:12 +00:00
Arvid Norberg 6a3cdd5117 increase disk buffer chunk size for high performance seeds 2009-07-28 06:29:13 +00:00
Arvid Norberg b437e2c743 fixed get_ip_filter 2009-07-21 04:42:19 +00:00
Andrew Resch c401c65dfb Add get_ip_filter() to session 2009-07-21 01:52:37 +00:00
Arvid Norberg 8af5211fb5 fix deadlock when upnp or natpmp fails to start 2009-06-13 10:45:07 +00:00
Arvid Norberg f20f63f865 fixed deadlock in some session member functions 2009-06-13 04:09:54 +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 64c8834fbb updated tuning document for seed boxes 2009-05-27 06:37:45 +00:00
Arvid Norberg e3c07c0934 converted some recursive mutexes to regular ones 2009-05-23 21:36:09 +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 31c422df0a added feature to set a separate global rate limit for local peers 2009-05-14 17:21:19 +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 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 1ed9e6d2f8 more C bindings and added getters for max_uploads on session and torrent 2009-04-07 15:55:05 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00
Arvid Norberg 982cf7f7f7 improved support for platforms with no wchar_t and std::wstring 2009-03-31 08:12:35 +00:00
Arvid Norberg 31054ef069 first implementation of set_piece_deadline 2009-03-17 09:34:44 +00:00
Arvid Norberg 7aacfca292 made the examples build without exception support. added overloads of add_torrent() and add_magnet_uri() that don't throw 2009-02-26 07:09:56 +00:00
Arvid Norberg b25a8db2a6 added more error codes. consolidated exception classes into one. moved over more places to use error_code instead of strings. fixed proper error handling for torrent_info 2009-02-23 01:21:19 +00:00
Arvid Norberg 3cdf9c87a8 fixed build errors on Solaris 2009-01-27 08:24:48 +00:00
Arvid Norberg 7b8663fa8b support for wide character paths for the GeoIP databases. Fixes #431 2008-12-21 08:48:06 +00:00
Arvid Norberg f1d981254a added session::set_alert_dispatch() for system specific message loop integration 2008-12-15 07:12:08 +00:00
Arvid Norberg 09b3a865ef fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define 2008-11-29 21:33:21 +00:00
Arvid Norberg acbdbfc1ef added tracker exchange (tex) extension 2008-11-27 20:51:59 +00:00
Arvid Norberg 157603b597 first pass at a link compatibility check 2008-11-23 15:44:11 +00:00
Arvid Norberg e9a33e6a05 added option to set alert mask when constructing session 2008-11-16 02:09:53 +00:00
Arvid Norberg 4e9124019b added accessor to query for the max number of connections 2008-11-08 07:40:55 +00:00
Arvid Norberg 3f6a4f846e fixes to default features in session constructor 2008-10-24 08:11:17 +00:00
Arvid Norberg 49c01d7754 moved UPNP_LOGGING out of upnp.cpp and added alerts for when upnp logs something 2008-10-22 01:12:14 +00:00
Arvid Norberg 3fbdded9f3 typo 2008-10-07 07:12:32 +00:00
Arvid Norberg 75aac14855 fixed typo 2008-10-07 06:42:25 +00:00
Arvid Norberg b355541a7d applied patch from Sergei Vorobyov to allow changing the limit on outstanding alerts 2008-10-07 05:46:42 +00:00
Arvid Norberg ea578a6acf adds ut_pex, ut_metadata and smart_ban by default in session constructor. Also starts upnp and nat-pmp by default. Fixes #399 2008-09-21 23:19:58 +00:00
Arvid Norberg cbf8e6f3b1 introduced TORRENT_NO_DEPRECATE, to disable deprecated functions. Made example not use deprecated functions. Documented magnet uri related functions. 2008-08-03 15:14:08 +00:00
Arvid Norberg e576babbb8 changed the alerts to have categories and to be filtered with a bitmask instead of having a severity and be filtered by a severity level. 2008-07-06 12:22:56 +00:00
Arvid Norberg 9c84908bb9 switched resume data parsing over to use lazy_bdecode. Improves memory allocation performance, especially noticable when heap allocations are expensive. Makes it more practical to run with malloc debug. Changed resume data interface to take a vector as opposed to a parsed structure 2008-06-30 23:14:31 +00:00
Arvid Norberg d396ab7b17 added pause and resume to the session. Fixes #349 2008-06-29 19:08:30 +00:00
cg25 ff3e80c42f Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
trunk.
2008-06-25 14:15:21 +00:00
Arvid Norberg 8ed949c4d5 factored out torrent creation functionality from torrent_info into create_torrent. Modified torrent_info to use lazy_bdecoder for increased performance 2008-05-14 05:29:42 +00:00
Arvid Norberg c043d4b21d initial support for queuing 2008-04-24 03:28:48 +00:00
Arvid Norberg 9a434a919f some more ASNum additions 2008-04-22 00:05:23 +00:00
Arvid Norberg 42f55adcce support for country lookup through GeoIP 2008-04-11 08:46:43 +00:00
Arvid Norberg d10205057e port mapping update 2008-04-06 23:18:35 +00:00
Arvid Norberg 2e6b9c2dce revamped part of the port mapping code (UPnP and NAT-PMP). Added documentation for start_{lsd,natpmp,upnp} and stop_{lsd,natpmp,upnp} 2008-04-06 19:17:58 +00:00
Arvid Norberg 57d75e120a initial support for GeoIP (only AS mappings for now) 2008-04-05 04:53:22 +00:00
Arvid Norberg df74cbb78a fixed logging=errors configuration 2008-02-17 22:51:03 +00:00
Arvid Norberg 8cf0510144 added disk cache for write operations 2008-02-08 10:22:05 +00:00
Arvid Norberg e1b1123c48 made memdebug work. include script to generate graph 2007-12-27 06:37:18 +00:00
Arvid Norberg c18ae83146 added wait_for_alert() to session. If there is at least one alert in the queue, it returns the front one in the queue, if the queue is empty, it waits until a new alert is posted and returns that one, or returns 0 if the time expires first. 2007-11-25 08:18:57 +00:00
Arvid Norberg 7be29d9b84 applied 'logpath' patch from #202 2007-11-16 21:21:28 +00:00
Arvid Norberg 59c7f5bfbb added option to delete files from disk as a torrent is removed 2007-10-13 03:33:33 +00:00
Arvid Norberg 4d19f7ff0f storage optimization. introduced a nother allocation mode: sparse. Now there is allocate, compact and sparse. Unless compact is used, the memory structures used to keep track of pieces are no longer allocated. sparse storage mode is now the default 2007-10-08 20:01:36 +00:00
Arvid Norberg 966800cd5b replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert. 2007-10-05 00:30:00 +00:00
Arvid Norberg 9597b98f4d moved log_time() into session.cpp instead of being inlined 2007-09-29 20:35:55 +00:00
Arvid Norberg 7bbfb3bd4b added a userdata parameter to add_torrent that is passed in to plugins 2007-09-14 00:11:33 +00:00
Arvid Norberg 57a76f9db6 fixed debug assert on linux 2007-09-10 06:12:41 +00:00
Arvid Norberg ee5ce50502 made max half open connections default to 8 on windows and added query function for that limit on session. 2007-09-10 01:57:40 +00:00
Arvid Norberg c8088459a0 made torrent_info reference counted and held by a boost::intrusive_ptr 2007-09-01 03:00:31 +00:00
Arvid Norberg 744d96796b made it possible to start torrents in paused state. updated documentation 2007-08-22 05:31:42 +00:00
Arvid Norberg 4ac1ac8a1f removed allocate_resources. switched to a global unchoker and connection distribution 2007-08-16 12:41:46 +00:00
Arvid Norberg 3b8670626a merged back async_io branch into trunk 2007-06-10 20:46:09 +00:00
Arvid Norberg 6447a074eb fixes to allow-multiple-connections-per-ip and a unit test that run a swarm of 3 local peers 2007-06-08 23:02:31 +00:00
Arvid Norberg 273f8bd921 merged back encryption branch to trunk 2007-06-06 00:41:20 +00:00
Arvid Norberg d0412a2244 added port filter for outgoing connections 2007-06-01 01:05:57 +00:00
Arvid Norberg 31247c046a supports turning on and off upnp, natpmp and lsd. All ofthem are now off by default 2007-05-31 00:21:54 +00:00
Arvid Norberg 49bd69cad4 introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds 2007-05-05 00:29:33 +00:00
Arvid Norberg 00948e9fc4 first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22 2007-04-25 18:26:35 +00:00
Arvid Norberg 094dc1065c some boost 1.34 preprocessor conditions and fixed assert in piece_picker 2007-04-23 17:14:40 +00:00
Arvid Norberg d88ffcc0e4 removed some more unecessary boost.date_time dependencies 2007-04-10 07:52:58 +00:00
Arvid Norberg 8957b64c04 prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp 2007-03-17 17:15:16 +00:00
Arvid Norberg 029953c5ae made the storage into a customization point. it is now interchangable for a custom implementation 2007-03-16 05:29:23 +00:00
Daniel Wallin 39b977973f Added accessor functions for upload_rate_limit and download_rate_limit 2007-01-01 23:51:24 +00:00
Arvid Norberg 0f3874028b added btgdaemon to identify client and applied wojci's patch to add num_connections() and num_uploads() to session 2007-01-01 21:04:30 +00:00
Arvid Norberg d58c6d2e31 fixed so that both session constructors initializes boost.filesystem. Fixed the case where the file check throws exceptions, the torrent is no longer removed, but paused 2006-12-30 23:02:21 +00:00
Arvid Norberg e35fc5c4be refactored extensions and added a plugin interface. fixed file.cpp for windows 2006-11-14 00:08:16 +00:00
Arvid Norberg c8fbd5db21 split session and session_impl into separate compilation units 2006-10-11 20:57:54 +00:00
Arvid Norberg f0519e86e8 separated session from session_impl and made a real pimpl-class of it. Introduced the possibility to destruct the sessions async. 2006-10-11 14:02:21 +00:00
Arvid Norberg 910733f29e added proper support for dht router nodes (which are automatically used to bootstrap from, and won't get added to the routing table) 2006-09-27 17:20:18 +00:00
Arvid Norberg 80dc56d388 fixed crashing bug when removing torrents while checking 2006-09-24 11:22:25 +00:00
Arvid Norberg a42189af62 removed out dated comments 2006-09-23 21:23:24 +00:00
Arvid Norberg dc2e25141c changed sequencial download threshold api, it is now per torrent 2006-09-04 23:22:21 +00:00
Arvid Norberg 191fd76b42 made sequenced_download_threshold a per torrent setting. Updated the project page layout. Removed incorrect invariant checks in piece picker. 2006-09-04 17:17:45 +00:00
Arvid Norberg 7bc1214749 fixed strange User-Agent encoding in HTTP requests. Fixed bug in sequenced_download_threshold code 2006-09-03 22:59:54 +00:00
Arvid Norberg bdf1bbc8f4 changed the file format for storing the DHT routing table to support IPv6. Changed the address used to be IPv4-IPv6 independent (ip_filter still onlt works with IPv4). Added default boost-build features to the building documentation. Completed the jamfile's support for building without DHT support. Updated documentation with these changes. 2006-09-01 03:06:00 +00:00
Arvid Norberg b1411fcdf7 the DHT can now change listen port runtime, and the same listen interface will be used for the DHT as is used for the torrent listen port. The DHT buckets are refreshed slightly more evenly distributed over time. 2006-08-30 00:09:58 +00:00
Arvid Norberg d0a38c50c6 fixed crash bug occuring when removing a torrent while it announces on the DHT. Fixed the mainloop not to quit when an uncought exception is thrown. 2006-08-29 01:15:24 +00:00
Arvid Norberg 4f2d147e07 the dht node will now add nodes who sends announce_peer with correct write token. Fixed bug in session where nodes from a .torrent were added to the node even though if it wasn't running. 2006-08-06 18:42:04 +00:00
Arvid Norberg 5ef57265bf first version with DHT support. Limited pipelining used by url-seeds. Fixed one configuration problem on FreeBSD. 2006-08-01 15:27:08 +00:00
Arvid Norberg eef4ffa18c preliminary http proxy support for web seeds, bumped version number 2006-07-27 18:07:51 +00:00
Arvid Norberg 00df2b5bc3 added build notes for vs.net 2005, removed old code from ip_filter.cpp, fixed problem where the stats could become incorrect in case of very high cpu load, added asserts in storage::read() to make sure one is not trying to read out of bounds. 2006-07-26 10:21:25 +00:00
Arvid Norberg 3763b600e4 added integer version defines, fixed a bug which appeared when session was closing, removed an old member function declaration from torrent_handle 2006-07-18 16:29:35 +00:00
Arvid Norberg 8d31bf442a fixed incorrect sorting of pieces in piece_picker 2006-07-16 00:08:50 +00:00
Arvid Norberg 8c6869b4f2 fixed the issue with the timer waiting for tracker requests when quitting, reported by Tianhao Qiu 2006-07-12 22:55:06 +00:00