Commit Graph

5999 Commits

Author SHA1 Message Date
Arvid Norberg e0c8ad738d include target in DHT lookups, when queried from the session (#1207) 2016-10-12 23:39:00 -04:00
Alden Torres e0d7729f87 using arm neon inline assembly and using it only if in 32 bits (#1201)
using arm neon inline assembly
2016-10-12 00:02:02 -04:00
arvidn 57704d0249 Merge branch 'master' of https://github.com/arvidn/libtorrent 2016-10-08 14:18:12 -04:00
arvidn 1c89fcda48 merge RC_1_1 into master 2016-10-08 14:17:51 -04:00
Arvid Norberg 20f65946f2 make single-argument constructors explicit (#1194)
make single-argument constructors explicit
2016-10-08 14:07:11 -04:00
Arvid Norberg 5f7e2eb928 run undefined sanitier on travis/linux (#1134)
run undefined sanitizer on travis/linux. back-port ed25519 unit test from master
2016-10-08 12:29:46 -04:00
Arvid Norberg 7bfb97ba44 use in-class default initializers for utp_stream class members (#1196)
use in-class default initializers for utp_stream class members
2016-10-08 12:12:33 -04:00
Alden Torres f580fcaa67 refactor in buffer.hpp to not use anonymous namespace in header (#1192)
refactor in buffer.hpp to not use anonymous namespace in header
2016-10-08 01:12:34 -04:00
Pavel Pimenov 93d8955750 Fix #1182 (#1188)
Add webseed URL duplicate check
2016-10-07 15:36:40 -04:00
Pavel Pimenov af2a9a875b Fix sizeof(X)/sizeof(T) and _countof (#1189)
https://msdn.microsoft.com/en-us/library/ms175773.aspx
 http://www.viva64.com/en/w/V651/print/
2016-10-06 17:45:35 -04:00
Arvid Norberg 5c361715da handle exceptions in session and torrent io_service jobs (#1185)
handle exceptions in session and torrent io_service jobs
2016-10-06 00:08:14 -04:00
Arvid Norberg 3c355bb3f8 use string_view in alert constructors (#1186) 2016-10-04 23:58:26 -04:00
Alden Torres 9343f2fbfb minor header cleanup and refactor (#1179) 2016-10-04 07:43:34 -07:00
Alden Torres be70afa4b8 refactor log methods in public peer_connection_handle for stable ABI (#1180)
expose log functions in peer_connection_handle with empty bodies when logging is disabled
2016-10-03 21:35:40 -07:00
Arvid Norberg 7a52a285a1 back-port error_code cleanup from master (#1173)
back-port error_code cleanup from master
2016-10-03 16:32:40 -07:00
Arvid Norberg 8bb7aa62ae generalize and improve http redirect support for web seeds (#1060)
generalize and improve http redirect support for web seeds
2016-10-02 23:08:03 -07:00
Arvid Norberg cebd976cc2 fix error_code vs. error_condition traits (#1169)
fix error_code vs. error_condition traits. deprecate get_*_category(), instead use *_category()
2016-10-02 12:27:50 -07:00
Alden Torres 1974dca150 minor refactor of dht_default_storage (#1166)
refactor of dht_default_storage structures
2016-09-30 20:42:57 -04:00
Alden Torres 331a8d53c0 refactor to use move with dht_state (#1163)
refactor to use move with dht_state
2016-09-29 08:25:51 -04:00
Alden Torres af92e91a90 missing inc dht counter and minor cleanup (#1164) 2016-09-28 23:25:08 -04:00
Alden Torres 84e735c0ea refactor for more use of move with settings_pack (#1162) 2016-09-28 13:28:43 -04:00
Steven Siloti 85dd682551 fix adding a node with unknown id (#1161)
Commit a414e4c3 broke adding nodes with unknown id to the routing table by
causing them to be evicted when they responded with their real id. This should
have been caught by test_bootstrap, but a typo caused that test to silently
exit early.
2016-09-28 13:28:21 -04:00
Alden Torres 8caebbd026 alerts refactor to use span, don't break ABI when logging, fix compilation (#1159)
alerts to use span, don't break ABI when logging, fix compilation
2016-09-27 23:21:18 -04:00
Arvid Norberg f592d7fcb0 various cleanup and formatting updates (#1158) 2016-09-26 20:05:04 -04:00
Alden Torres 31ce1e5a2c dht headers and minor cleanup (#1157) 2016-09-26 18:04:42 -04:00
Arvid Norberg 9cebd4569f general cleanup of disk_buffer_holder and tailqueue (#1156)
general cleanup of disk_buffer_holder and tailqueue
2016-09-26 14:22:38 -04:00
Arvid Norberg 179e238561 move bitfield's find_first_set and find_last_clear into cpp file (#1155) 2016-09-26 10:58:09 -04:00
Arvid Norberg 97c6a75084 add proper error handling to peer connections and session (#1149)
add proper error handling to peer connections and session. i.e. catch exceptions in asio handlers and catch by const reference
2016-09-25 09:50:48 -04:00
Alden Torres b60fe066e2 compare with generic_category in close_reason (#1152) 2016-09-25 01:42:45 -04:00
Alden Torres 4693fcf3f1 dht source code and headers cleanup (#1150) 2016-09-24 22:20:20 -04:00
Arvid Norberg da8af033cc modernize utf8 conversion functions to throw and move (#1145)
modernize utf8 conversion functions to throw and move
2016-09-24 22:16:10 -04:00
Arvid Norberg 372d992d8e make connection_type enum an enum class (#1146) 2016-09-24 10:47:17 -07:00
Arvid Norberg d2002c5248 separate piece_block and has_block out to their own headers (#1148) 2016-09-24 08:46:56 -07:00
Arvid Norberg 48a647a169 String view entry (#1147)
make entry support string_view in its interface, and make it efficient when in in C++14
2016-09-24 06:10:54 -07:00
Steven Siloti 2e0140b6f6 fix peer picking algorithm (#1141)
fix peer picking algorithm. The old code was always picking the first to_pick peers from the set.
2016-09-24 06:08:52 -07:00
Alden Torres b1b74657f6 added consts and minor refactor (#1137)
added consts and minor refactor
2016-09-23 13:51:20 -07:00
Alden Torres 158ae3a4ba consts, minor refactor, typos and test (#1142) 2016-09-23 13:49:39 -07:00
Arvid Norberg 24b271b7c1 Merge pull request #1133 from ssiloti/peer-picker
fix DHT peer picking algorithm. The old code was always picking the first to_pick peers from the set.

* use a sorted vector to store peer announcments

Given the frequency of linear scans being done, std::set is clearly
sub-optimal for storing announced peers. A std::vector is the obvious
choice, which I also decided to make sorted. A sorted vector trades
better performance in announce_peer for slower purging, the latter
being mitigated by batching.

* shrink peers vectors with too much excess capacity
2016-09-23 13:48:00 -07:00
Steven Siloti 35cfc6b5d3 shrink peers vectors with too much excess capacity 2016-09-23 07:30:36 -07:00
Steven Siloti 89942bf3d4 use a sorted vector to store peer announcments
Given the frequency of linear scans being done, std::set is clearly
sub-optimal for storing announced peers. A std::vector is the obvious
choice, which I also decided to make sorted. A sorted vector trades
better performance in announce_peer for slower purging, the latter
being mitigated by batching.
2016-09-22 21:54:10 -07:00
arvidn 70199041f7 merged RC_1_1 into master 2016-09-22 13:48:12 -07:00
Arvid Norberg 885e4f8fc4 use default member initializers instead of initialization lists in announce_entry (#1129) 2016-09-22 12:00:31 -07:00
Alden Torres c7ec987a1b refactor in msg verify_message and minor cleanup (#1131) 2016-09-21 23:04:05 -07:00
Steven Siloti 23e11af899 fix peer picking algorithm
The old code was always picking the first to_pick peers from the set.
2016-09-21 20:21:34 -07:00
Steven Siloti c75b243490 remove redundant protocol parameter (#1128) 2016-09-21 20:00:39 -07:00
Arvid Norberg 269e384c2c use string_view in create_torrent (#1120)
use string_view in create_torrent
2016-09-21 19:59:43 -07:00
Arvid Norberg b20b3ad1ac remove file size limit in torrent_info filename constructor (#1126) 2016-09-21 19:54:42 -07:00
Arvid Norberg f712caa80d deprecate send_stats property on trackers (since lt_tracker extension has been removed) (#1125) 2016-09-21 16:54:49 -07:00
Pavel Pimenov 62536c790d Decreased performance. Ineffective use of the 'count' function. It can possibly be replaced by the call to the 'find' function (#1127) 2016-09-21 16:51:51 -07:00
Arvid Norberg 770b0def0c Merge pull request #1122 from ssiloti/peers-storage-policy
new peers storage policy
2016-09-21 07:35:34 -07:00