Commit Graph

1790 Commits

Author SHA1 Message Date
Arvid Norberg 9a8fc4f713 self connection fixes 2008-06-16 13:54:14 +00:00
Arvid Norberg 41f241b476 min reconnect time fix 2008-06-16 07:46:40 +00:00
Arvid Norberg 3e000a3984 fixed save path updates when moving torrents. Fixes #310 2008-06-15 20:52:46 +00:00
roman_rybalko 5314b639e2 boost detection fixes: now able to launch with boost1.34 and boost1.35 2008-06-13 12:20:55 +00:00
Arvid Norberg 7df5d4a9c6 changed queuing logic 2008-06-13 05:11:36 +00:00
Arvid Norberg af477fa266 fixed connect candidate assert 2008-06-13 04:50:02 +00:00
Arvid Norberg 5923ef5b43 fixed file check ordering to respect the queue position. Fixes #350 2008-06-12 21:22:24 +00:00
Arvid Norberg 295e2a548b piece picker fix of recent change. 2008-06-12 15:40:50 +00:00
Arvid Norberg 6db61166be recalculate queued torrents sooner when changing queuing settings 2008-06-12 06:58:42 +00:00
Arvid Norberg d47ec46e76 storage wpath fix (for unicode) 2008-06-12 04:52:37 +00:00
Arvid Norberg 52f6204288 simplified the disk-io mutexes and made it more efficient. separated the disk io mutex into a buffer mutex, queue mutex and the piece cache mutex. 2008-06-12 04:40:37 +00:00
Andrew Resch 933e3c8b54 Fixes for set_queue_position() 2008-06-11 12:14:10 +00:00
Arvid Norberg a4dfd63ca3 fixed piece picker bug related to sequential download, added unit test to expose it 2008-06-11 08:30:06 +00:00
Arvid Norberg 6e69480176 disk_io_thread fixes. Properly destructs torrent objects while disk io mutex is not locked. Properly flushes disk cache when closing, and aborting read and file check jobs. Fixes #334 2008-06-09 04:46:34 +00:00
Arvid Norberg efcd69b009 fixed set_queue_position() for seeding (or finished) torrents 2008-06-08 13:47:35 +00:00
Andrew Resch 3ea075f169 Add torrent_resumed alert 2008-06-08 05:14:40 +00:00
Arvid Norberg 0afe661d5a fixed http_connection assert 2008-06-07 17:47:05 +00:00
Arvid Norberg a1857f9699 added force_recheck to torrent_handle. Fixes #120 2008-06-07 16:24:56 +00:00
Arvid Norberg 76ee7b6297 fixed connect candidate counter 2008-06-07 14:22:24 +00:00
Arvid Norberg 9f5fa96cad fixed bug related to m_have_piece optimization. Renamed num_pieces() to num_have() to avoid confusion 2008-06-07 14:03:21 +00:00
Arvid Norberg 9d1e77dc88 optimized away torrent::m_have_pieces (#62) and added some documentation on bitfield. The piece picker is now constructed with the torrent, but still freed when turned into a seed 2008-06-07 02:58:28 +00:00
Arvid Norberg bcc24bf831 added has_incoming to torrent_status per #315 2008-06-05 18:19:03 +00:00
Arvid Norberg 59c8a74ba8 in case a regular rename fails, try to copy the storage to the new location. Fixes #231 2008-06-05 16:56:39 +00:00
Arvid Norberg 4709d202e1 fixed unicode issue in storage 2008-06-04 07:57:07 +00:00
Arvid Norberg 5d268424b2 update auto managed torrents sooner when changes are made 2008-06-03 20:21:47 +00:00
Arvid Norberg 8b5172d439 fixed exception issue when tracker sends invalid response 2008-06-03 20:03:51 +00:00
Arvid Norberg b4c160e723 fixed bug in web_peer_connection where an incorrect number of bytes would be reported as downloaded 2008-06-03 15:17:09 +00:00
Arvid Norberg c883f4475c saves statistics from the last second from peer connections that are disconnected. Partly fixes #339 2008-06-03 05:21:00 +00:00
Arvid Norberg f12e1d26b7 Fixed bug in on_bitfield. Fixes #342 2008-06-02 06:52:24 +00:00
Arvid Norberg e0987022cc fixed typo 2008-05-30 07:58:49 +00:00
Arvid Norberg 31c9d378f5 completed queuing. It is now possible to change and query queue position of torrents. 2008-05-29 03:37:19 +00:00
Arvid Norberg 63cf889be4 fixed 64-bit overflow issues 2008-05-29 03:18:42 +00:00
Arvid Norberg fd98434c97 peer list optimization and introduced hard limit on peer list size 2008-05-28 18:25:48 +00:00
Arvid Norberg 3910fe78de separated file_storage from torrent_info and create_torrent 2008-05-28 08:44:40 +00:00
Arvid Norberg 669debaa42 64-bit issue fix 2008-05-28 07:48:46 +00:00
Arvid Norberg 68c31e48dc replaced vector<bool> with a custom bitfield type 2008-05-28 02:35:02 +00:00
Arvid Norberg 4338140c85 added test and fixed total_wanted issue for files > 2 GB 2008-05-27 08:07:59 +00:00
Arvid Norberg 0ba85e96d5 fixed kademlia announce bug 2008-05-26 15:23:06 +00:00
Arvid Norberg 8b03e338d6 lazy_bdecode fix. #336 2008-05-24 04:36:59 +00:00
Arvid Norberg fdbf86a53c boost 1.35 fix 2008-05-20 16:43:09 +00:00
Arvid Norberg dbb625a910 torrent_info fixes. make_torrent now builds 2008-05-20 09:49:40 +00:00
Arvid Norberg 31ab7f9773 boost 1.35 related fixes 2008-05-20 09:45:55 +00:00
Arvid Norberg 67354421fb introduced an error state for torrents. Torrents with an error are not restarted automatically 2008-05-20 07:57:44 +00:00
Andrew Resch aed8f355b0 Make libtorrent build with boost <1.35 2008-05-20 06:03:46 +00:00
Arvid Norberg 5840a50d79 fixed stale state when switching from finished to downloading 2008-05-20 03:21:45 +00:00
Arvid Norberg 07f070868d factored out to_hex into the escape_string header file 2008-05-19 07:36:04 +00:00
Arvid Norberg 8613554c2a entry and scrape bug fix 2008-05-19 07:15:44 +00:00
Arvid Norberg 777954ab3e automatically scrape auto managed torrents to keep track of downloader/seed ratio 2008-05-19 04:06:25 +00:00
Arvid Norberg c460704a5f streamlined class footprint by reducing padding 2008-05-19 02:52:32 +00:00
Arvid Norberg c5d61667b3 http_connection now supports connecting to all IPs a hostname resolves to, as fallbacks 2008-05-18 22:14:55 +00:00
Arvid Norberg 282f30c7e7 saves number of seeds and downloaders last seen in resume data 2008-05-18 19:31:06 +00:00
Arvid Norberg ffa9baed1d fixed bug where torrent would not connect to peers unless it had the .torrent 2008-05-18 18:30:26 +00:00
Arvid Norberg bae6ff1a10 dht typo fix 2008-05-18 06:02:57 +00:00
Arvid Norberg 111f5faecb upload only extension 2008-05-18 05:59:47 +00:00
Arvid Norberg 498a43c123 streamlined dht log format 2008-05-18 05:09:11 +00:00
Arvid Norberg b952d85734 fixed error handling and added support for relative http redirects (which aren't allowed by the standard) 2008-05-18 04:48:06 +00:00
Arvid Norberg 031cfe09da added missing include 2008-05-17 16:33:28 +00:00
Arvid Norberg 7f639e57de improved error handling with regards to parse_url_components. For trunk, moved that function to its own file 2008-05-17 14:19:34 +00:00
Arvid Norberg 5ec7da07e6 fixes #332 2008-05-17 00:27:26 +00:00
Arvid Norberg f296d5a64d limits the number of connections depending to getrlimit(). Fixes #232 2008-05-16 15:19:38 +00:00
Arvid Norberg c53eabd90c fixed typo 2008-05-15 21:48:11 +00:00
Arvid Norberg df2389219a fixed typo in torrent_info 2008-05-15 17:42:28 +00:00
Arvid Norberg ed3cf2bb54 fixed typo 2008-05-15 16:57:35 +00:00
Arvid Norberg 8909aeaadc attempt to fix removal of files on windows with unicode (to fix #216) 2008-05-15 16:38:04 +00:00
Arvid Norberg 6ab19756a3 lazy_entry fix 2008-05-15 08:23:32 +00:00
Arvid Norberg 7052efe575 lazy_entry fix 2008-05-15 07:04:39 +00:00
Arvid Norberg ffbc22dfc2 respects the port filter for web seeds. Fixes #304 2008-05-15 05:13:09 +00:00
Arvid Norberg 91d6099a55 fixed issue with torrents with 0 pieces. Fixes #306 2008-05-15 02:29:26 +00:00
Arvid Norberg 16a8aa88e8 ignore invalid entries in 'announce-list' instead of aborting 2008-05-14 19:44:36 +00:00
Arvid Norberg 7e428db4ca bdecode print formatting fix 2008-05-14 18:58:24 +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 63fd1eb118 applied patch for #318 2008-05-13 18:22:22 +00:00
Arvid Norberg e54d1dfffe upnp bugfix (fixes #323) 2008-05-13 17:38:03 +00:00
Arvid Norberg 0de312c80c ignores UPnP routers that are not configured as routers on the local machine 2008-05-13 04:59:56 +00:00
Arvid Norberg f259e34f86 peer_connection fix for incoming connections 2008-05-12 10:10:39 +00:00
Arvid Norberg 756dbe3316 removed leftover from debugging 2008-05-12 09:31:57 +00:00
Arvid Norberg 574211055c GeoIP fixes 2008-05-12 07:14:03 +00:00
Arvid Norberg 149fa28586 added constructor to torrent_info that loads a file directly 2008-05-12 06:35:24 +00:00
Arvid Norberg 2fbe53f880 assert fix 2008-05-12 06:31:54 +00:00
Arvid Norberg 971ead4a44 made redundant connction closing optional (defaults to on) 2008-05-12 06:25:53 +00:00
Arvid Norberg a01c412f9e piece picker fixes (introduced when rewriting the piece checking) 2008-05-12 06:20:54 +00:00
Arvid Norberg 068adcd9a9 indentation fix 2008-05-12 06:03:31 +00:00
Arvid Norberg f2ac4db1af changed the optimistic disconnect logic to be more efficient and configurable 2008-05-12 05:17:11 +00:00
Arvid Norberg eabe9cad2d improved plugin support 2008-05-12 03:05:27 +00:00
Arvid Norberg e51c8bea37 added makefile support for boost.system (#322) 2008-05-11 22:43:44 +00:00
Arvid Norberg aa626f1422 logs node uptime and parses it for the DHT 2008-05-10 05:51:58 +00:00
Arvid Norberg 3fe96818d3 dht log fix 2008-05-09 23:42:00 +00:00
Arvid Norberg ae11038495 improved dht logging of transaction ids 2008-05-09 21:20:28 +00:00
Arvid Norberg 11c181873c stripped down the dht log 2008-05-09 17:38:36 +00:00
Arvid Norberg 5202056682 inverted distance log in dht 2008-05-08 03:58:05 +00:00
Arvid Norberg 1522f52db8 logs the distance between key and node when announcing 2008-05-08 01:17:14 +00:00
Arvid Norberg bbf9c83edc initial support for icmp errors in the DHT 2008-05-08 00:22:17 +00:00
Arvid Norberg 7434368652 fixed dht logging error 2008-05-07 23:25:47 +00:00
Arvid Norberg 5741f72ab3 seed rank fix 2008-05-07 17:05:16 +00:00
Arvid Norberg 73ef60e5fa seed rank fix 2008-05-07 08:24:16 +00:00
Arvid Norberg a555fff07b seed count fix in policy 2008-05-07 07:35:36 +00:00
Arvid Norberg 018ec69d8c indentation fix 2008-05-06 21:27:06 +00:00
Arvid Norberg 081953db51 enum_net windows fixes 2008-05-06 19:13:59 +00:00
Arvid Norberg 9429ca4b1f replaced seed cycles with seed rank 2008-05-06 18:03:41 +00:00
Arvid Norberg e09457e4ab take an estimate of the IP ACK traffic into account when rate limiting (allows setting rate limits closer to the capacity) 2008-05-05 17:08:14 +00:00
Arvid Norberg d15573ecc2 disk receive buffer cleanup 2008-05-05 06:25:22 +00:00
Arvid Norberg 7388144ec7 refactored stats class to be extensible with more channels 2008-05-04 17:57:06 +00:00
Arvid Norberg 010d3b6e75 windows fix 2008-05-04 16:10:13 +00:00
Arvid Norberg c7e6c04705 switched over to asio from boost-1.35 2008-05-03 16:05:42 +00:00
Arvid Norberg cb5f783987 boost-1.35 fix 2008-05-03 06:41:43 +00:00
Arvid Norberg f3d0eb3c11 fixed boost-1.35 build 2008-05-01 16:31:19 +00:00
Andrew Resch 4e768ab31f Fix building on gcc 4.3 2008-04-29 21:46:32 +00:00
Arvid Norberg 441aacae32 fixed download bug affecting web seeds 2008-04-29 03:12:14 +00:00
Arvid Norberg c3b60f1b8f modified get_default_gateway to not take an interface 2008-04-28 02:20:40 +00:00
Arvid Norberg 3ec9a75d09 enum_routes fixes for linux 2008-04-28 01:23:11 +00:00
Arvid Norberg c2f7fb0fb4 added enum_routes to dump routing table 2008-04-28 00:20:59 +00:00
Arvid Norberg 8d5812011e update to enum_net 2008-04-27 04:51:28 +00:00
Arvid Norberg 6a7790cd28 added implementation for get_default_router for linux 2008-04-25 05:51:21 +00:00
Arvid Norberg 00b935150a fix for debug iterators 2008-04-24 17:09:26 +00:00
Arvid Norberg 4d59d9eabc fix build with DHT disabled 2008-04-24 16:57:22 +00:00
Arvid Norberg 854affdd92 compare peer updates 2008-04-24 16:34:43 +00:00
Arvid Norberg 33ed6f4720 fixed typo 2008-04-24 16:12:24 +00:00
Arvid Norberg 228e225489 scans at most 300 peers when finding a connect candidate. Supposedly fixes cpu spikes on large swarms 2008-04-24 07:49:23 +00:00
Arvid Norberg b73112682c client test ui updates 2008-04-24 04:17:54 +00:00
Arvid Norberg c043d4b21d initial support for queuing 2008-04-24 03:28:48 +00:00
Arvid Norberg 7a432786e7 added url to tracker alerts. introduced a base class for all tracker alerts 2008-04-23 01:54:21 +00:00
Andrew Resch 05c1a64c76 Move the torrent_checked alert post to torrent::files_checked 2008-04-23 01:01:00 +00:00
Arvid Norberg 4740dd030e added AM_CFLAGS to makefile 2008-04-22 23:32:27 +00:00
Arvid Norberg d4ddf3712a initializes totals to 0 in torrent 2008-04-22 22:37:40 +00:00
Arvid Norberg 1607acd0f8 fixed typo 2008-04-22 21:02:05 +00:00
Arvid Norberg e8e5308e6b udp socket fix 2008-04-22 20:56:10 +00:00
Arvid Norberg da72fe56e5 udp tracker connection fix 2008-04-22 17:30:28 +00:00
Arvid Norberg 4f132ec568 added GeoIP sources to make files 2008-04-22 00:59:56 +00:00
Arvid Norberg 9a434a919f some more ASNum additions 2008-04-22 00:05:23 +00:00
Arvid Norberg a4b69e5b2d logging improvements 2008-04-20 17:17:58 +00:00
Arvid Norberg 39eaf766fa lazy_bdecode fixes 2008-04-20 03:18:49 +00:00
Arvid Norberg d91a256386 UPnP fix 2008-04-20 03:02:31 +00:00
Arvid Norberg 23732bafce connect candidate counter fix 2008-04-20 00:19:31 +00:00
Arvid Norberg 72176a9256 lazy bdecoder additions and fixes 2008-04-19 03:00:07 +00:00
Arvid Norberg b452020404 fixed resume data bug 2008-04-16 07:51:08 +00:00
Arvid Norberg 779b006ac0 fixed missing torrent_checked_alert 2008-04-16 07:02:39 +00:00
Arvid Norberg 755e50bb12 added active_time, seeding_time, all_time_upload and all_time_download to torrent_status. Also updated docs with some missing entries in torrent_status 2008-04-16 06:31:05 +00:00
Arvid Norberg 1724b1eb75 dht array index out of bound fix 2008-04-16 03:20:35 +00:00
Arvid Norberg 748a66c343 improvements to lazy_bdecode 2008-04-13 22:34:04 +00:00
Arvid Norberg 644d3aa66c disk IO thread error handling 2008-04-13 21:26:57 +00:00
Arvid Norberg 43d5781638 port mapping fix 2008-04-13 19:19:22 +00:00
Arvid Norberg 3fea2080fd added an asynchronous save_resume_data to make it easier to synchronize with the disk IO thread 2008-04-13 18:54:36 +00:00
Arvid Norberg 6639f72804 if priorities are changed so that the torrent changes state to be finished, a torrent_finished_alert is generated now. Fixes #305 2008-04-13 07:39:37 +00:00
Arvid Norberg 17c4257cce added get_full_peer_list to retrieve all the peers known for a swarm 2008-04-13 06:32:48 +00:00
Arvid Norberg 643deb699f lazy bdecode fixes 2008-04-13 05:50:13 +00:00
Arvid Norberg a3e7124614 added out stream operator to lazy_entry 2008-04-13 05:19:10 +00:00
Andrew Resch ca872a0e82 Revert last. 2008-04-13 02:47:41 +00:00
Andrew Resch d825c1d5bd Add torrent_resumed torrent alert. 2008-04-13 02:34:18 +00:00
Andrew Resch 31bd3b1550 Expose torrent_handle::is_finished() 2008-04-13 02:15:56 +00:00
Arvid Norberg 908273a02b fixed assert 2008-04-13 01:28:44 +00:00
Arvid Norberg d4cfa126aa storage fixes 2008-04-12 22:08:07 +00:00
Arvid Norberg dbfd400536 windows fix for lazy bdecode 2008-04-12 17:30:00 +00:00
Arvid Norberg a70789872e added string length to high performance bdecoder 2008-04-12 01:58:55 +00:00
Arvid Norberg 42f55adcce support for country lookup through GeoIP 2008-04-11 08:46:43 +00:00
Arvid Norberg b300c7f835 added high performance bdecoder code 2008-04-11 03:41:09 +00:00
Arvid Norberg 093d912e9a receive buffer optimization. added receive_buffer_size and used_receive_buffer to peer_info. changed plugin api to make use of new disk_buffer_holder type 2008-04-10 10:03:23 +00:00
Arvid Norberg 5f35d170b0 disk io thread cleanup (all read operations are now read into disk buffers, no custom buffers) 2008-04-10 09:11:54 +00:00
Arvid Norberg 2c77ae8307 fixed typo 2008-04-10 05:40:54 +00:00
Arvid Norberg 62daedeae0 fixed race condition when a torrent is removed while one of the connections is still in the connection queue 2008-04-09 20:12:52 +00:00
Arvid Norberg 291ef2a2c9 optimized torrent_handle to use a weak_ptr directly to the torrent object 2008-04-09 20:09:36 +00:00
Arvid Norberg e4483e64e4 made GeoIP build on windows by stripping out mmap support 2008-04-09 09:47:22 +00:00
Arvid Norberg cc5dc24ca1 put the private flag in the right place. Fixes #303 2008-04-09 08:10:44 +00:00
Arvid Norberg 4eeb15c1df verifies urls before connecting to web seeds. Fixes #301 2008-04-09 07:51:41 +00:00
Arvid Norberg 75ef4ec1f1 added option to not use pool allocators (useful when using memory debugging tools) 2008-04-09 05:19:11 +00:00
Arvid Norberg 5a6e21f484 peer_connection disconnect cleanup 2008-04-09 04:09:40 +00:00
Arvid Norberg 642768bc24 storage cleanup 2008-04-09 01:11:16 +00:00
Arvid Norberg 64a195651d cleaned up some crypto code 2008-04-08 05:51:12 +00:00
Arvid Norberg e329403619 removed exceptions from peer_connection 2008-04-07 08:39:01 +00:00
Arvid Norberg 04a9dd77b5 assert fix 2008-04-07 08:15:31 +00:00
Arvid Norberg 6fa3d37e83 ut_pex exception fix 2008-04-07 03:31:41 +00:00
Arvid Norberg 507b812ae8 policy invariant check update 2008-04-07 03:23:54 +00:00
Arvid Norberg 89a9a25197 exception fixes in torrent 2008-04-07 02:51:21 +00:00
Arvid Norberg 7657878b48 exception fix 2008-04-07 02:07:23 +00:00
Arvid Norberg f40eba34a8 exception fixes in storage 2008-04-07 01:45:33 +00:00
Arvid Norberg e2e4a34429 removed exceptions from metadata extensions 2008-04-07 01:39:29 +00:00
Arvid Norberg 2fe729c9f5 removed dependencies on exceptions from policy 2008-04-07 01:29:21 +00:00
Arvid Norberg 9fe5bb7a7d removed dependencies on exceptions from session_impl 2008-04-07 01:22:26 +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 35fd9aec61 msvc build fixes and warning fixes 2008-04-05 21:18:27 +00:00
Arvid Norberg 57d75e120a initial support for GeoIP (only AS mappings for now) 2008-04-05 04:53:22 +00:00
Arvid Norberg 0fcb204128 added peak rates to peer_info 2008-04-03 06:11:21 +00:00
Arvid Norberg 77f9278a36 leopart listen failure workaround 2008-04-03 04:35:56 +00:00
Arvid Norberg 54bd1a41b0 fix to recent change to move out references to self() from peer_connection constructors 2008-04-01 19:17:09 +00:00
Arvid Norberg 4161be867e removed dht ping from peer_from_tracker. in trunk: implemented a rate limited DHT ping (once a second per torrent) and space optimized the peer structure 2008-04-01 17:38:19 +00:00
Arvid Norberg 1511f2f59b removed calls to self() from inside constructors in peer connections 2008-03-31 04:46:24 +00:00
Arvid Norberg 95f1601aa2 storage fix 2008-03-31 03:26:37 +00:00
Arvid Norberg 3c15535d35 http_tracker_connection fix to use separate timeout when stopping a tracker 2008-03-30 19:00:37 +00:00
Arvid Norberg 57cd1e7c97 fixed #298. Generates a torrent_paused alert when there's no storage 2008-03-30 15:44:31 +00:00
Arvid Norberg 45a7329d5c added alert for when the client's external IP is received 2008-03-29 22:45:55 +00:00
Arvid Norberg ffecb32b81 made a bias to give connection attempts to downloading torrents with few peers. Should accelerate downloads on windows (where there's a half-open connection limit) 2008-03-29 19:39:24 +00:00
Arvid Norberg 2014e312b1 exposed connection_candidates in torrent_status and made a small optimization to not attempt to connect peers on swarms that don't have any connect candidates 2008-03-29 18:47:24 +00:00
Arvid Norberg 2bd49c4b56 fixed DHT assert 2008-03-29 14:52:18 +00:00
Arvid Norberg c3e1b01e8d udp_socket fix 2008-03-29 04:38:00 +00:00
Arvid Norberg 40824d2bb1 minor dht fix 2008-03-28 22:56:33 +00:00
Arvid Norberg bed008b512 socks5 update 2008-03-28 22:50:41 +00:00
Arvid Norberg a53cd86cae fixed typo in previous dht checkin 2008-03-27 00:46:50 +00:00
Arvid Norberg f6f0402aa2 local service discovert resend fix 2008-03-26 21:40:58 +00:00
Arvid Norberg 10d20f8f4e dht fix 2008-03-26 17:37:31 +00:00
Arvid Norberg 5cad17143d updated udp_socket error handling 2008-03-25 04:46:18 +00:00