Commit Graph

823 Commits

Author SHA1 Message Date
Arvid Norberg e9459b4df8 rss fixes 2011-03-23 02:46:22 +00:00
Arvid Norberg d3f0875ed5 fixed division by zero 2011-03-21 08:19:00 +00:00
Arvid Norberg 54dd2a06f5 add rss support to client_test 2011-03-21 04:59:45 +00:00
Arvid Norberg 2dfd1a972b prevent read jobs from starving in the disk I/O thread 2011-03-20 19:17:59 +00:00
Arvid Norberg 3d63cb98b7 log read job queue size 2011-03-20 09:04:03 +00:00
Arvid Norberg 54435a73b8 optimization for kick-starting sockets to download again after having been blocked by the disk 2011-03-20 07:43:57 +00:00
Arvid Norberg e4df633157 added another disk cache flush algorithm to minimize readback when hashing pieces 2011-03-20 05:47:27 +00:00
Arvid Norberg 11e5e2539a fixed crash when setting cache_buffer_chunk_size to 0 2011-03-20 04:56:20 +00:00
Arvid Norberg 1b6227ad31 report disk read-back when verifying piece hashes 2011-03-20 01:19:14 +00:00
Arvid Norberg c015e28792 more disk thread timing 2011-03-19 22:23:58 +00:00
Arvid Norberg a6745558e7 log max queue size and low watermark 2011-03-18 05:49:31 +00:00
Arvid Norberg 782bc974a1 log average disk job time instead of cache time 2011-03-18 03:07:10 +00:00
Arvid Norberg 0b25b87593 add a bunch more stats logged to session stats 2011-03-17 05:31:06 +00:00
Arvid Norberg 6db11079c8 add performance warning when disk write queue exceeds half of the write cache size 2011-03-16 07:45:51 +00:00
Arvid Norberg d6fbff13df measure disk sort time (phys_offset) 2011-03-15 02:21:28 +00:00
Arvid Norberg 7dde47b98a measure disk cache flush times 2011-03-15 01:44:32 +00:00
Arvid Norberg 9812626cf0 make DHT rate limit configurable 2011-03-14 07:47:24 +00:00
Arvid Norberg bf842f8120 fixed typo 2011-03-14 05:46:20 +00:00
Arvid Norberg a08bcf7459 change semantics of disk read time and add disk hash time 2011-03-14 05:21:46 +00:00
Arvid Norberg ff7bbc6cd0 log disk cache in session stats 2011-03-14 03:35:18 +00:00
Arvid Norberg 27c1bc632d introduced pop_alerts() which pops the entire alert queue in a single call 2011-03-14 02:59:46 +00:00
Arvid Norberg 7eeafd2bac log number of torrents with errors in stats logger 2011-03-13 19:06:19 +00:00
Arvid Norberg c21100a9a5 log failed and redundant bytes 2011-03-13 04:34:57 +00:00
Arvid Norberg ca4a053d1a add written disk blocks to session stats 2011-03-12 21:41:05 +00:00
Arvid Norberg 03a7442532 add disk cache stats to session stats 2011-03-11 07:37:12 +00:00
Arvid Norberg 5431d86779 no need to close and re-open the listen socket when starting the DHT. Report the actual port we ended up listening on if the system chose one. don't try to listen on i2p 2011-03-07 07:02:30 +00:00
Arvid Norberg 5ea62910ba fixed inverse logic for ip filter exemption 2011-03-07 01:20:23 +00:00
Arvid Norberg f90f9f6609 fixed alert queue size limit bug when restoring setting from session state 2011-03-07 00:36:51 +00:00
Arvid Norberg 019b682cf9 fixed logging build 2011-03-04 07:00:27 +00:00
Arvid Norberg a0b6085530 re-evaluate auto managed torrents soon after adding a new auto-managed torrent 2011-03-04 06:03:45 +00:00
Arvid Norberg 0aff6803fb fix to IP filter exemptions 2011-03-02 17:37:10 +00:00
Arvid Norberg 08c93978a6 clean up some dead code and fix windows build 2011-02-28 00:35:58 +00:00
Arvid Norberg ab3b82b8ee replaced std::rand() with custom random generator 2011-02-26 07:55:51 +00:00
Arvid Norberg 56937edf56 cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer 2011-02-25 17:00:36 +00:00
Arvid Norberg ca106ca4e0 some warning fixes and cleanup 2011-02-24 04:25:35 +00:00
Arvid Norberg 141ada013f fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way 2011-02-21 05:24:41 +00:00
Arvid Norberg 9fe69e7596 fix another issue with adding magnet links with a valid torrent_info object 2011-02-21 03:07:37 +00:00
Arvid Norberg 3a89bcf6ff don't assert on passing in a null pointer for listen interface, just listen on INADDR_ANY 2011-02-19 21:16:32 +00:00
Arvid Norberg 513914050c fixed broadcast_lsd option. in trunk, redefined it to only broadcast every 8th packet 2011-02-16 10:16:52 +00:00
Arvid Norberg cb6f38f056 added session::listen_no_system_port flag to prevent libtorrent from ever binding the listen socket to port 0 2011-02-16 06:35:53 +00:00
Arvid Norberg 9aa09d384c added smooth_connect and turned it on by default 2011-02-16 03:11:55 +00:00
Arvid Norberg c4c1773ceb fixed some warnings 2011-02-15 10:05:25 +00:00
Arvid Norberg 247ad31dc0 more disconnect granularity in stats logging 2011-02-14 05:38:59 +00:00
Arvid Norberg b471e40064 log more details on the cause of disconnects 2011-02-14 04:48:02 +00:00
Arvid Norberg 21d6030fe3 logging build fix 2011-02-12 23:25:09 +00:00
Arvid Norberg 6780114937 log number of upload-only torrents in session stats 2011-02-12 22:15:03 +00:00
Arvid Norberg 4267f0ec5a rotate stats log every hour 2011-02-11 17:39:22 +00:00
Arvid Norberg a42d42fd11 CPU optimization for end-game piece picker 2011-02-09 02:56:00 +00:00
Arvid Norberg e079907252 more end-game piece picker optimization (early exit) 2011-02-08 04:08:04 +00:00
Arvid Norberg 5df4e7edd9 added more piece picker stats 2011-02-07 00:51:20 +00:00
Arvid Norberg 3d616f894e end-game mode optimizations 2011-02-06 23:40:21 +00:00
Arvid Norberg 63c96274b9 more stats for redundant/failed and protocol bandwidth usage 2011-02-06 07:33:40 +00:00
Arvid Norberg ea0af55a46 log end-game mode stats with stats logging 2011-02-06 03:07:00 +00:00
Arvid Norberg ed8779a338 added option to not recheck on missing or incomplete resume data 2011-02-06 00:50:12 +00:00
Arvid Norberg 06d8142c5b checking torrents don't count in auto manage logic 2011-02-04 06:55:05 +00:00
Arvid Norberg 051936cd29 fixed typo 2011-02-04 06:44:05 +00:00
Arvid Norberg 19d6c53ad4 increase low watermark for disk write queue. log payload rates in session stats 2011-02-04 06:33:47 +00:00
Arvid Norberg 88663bfbde log more peer errors in stats log 2011-02-04 04:31:20 +00:00
Arvid Norberg 907588db12 fixed bug in peer upload stats logging and adjusted bucket sizes for histogram 2011-02-04 03:24:55 +00:00
Arvid Norberg 4ed6b1a067 introduce a low watermark for disk io blocking connections 2011-02-04 03:02:23 +00:00
Arvid Norberg bf77ee4199 extended stats logging 2011-02-03 06:22:22 +00:00
Arvid Norberg 5456f2ac91 provide more stats with stats builds 2011-02-03 04:09:50 +00:00
Arvid Norberg b842815710 added new session functions to more efficiently query torrent status 2011-02-01 09:48:28 +00:00
Arvid Norberg 6692f05655 added alerts for added and removed torrents 2011-02-01 03:25:40 +00:00
Arvid Norberg 19ae5440f2 make auto-manager kick in immediately when torrents are added and paused (reduces a 10 seconds delay) 2011-01-30 13:15:29 +00:00
Arvid Norberg d393bb4097 report number of peers blocked on disk in session_status 2011-01-30 10:04:15 +00:00
Arvid Norberg 87dfdd4790 expanded plugin interface to support session state. improved re-request logic in ut_metadata extension. made max metadata size configurable 2011-01-29 10:37:21 +00:00
Arvid Norberg b230c385d9 clean up logic around waiting for disk write queue to fall below low watermark. optimize peer disconnect. Fix integer overflow bug in uTP/TCP mixed mode algorithm. Fixed some invariant checks for closing connections issues 2011-01-25 08:03:35 +00:00
Arvid Norberg 9964b9cdb6 support a separate option to use proxies for peers or not 2011-01-24 03:24:28 +00:00
Arvid Norberg 4602ff4b47 removed logging in destructor since it caused a race condition with the creation of the logger 2011-01-24 03:23:34 +00:00
Arvid Norberg 2732a6bc47 move alert queue size limit into session_settings. make some alerts non-discardable (don't throw them out, even when the queue is full). Make session pause also pause all checking files. optimize rejecting incoming connections when the session is paused 2011-01-23 18:00:52 +00:00
Arvid Norberg 021a774168 rate limit outstanding-disk performance warnings. don't throttle reading form peers because of disk congestion if the peer isn't downloading payload. Don't time out peers that are not waiting on the network 2011-01-23 02:09:54 +00:00
Arvid Norberg c223291fb4 added support for RSS feeds 2011-01-18 03:41:54 +00:00
Arvid Norberg b49999b76e made the DHT implementation slightly more robust against routing table poisoning and node ID spoofing 2011-01-08 08:54:51 +00:00
Arvid Norberg a3e7095f84 url downloading fix 2010-12-30 06:46:28 +00:00
Arvid Norberg 26053e4b76 support adding torrents by url to a .torrent file 2010-12-30 01:47:30 +00:00
Arvid Norberg ae41b2598b fix non-dht build 2010-12-29 02:17:44 +00:00
Arvid Norberg d1124574ef fix test_transfer to set mixed mode to 'prefer_tcp' to avoid having it interfere with the send rate. optimize the test to run a lot faster. fix proxy to allow any protocol (fixes issue where test failed with http and https proxy). Bump the minimum rate limit to 20kB/s (from 5kB/s) in proportional mixed mode algorithm 2010-12-27 22:54:14 +00:00
Arvid Norberg fc0bd8066b use a python python dictionary for settings instead of session_settings object (in python bindings) 2010-12-26 08:03:02 +00:00
Arvid Norberg 8c3ad6b4f3 asio debugging fixes and test_transfer fixes 2010-12-24 18:15:01 +00:00
Arvid Norberg 451c583023 more robust mechanism to determine external IP 2010-12-24 01:31:41 +00:00
Arvid Norberg c4422cd34e optimize test_transfer. fix set_upload_mode() bug for seeds. clean up some verbose logging. fix tests to not fail by EAGAIN on stdout 2010-12-24 00:37:01 +00:00
Arvid Norberg f2416af718 added feature to turn off making outgoing connections for seeds 2010-12-17 03:20:36 +00:00
Arvid Norberg 0b213d95d2 add missing settings mappings 2010-12-17 03:16:30 +00:00
Arvid Norberg d554cf88e6 optimized swarm startup time (shaved off about 1-2 seconds) by introducing torrent connection boost on the first tracker response for a torrent 2010-12-17 03:10:56 +00:00
Arvid Norberg 5ee6266e93 more DHT fixes 2010-12-12 09:15:54 +00:00
Arvid Norberg 29ed03f720 first implementation of DHT security implementation. tie the node ID to the external IP 2010-12-11 09:38:07 +00:00
Arvid Norberg 779014ddac support requesting UPnP and NAT-PMP routers for our external IP address 2010-12-05 20:40:28 +00:00
Arvid Norberg 03bd547f40 potential memory corruption fix when connections close when the disk becomes available 2010-12-04 23:24:42 +00:00
Arvid Norberg 1c99bf1de3 more network thread asserts to make sure only the network thread touches network-thread only data. Also delay starting the network thread until after the session constructor is done with its setup 2010-12-04 22:20:31 +00:00
Arvid Norberg 94ef3eaf4b windows build fixes 2010-12-01 05:47:18 +00:00
Arvid Norberg e5f980d80d merged uTP branch into trunk (yay) 2010-11-29 01:33:05 +00:00
Arvid Norberg 80611bd12c some settings save-fixes and reverting some unnecessary changes in the utp branch 2010-11-28 22:36:26 +00:00
Arvid Norberg 2e871382d7 add debug configuration to debug shutdown-stall bugs / outstanding async operations 2010-11-28 01:47:30 +00:00
Arvid Norberg d1cb2d52ff fixed build issues with with vernose logging enabled 2010-11-26 20:44:48 +00:00
Arvid Norberg 71d51b90e8 more size logging and potential fix for udp_tracker_connection leak 2010-11-16 06:41:35 +00:00
Arvid Norberg 79f6b5856b verbose logging fixes 2010-11-15 04:43:53 +00:00
Arvid Norberg 02e15202f2 support dht nodes in magnet links 2010-11-07 19:18:16 +00:00
Arvid Norberg 1c7e5506e9 report stats on the number of dht request observers that are currently allocated 2010-11-06 07:12:57 +00:00
Arvid Norberg 08a234f6a6 document peer turnover settings and update default settings to enable it. In trunk, make the peer turnover interval configurable as well 2010-10-30 15:59:57 +00:00
Arvid Norberg e4de1fc8b1 graceful disconnect mode which finishes transactions before disconnecting peers 2010-10-30 08:36:18 +00:00
Arvid Norberg 2e05dc765a make the listen argument configurable 2010-10-29 08:10:12 +00:00
Arvid Norberg 07f1b74291 fixed logging build 2010-10-24 08:06:58 +00:00
Arvid Norberg 84d81d3a82 fixed up link test to make sure library and client are using the same configuration, also factored out common code from session constructor 2010-10-24 00:44:07 +00:00
Arvid Norberg 9a461c5e46 reduce some warnings 2010-10-22 05:39:32 +00:00
Arvid Norberg 517aaf526b fixed assert when shutting down with DHT enabled 2010-10-19 03:43:11 +00:00
Arvid Norberg 643a49f022 optimized session/torrent startup time (shaved off about 2 seconds) 2010-10-17 18:36:37 +00:00
Arvid Norberg 3948ca3179 fixed bugs in http seed connection and added unit test for it 2010-10-17 16:15:32 +00:00
Arvid Norberg 7bd25edc9d generalize SSL support to also include web seeds (and in theory regular peers) 2010-10-12 08:57:43 +00:00
Arvid Norberg 72322dbc10 allow extending web seeds with extra headers and custom authorization schemese 2010-10-10 18:43:58 +00:00
Arvid Norberg 3b550ece98 don't save settings that are set to the default value 2010-10-10 02:22:57 +00:00
Arvid Norberg e494cb219b made seeding choking algorithm configurable 2010-10-09 21:11:03 +00:00
Arvid Norberg 21cbd1fac4 deprecated setters for max connections, max half-open, upload and download rates and unchoke slots. These are now set through session_settings 2010-10-09 19:09:38 +00:00
Arvid Norberg 440abdfaf2 optimistic unchoke fix 2010-10-04 04:06:14 +00:00
Arvid Norberg 8e4addf2c5 improved set_max_connections to immediately disconnect peers to match the new limit 2010-10-03 10:07:38 +00:00
Arvid Norberg cd08a61f35 expose the full peer list size through session_status 2010-10-01 04:07:38 +00:00
Arvid Norberg e6d400084e fix to start async operations inside the network thread to maintain thread safety within asio 2010-09-25 20:07:27 +00:00
Arvid Norberg c341f15f71 make the assert macro also be able to print a value 2010-09-25 17:46:13 +00:00
Arvid Norberg e2ca3e1545 rate limiter fix 2010-08-27 14:52:42 +00:00
Arvid Norberg b44f71e217 post alerts for socks failures. fix unit tests 2010-08-25 06:22:49 +00:00
Arvid Norberg b747cdab8a merged all proxy settings into a single one 2010-08-23 06:27:18 +00:00
Arvid Norberg f70fbb45c0 optimized struct layout of torrent_info. removed boost.date_type types from public interface (replaced by time_t) 2010-08-21 22:10:16 +00:00
Arvid Norberg a85f1f5c61 improved logging 2010-08-18 17:14:40 +00:00
Arvid Norberg fd5f1bf80b improved SOCKS5 support 2010-08-03 09:08:37 +00:00
Arvid Norberg 67110ec0a3 vs2010 build fixes 2010-07-22 16:49:40 +00:00
Arvid Norberg 4c6be42b74 added feature to not count downloaded bytes from web seeds in stats 2010-07-15 06:27:44 +00:00
Arvid Norberg 89ca5a157a fixed typos 2010-07-15 06:02:58 +00:00
Arvid Norberg b3f57ac293 added incoming lsd alert 2010-07-15 05:56:29 +00:00
Arvid Norberg c4fac3b91a fixed incorrect assert 2010-07-15 01:46:50 +00:00
Arvid Norberg a3d95677b0 fixed build errors from last check-in 2010-07-14 07:38:35 +00:00
Arvid Norberg 4e576f93fd removed the session mutex for improved performance 2010-07-14 04:16:38 +00:00
Arvid Norberg 339b0019a4 fixed typo 2010-06-26 17:58:04 +00:00
Arvid Norberg 19c9237ffc fixed crash in on_disk_queue and in on_receive_udp 2010-06-26 17:09:37 +00:00
Arvid Norberg d3970f62a3 fixed invalid assert in session_impl::recalculate_unchoke_slots() 2010-06-25 14:14:36 +00:00
Arvid Norberg 717c7ba962 fixed bug where ignore resume timestamps would not update the disk io thread 2010-06-25 14:06:28 +00:00
Arvid Norberg a0cef76bf2 fixed race condition around m_abort in session_impl 2010-06-24 21:43:00 +00:00
Arvid Norberg 26c4a819c8 removed the reuse-address flag on the listen socket 2010-06-17 17:14:56 +00:00
Arvid Norberg 6a5806bfd2 re-fixed the open_listen_port() issue 2010-06-01 02:04:00 +00:00
Arvid Norberg cdf05a9c9c moved UDP trackers over to use a single socket 2010-05-30 01:33:03 +00:00
Arvid Norberg 2f099e6103 fix open_listen_port call order 2010-05-27 16:20:08 +00:00
Arvid Norberg 126778d403 fix race condition caused by sharing udp socket and opening it in the session thread. Moved initialization to session constructor 2010-05-09 06:03:52 +00:00
Arvid Norberg d0f2b0ade0 make tick interval configurable 2010-05-03 08:54:03 +00:00
Arvid Norberg dce2edb6cc fixed vs 2010 build 2010-04-30 19:08:16 +00:00
Arvid Norberg 2a55fe8c70 debug logging fixes 2010-04-14 18:52:13 +00:00
Arvid Norberg 2e14cfca46 fix crash 2010-04-13 05:59:59 +00:00
Arvid Norberg 384bfdec48 added anonymous mode to disable some particular features that might give away the user's and the client's identity 2010-04-13 04:30:34 +00:00
Arvid Norberg 62eef91338 added setting to ignore file modification time when loading resume files 2010-04-11 21:02:43 +00:00
Arvid Norberg a0a8c695ab fixed typo 2010-03-31 04:22:48 +00:00
Arvid Norberg 310dd7d6f3 properly detect windows version to initialize half-open connection limit 2010-03-31 02:50:09 +00:00
Arvid Norberg 4c4c7f832a fix for torrent announcing bug introduced when supporting fine grained control over sources torrents are announced to 2010-03-31 02:40:00 +00:00
Arvid Norberg 7e851818b1 support more fine-grained torrent states between which peer sources it announces too 2010-03-29 00:34:04 +00:00
Arvid Norberg c6f57ce5d7 support optional LSD IP broadcast 2010-03-26 17:45:16 +00:00
Arvid Norberg b874104fab precaution fix 2010-03-17 19:01:08 +00:00
Arvid Norberg 7775457441 moved GeoIP destruction inside session lock 2010-03-16 07:00:23 +00:00
Arvid Norberg edea865023 fix unloading of GeoIP database to not cause potential crashes while shutting down 2010-03-16 02:50:20 +00:00
Arvid Norberg fc224f29e4 fixed bug in session::save_state 2010-03-13 17:37:47 +00:00
Arvid Norberg 79bd8fcd52 made the default cache size depend on the amount of physical RAM. and fixed disk thread settings update when loading through load_state 2010-03-10 07:14:10 +00:00
Arvid Norberg cbc93c8de8 made load_state and save_state more data-driven to reduce code repetition 2010-03-10 02:28:40 +00:00
Arvid Norberg 06cca08afd retry if accept fails because of too many files 2010-03-09 17:50:10 +00:00
Arvid Norberg b80664bbaa save additional settings in session state 2010-03-08 03:51:07 +00:00
Arvid Norberg 013cef68e8 add flags to session::save_state to filter what is saved 2010-03-06 07:49:40 +00:00
Arvid Norberg e0e253a2a4 fixed geoip build 2010-03-04 22:34:49 +00:00
Arvid Norberg 281b6368f7 deprecate old state saving functions, merge dht state with session state 2010-03-04 16:42:39 +00:00
Arvid Norberg fb06acc828 add default peer rate limit setting 2010-03-03 01:31:31 +00:00
Arvid Norberg 82b60b25c8 made the DHT socket bind to the same interface as the session 2010-03-02 07:21:32 +00:00
Arvid Norberg 3171e81238 include new session settings in saved state 2010-02-21 01:34:23 +00:00
Arvid Norberg 23881fb0ff lsd and dht announce timer fixes 2010-02-14 17:24:53 +00:00
Arvid Norberg 5c02f3df59 fixed DHT bootstrapping issue 2010-02-14 07:46:57 +00:00
Arvid Norberg fe5f908cc6 fixed MinGW support 2010-02-14 04:05:18 +00:00
Arvid Norberg c050b22d8f optimized memory usage for torrent objects 2010-02-14 01:39:55 +00:00
Arvid Norberg 78363cc05d local service discovery fixes 2010-02-13 16:29:17 +00:00
Arvid Norberg 3d5d9eb807 start torrent on incoming connection feature 2010-02-11 04:39:04 +00:00
Arvid Norberg fb47469834 experimental support for the BitTyrant choking algorithm 2010-02-09 03:04:41 +00:00
Arvid Norberg 1a97405189 added an option to save a little bit of RAM by not collecting full detailed stats 2010-02-08 05:43:54 +00:00
Arvid Norberg 7e343a9d6f add size logging to various classes 2010-02-08 04:51:34 +00:00
Arvid Norberg 0dba0f5dcc never time out a peer because we're waiting for the disk. allow connection_speed = 0. post an alert when rejecting a peer because of the connection limit 2010-02-06 21:40:55 +00:00
Arvid Norberg 8c02d04d2e UDP tracker optimization 2010-02-06 08:14:18 +00:00
Arvid Norberg abfc92de35 added performance warning if there are too many optimistic unchoke slots 2010-02-06 07:39:45 +00:00
Arvid Norberg 51c544c6bb fixed trunk build with DHT disabled 2010-02-05 08:40:08 +00:00
Arvid Norberg 088f4bf700 improved LSD performance and made the interval configurable 2010-02-05 08:23:17 +00:00
Arvid Norberg 1b2798970c support O_NOATIME on linux and use it by default 2010-02-02 19:44:52 +00:00
Arvid Norberg 859f412189 support an arbitrary number of optimistic unchoke slots 2010-02-02 18:39:32 +00:00
Arvid Norberg 3bc40b9980 fix builds for all combinations of stats and disk stats 2010-01-31 20:32:12 +00:00
Arvid Norberg 8542343a0d also exclude volatile option when using explicit cache 2010-01-31 19:16:22 +00:00
Arvid Norberg dbffe3aee9 increase connection limit for local peers if limits are ignored for local network in order to accept more incoming connections from the local network 2010-01-31 18:35:46 +00:00
Arvid Norberg 6a5164b990 stop people from using volatile cache and suggest_pieces at the same time 2010-01-31 16:35:38 +00:00
Arvid Norberg ccf8b0278a added volatile read cache option 2010-01-30 03:50:17 +00:00
Arvid Norberg 5cc3cbd8b1 added some settings to the save session state 2010-01-24 22:00:36 +00:00
Arvid Norberg a046850130 support disk I/O priority setting 2010-01-23 03:02:32 +00:00
Arvid Norberg 8c60c75547 explicit cache fixes 2010-01-17 21:57:24 +00:00
Arvid Norberg d959331c1e renamed some torrent check queue related functions to be more descriptive 2010-01-17 21:42:14 +00:00
Arvid Norberg c9b594fde1 support sending suggest messages based on what's in the read cache. support 'explicit read cache' 2010-01-15 16:45:42 +00:00
Arvid Norberg 2d6cc667b5 removed one floating point operation 2009-12-29 19:06:27 +00:00
Arvid Norberg d157af5305 build fixes 2009-12-28 20:59:34 +00:00
Arvid Norberg 2055426c52 fix trunk build and tests build without exceptions 2009-12-16 10:42:34 +00:00
Arvid Norberg 25798ba1fa timer initialization fix 2009-12-13 16:32:07 +00:00
Arvid Norberg 1d04c4dcd0 added session saving and loading functions 2009-12-03 05:11:57 +00:00
Arvid Norberg 3fb05a13b1 fixed DLL link issues 2009-11-30 07:03:34 +00:00
Arvid Norberg 1f5859d31f error_code fix. added is_error_code_enum template specialization and using the abbreviated syntax to build error_codes 2009-11-29 07:06:38 +00:00
Arvid Norberg 6070c59b46 fixed bug in auto-manager where active_downloads and active_seeds would sometimes be used incorrectly 2009-11-29 03:28:11 +00:00
Arvid Norberg 0f351cfd62 fixed num_queued counting 2009-11-28 22:47:45 +00:00
Arvid Norberg 39d14146e7 dynamic_cast fix 2009-11-27 21:04:26 +00:00
Arvid Norberg 47d2325145 fixed typo that would sometimes prevent queued torrents to be checked 2009-11-26 15:14:39 +00:00
Arvid Norberg 8dd244581d header optimizations 2009-11-26 05:45:43 +00:00
Arvid Norberg 6343fe6a6d optimized header dependencies to lower build time 2009-11-23 08:38:50 +00:00
Arvid Norberg 562e2512b9 some vs2010 fixes 2009-11-22 23:55:54 +00:00
Arvid Norberg e9e32235b4 added support for libgcrypt 2009-11-08 03:09:19 +00:00
Arvid Norberg 51ef057498 more unicode and wstring fixes 2009-10-29 18:12:43 +00:00
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 6c137d6ef6 announces torrents immediately to the DHT when it's started 2009-10-25 02:37:45 +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 599543e889 automatically caps files and connections by default to rlimit 2009-10-03 19:02:31 +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
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 3e9725b5d7 made peer_blocked_alert derive from torrent_alert 2009-09-07 01:47:30 +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 f764227012 build fix for when DHT is disabled 2009-08-30 06:25:17 +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 d37fab9927 socks5 listen socket fix 2009-08-18 18:47:44 +00:00
Arvid Norberg 1efdd4c628 gcc build fix 2009-08-08 17:56:23 +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 eecc78b931 dll export fix + reverting upload slot change 2009-07-26 02:27:52 +00:00
Arvid Norberg eb66830dc3 simplified auto scrape 2009-07-24 08:25:07 +00:00
Arvid Norberg 137d2d63f5 cleaned up policy. Moved logic from policy to torrent 2009-07-23 04:38:52 +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 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 c9a789d86f made the upload slot setting be a minimum for the rate based auto unchoke algorithm 2009-07-18 22:55:07 +00:00
Arvid Norberg db165942a7 oportunistic mingw fix 2009-06-30 23:03:54 +00:00
Arvid Norberg 499d4dfbb4 cleaned up left-over logging 2009-06-27 19:35:20 +00:00
Arvid Norberg 93e1c70263 allow 0 upload slots. added test for allow fast support for sending pieces to choked peers 2009-06-20 23:23:41 +00:00
Arvid Norberg 6b048dc85e fixed bug in connect candidate counter 2009-06-18 16:16:41 +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 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 f0134c1b11 improved disk error handling and expanded use of error_code in error reporting 2009-06-10 08:30:55 +00:00
Arvid Norberg a9a12a2391 fix build with boost-1.34.1 2009-06-03 07:22:43 +00:00
Arvid Norberg 745a16ec09 watchdog for stalled queued checking torrents 2009-05-30 02:38:34 +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 e744174f9a removed dead code 2009-05-27 16:49:28 +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 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 c1d9198dc3 added largest_contiguous cache flush algorithm 2009-05-23 07:35:45 +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 ad157d49d2 fixed bug that prevented buffer optimization 2009-05-19 06:51:30 +00:00
Arvid Norberg a51dfa50f5 renamed peer_from_tracker to add_peer 2009-05-15 22:07:19 +00:00
Arvid Norberg 1eda63c4f5 avoid using ' in peer ids, since there are buggy trackers that don't support it 2009-05-14 21:07:49 +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 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 c8066aabd8 fixed policy::peer cast bug (introduced when optimizing the peer allocation) 2009-05-13 16:14:20 +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 1eb2799a03 added more allocation logging for statistics builds. Identified and fixed some memory waste 2009-05-07 20:30:20 +00:00
Arvid Norberg c8176cca55 optimized peer storage in resume data an in memory. Should use far less memory than previously for the peer list. Introduced peer source affinity, to avoid problem with a peer list that's diluted with stale peers 2009-05-06 22:36:24 +00:00
Arvid Norberg 6c03035aa0 added total number of peers logging to session statistics 2009-05-04 06:56:29 +00:00
Arvid Norberg 06b609aa1f fixed unchoke bug. made the automatic unchoke strategy the default 2009-05-02 03:15:52 +00:00
Arvid Norberg 84dda7b617 support for adjusting the socket buffer sizes through session_settings 2009-05-01 04:59:15 +00:00
Arvid Norberg 3cf34e3a91 greatly optimised memory usage for peer list 2009-04-30 05:49:46 +00:00
Arvid Norberg 7109b86566 greatly simplified the rate limiter and generalized all rate limits (peer, torrent, global) to allow for arbitrary rate limit configurations 2009-04-26 00:21:59 +00:00
Arvid Norberg 6b69f1d8c4 fixed crash when shutting down while checking a torrent 2009-04-25 08:45:13 +00:00
Arvid Norberg 189d618261 improved IPv6 support (skips unsupported tests on windows) 2009-04-13 05:11:44 +00:00
Arvid Norberg 6a11d6ee4e IPv6 tracker fix 2009-04-12 00:37:06 +00:00
Arvid Norberg 41be942ae7 experimental support for incoming connections over socks (untested) 2009-04-09 01:04:49 +00:00
Arvid Norberg b5bb51c6af cut out more IPv6 code if not supported 2009-04-04 16:59:53 +00:00
Arvid Norberg aba5b2e9d0 dropped some iostream dependencies 2009-04-04 09:52:25 +00:00
Arvid Norberg ac7e4fed7e more missing wchar_t support 2009-04-04 08:32:23 +00:00
Arvid Norberg db8487be46 auto unchoke improvement 2009-04-04 07:55:34 +00:00
Arvid Norberg d7eb787c88 reset the io_service in case it exits prematurely 2009-03-31 07:57:57 +00:00
Arvid Norberg 1a6d2f86b9 add compile time option to disable IPv6 support 2009-03-31 07:45:54 +00:00
Arvid Norberg db9236fcf8 don't try IPv6 on windows if it's not installed 2009-03-27 18:44:40 +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 63a2522014 fixed some warnings 2009-02-13 07:13:03 +00:00
Arvid Norberg 72531255bc define boost::throw_exception when building with no exceptions 2009-02-11 17:45:12 +00:00
Arvid Norberg 5c12db28d2 added option to lock disk cache in physical memory 2009-02-06 09:46:13 +00:00
Arvid Norberg 532a5f477d fixed checking files issue 2009-02-03 17:35:41 +00:00
Arvid Norberg 1ac8f806fa added seed mode support (lazy hash checking) 2009-02-03 07:46:24 +00:00
Arvid Norberg 2623037482 local peers are excempt from unchoke slots. #469 2009-01-28 06:14:21 +00:00
Arvid Norberg 0ba2e2cdbd fixed issue where torrents that failed checking would not resume checking when the error was cleared. One side effect of this fix is that it should now be possible to pause checking torrents with the 0.14 branch 2009-01-27 09:18:51 +00:00
Arvid Norberg fd8a07ac15 fixed dht race condition (confirmed to work on windows too) 2009-01-24 18:29:33 +00:00
Arvid Norberg 76cea23b4c cleanup of previous check-in. fixing boost-1.34 compatibility and syntax error 2009-01-23 17:06:23 +00:00
Arvid Norberg 9b5aa967b0 fixed race condition when saving DHT state 2009-01-23 16:40:00 +00:00
Arvid Norberg b3a17b1787 added disk buffer instrumentation and log parser 2009-01-23 09:13:31 +00:00
Arvid Norberg 9a9f08f70f enables teredo support on windows 2009-01-21 01:39:13 +00:00
Arvid Norberg 8aa43b682b listen port cleanup 2009-01-19 08:31:31 +00:00
Arvid Norberg cfd116ffad made disk_io_settings be synchronized through the job queue 2009-01-10 05:46:02 +00:00
Arvid Norberg c21edfa6f1 fixed bug preventing clients to change the disk cache expiration time 2009-01-09 18:18:46 +00:00
Arvid Norberg dacb1ac48d reverted async. call to torrent::start() since it creates an undesirable race condition for file operations 2009-01-02 08:58:51 +00:00
Arvid Norberg 06da1f8e8a added some session logging. added more disk-io-thread stats logging and parse script 2008-12-30 08:20:25 +00:00
Arvid Norberg 927f9623cb session stats improvements 2008-12-27 02:22:20 +00:00
Arvid Norberg 952ed687cd made session stats config build 2008-12-26 07:00:21 +00:00
Arvid Norberg c8988d79b9 fixed typo in earlier check-in and wrapped try-catch block in BOOST_NO_EXCEPTIONS 2008-12-25 23:51:16 +00:00
Arvid Norberg 5a201af5f5 don't send performance warnings for rate limits unless it's enabled. stats logging improvements 2008-12-25 22:26:02 +00:00
Arvid Norberg 9379e4414c removed limit of active torrents to the unchoked slots. Fixes #450. Also removed some dead code and fixed typos in comments 2008-12-25 22:19:14 +00:00
Arvid Norberg f6a9e44523 modified fix for #431 to make it actually build and work 2008-12-21 19:15:53 +00:00