Commit Graph

1248 Commits

Author SHA1 Message Date
Arvid Norberg 3f1084d63d strengthened type safety in handling of piece and file indices (#1409)
strengthened type safety in handling of piece and file indices
2016-12-22 10:42:33 -05:00
arvidn cde9457fdb fix merge issue 2016-12-22 01:13:17 -05:00
Andrei Kurushin 10e3847b40 fix upnp (#1421)
* fix upnp xml_parser, and listen sockets remap
2016-12-17 17:50:03 -05:00
arvidn 814f7363a4 deprecate identify_client() and fingerprint type 2016-12-17 11:48:20 -05:00
Alden Torres a05f0ba8a4 refactor for more modern struct initialization and use of api 2016-12-12 02:15:27 -05:00
Alden Torres d9f8d4b642 refactor to more use of auto c++11 keyword (#1404)
refactor to more use of auto c++11 keyword
2016-12-11 20:50:30 -05:00
arvidn bbfe58d03c fix bind-to-device for UDP sockets 2016-12-10 18:18:54 -05:00
Alden Torres e1dcf82e2a fixing shorten-64-to-32 warnings, part 3 2016-12-08 20:22:34 -05:00
Steven Siloti b9169609df support separate external ip for each interface (#1383)
support separate external ip for each interface
2016-12-04 15:58:51 -05:00
arvidn 6579ae1994 fix listen_failed_alert socket_type report bug 2016-11-27 21:22:11 -05:00
Alden Torres d5c4cd7280 fixed sign-compare warnings and some refactor (#1354)
fixed sign-compare warnings and some refactor. make sequence_number backed by std::int64_t
2016-11-27 08:46:53 -05:00
Alden Torres c30027e4a1 more integral type conversion warning fixes, now only needs shorten-64-to-32 (#1349)
more integral type conversion warning fixes, now only needs shorten-64-to-32
2016-11-25 11:17:25 -05:00
Steven Siloti 06c53a41d1 revisions based on code review
Moved the logic to determine which sockets to keep to a separate function and
add unit tests for it.

Store the port which was originally specified for a listen socket so that we
can match sockets reliably even with port retries.
2016-11-23 01:09:05 -05:00
Steven Siloti babb93fb1e keep old listen sockets if they're still valid
This is to support multi-home. We need to be able to keep track of which socket
a DHT node or UTP connection should use. We also need to generate notifications
when local endpoints come and go so that the DHT tracker knows when to create
or delete nodes. The easiest way to do this is to keep the same socket for as
long as its local endpoint is valid. This way the nodes and connections can
simply reference the socket itself and generating notifications is trivial.
2016-11-23 01:09:05 -05:00
Alden Torres 84e0362180 more fixes in signed compare warnings (#1345)
more fixes in signed compare warnings
2016-11-21 01:49:56 -05:00
Alden Torres 4c7e24ea35 more use of std::make_shared, fixing warnings of over-aligned 2016-11-18 00:28:29 -05:00
Alden Torres 9e1305ed75 auto loop, consts and minor cleanup refactor 2016-11-15 19:54:38 -05:00
arvidn bba121d010 fix recent regression causing potential duplicate add_torrent_alerts 2016-11-12 01:03:38 -05:00
Steven Siloti e589e342ef reopen listen sockets when the system's IP changes (#1299)
reopen listen sockets when the system's IP changes. Only Linux and Windows supported for now.
2016-11-07 07:40:09 -05:00
arvidn 11ca69b9fc simplify disk_io_thread interface by setting the number of threads via settings rather than a separate function 2016-11-06 23:07:09 -05:00
Alden Torres aef614a74c fix build warnings/errors, typos and minor cleanup (#1277)
fix build warnings/errors, typos and minor cleanup. no need to provide boost::throw_exception, better left it to the user
2016-11-02 01:03:12 -04:00
Arvid Norberg b61ebca14a moved async-load-torrent feature out of disk-io-thread (#1282)
moved async-load-torrent feature out of disk-io-thread into a generic worker thread
2016-11-02 01:01:04 -04:00
Arvid Norberg 1c2a8fb96e move coalescing of reclaim block from disk_io_thread to session_impl (#1281) 2016-10-31 23:48:30 -04:00
Arvid Norberg 8daa200d11 simplify interaction with disk_io_thread by removing the uncork interface (#1271)
simplify the interaction with the disk_io_thread by removing the uncork interface. This should be turned into a transparent part of peer_connection instead and remove cork logic from peer_connection
2016-10-30 18:21:07 -04:00
Alden Torres 6751a1eeb1 removed spaces in template types and more c++11 auto/loop refactor 2016-10-26 00:08:00 -04:00
Arvid Norberg 5341be1e84 more improvement to error/exception handling (#1247)
improvement to error/exception handling
2016-10-22 22:00:47 -04:00
arvidn b1e22e6183 merged RC_1_1 into master 2016-10-20 00:36:54 -04:00
Alden Torres ded3ed6abf refactor in alert types to use more const fields and more clear API (#1222)
refactor in alert types to use more const fields and more clear API
2016-10-19 01:32:15 -04:00
Arvid Norberg 524f7b1c27 fix error handling by exercising code paths where memory allocations fail (#1221)
fix error handling by exercising code paths where memory allocations fail
2016-10-19 01:18:05 -04:00
Arvid Norberg c18c12a144 remove ghost torrent/torrent eviction feature. (#1214)
remove ghost torrent/torrent eviction feature. It was very complex and did not solve the problem very well
2016-10-15 13:32:59 -04:00
Arvid Norberg c966435d1c fix issue where shutting down the session immediately and asynchronously starting the DHT would cause a shutdown hang (#1203) 2016-10-10 22:54:19 -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 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
Alden Torres 9343f2fbfb minor header cleanup and refactor (#1179) 2016-10-04 07:43:34 -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 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 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 84e735c0ea refactor for more use of move with settings_pack (#1162) 2016-09-28 13:28:43 -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 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
Arvid Norberg 372d992d8e make connection_type enum an enum class (#1146) 2016-09-24 10:47:17 -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
arvidn 70199041f7 merged RC_1_1 into master 2016-09-22 13:48:12 -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 752ff24357 Merge pull request #1123 from aldenml/system-port-and-logs-1.2
* accept port 0 in listen_interfaces
* more session log and source code refactor
2016-09-20 23:50:49 -07:00
Arvid Norberg 3e7e806a77 deprecate old session_settings API (use settings_pack instead) (#1117)
deprecate old session_settings API (use settings_pack instead)
2016-09-20 23:49:23 -07:00
Alden Torres 4f6ea4a70d more session log and source code refactor 2016-09-20 11:24:24 -04:00