Commit Graph

49 Commits

Author SHA1 Message Date
Alden Torres acf353e26a general session, torrent and peer connection log optimization (#1088)
general session, torrent and peer connection log optimization
2016-09-13 22:46:07 -04:00
Alden Torres 5480e2eedc some consts refs and refactor (#1075)
some consts refs and refactor
2016-09-09 15:02:20 -04:00
Alden Torres bf0008933a refactor to use std::shared_ptr with peer_connection, core and tests (#1050) 2016-08-31 21:42:18 -04:00
Alden Torres cdb15ba886 refactor to use std::shared_ptr with torrent (#1048) 2016-08-31 08:27:36 -04:00
arvidn 8c8c3d5587 replace boost::function with std::function 2016-08-13 07:07:26 -04:00
Arvid Norberg ed077c8358 use cstdint intead of boost/cstdint.hpp (#833)
use cstdint intead of boost/cstdint.hpp
2016-06-18 14:01:38 -04:00
Alden Torres d3cd568447 plugin callback refactor (#823)
grouping plugins per feature
2016-06-17 22:02:21 -04:00
arvidn 4b186130e6 fix merge 2016-06-14 21:16:28 -04:00
Alden Torres 38f4765ebc added assert and documentation typos (#816) 2016-06-13 17:16:09 -04:00
Arvid Norberg be67553897 simplify session pause mechanism by keeping two separate states in torrents and having the session explicitly tell torrents when it's pausing (#779) 2016-06-03 07:32:48 -04:00
Arvid Norberg 0d2c04cb2e remove network thread pool feature (#688)
remove network thread pool feature (it was messy and mostly useful for bittorrent over SSL). The proper solution is to allow every peer run in its own asio strand and have multiple threads running the io service
2016-05-02 02:18:51 -04:00
Arvid Norberg 7251575d98 This patch does: (#633)
1. simplifies and regularizies creation of listen sockets based on the listen
   interfaces setting.
2. simplifies and improves the behavior of UDP sockets, which are now explicitly
   opened per listen interface
3. transitions udp tracker, DHT and uTP socket manager over to using the new
   udp sockets
4. greatly simplified udp_socket to only wrap a single underlying socket (as
   opposed to one IPv4 and IPv6 socket)
5. improved behavior of bind-to-device
6. introduce an array_view type to make udp packet passing code simpler
7. simplify and make setting of DF flag more robust
8. simplify and regularize port mapping of listen sockets
2016-04-24 15:26:28 -04:00
arvidn 04a3c04075 merged RC_1_1 into master 2016-04-20 08:08:05 -04:00
arvidn 774ea740b4 make session_time return uint16_t 2016-04-14 19:22:27 -04:00
arvidn cc8066bf11 properly deprecated adding torrents by http url 2016-02-21 11:31:42 -05:00
arvidn 6d77000ab0 deprecate ssl_listen setting. instead ssl sockets are specified by an 's' suffix of the port in listen_interfaces. 2016-02-12 15:46:12 -05:00
arvidn 887e79eb22 improve support for listening on multiple sockets and interfaces, with the listen_interfaces setting 2016-02-12 15:44:17 -05:00
arvidn ae7058e119 remove the timestamps and file sizes from the resume data. This makes saving resume data alot cheaper, since it doesn't have to go via the disk thread. It also removes an old-standing API usage issue where there was easily a race condition introduced between saving resume data and pausing a torrent. 2016-02-06 15:50:55 -05:00
arvidn 505ae508f4 mark up some override functions and fix other clang warnings 2015-12-13 19:44:42 -05:00
arvidn fba0762353 fix some msvc warnings 2015-11-19 19:01:54 -05:00
arvidn 0d9d632465 initial support for disabling proxy for tracker connections 2015-08-29 19:44:54 -04:00
Arvid Norberg 9b0313bd8e hold settings_pack by shared_ptr when passing it across thread boundaries. don't allocate it on the heap redundantly 2015-05-29 05:27:53 +00:00
Arvid Norberg c6f8dd408a optimize recalculate auto-managed 2015-05-25 21:46:42 +00:00
Arvid Norberg 607e708bc4 fix warnings 2015-05-19 03:13:49 +00:00
Arvid Norberg 2bf4519bee make the torrent hold a pointer to the ip_filter instead of relying on a session reference 2015-05-16 06:33:37 +00:00
Arvid Norberg 1357fd5265 clean up usage of printf attribute (encapsulate it in a macro) 2015-05-10 05:11:51 +00:00
Arvid Norberg a83dcbaaf0 removed access-log build option and log parser. added incoming_request_alert. This feature can now be implemented by clients 2015-05-09 03:04:08 +00:00
Arvid Norberg f7e4f83469 separate out session_stats into its own header. silences warning and cleans up 2015-04-25 02:12:02 +00:00
Arvid Norberg c19c6b2cc1 fix some warnings 2015-04-24 05:37:17 +00:00
Arvid Norberg 0b063de9ff fix more warnings 2015-04-21 04:30:34 +00:00
Arvid Norberg 3951377d95 fix include paths for warning push and pop headers 2015-04-21 01:16:28 +00:00
Arvid Norberg 21751347bc more warnings fixes and cleanup 2015-04-19 06:28:21 +00:00
Arvid Norberg 408232cfc8 raise warning level. fix a few of them. filter out warnings from boost 2015-04-18 02:33:39 +00:00
Arvid Norberg 1faf2e201f inversed TORRENT_LOGGING build config to enable logging by default. It's now disabled by TORRENT_DISABLE_LOGGING 2015-04-17 01:15:33 +00:00
Arvid Norberg bb48b6e83c eliminate one more session dependency in peer_connection 2015-04-10 01:50:42 +00:00
Arvid Norberg ccc7e45406 landed mutable torrents branch in trunk 2015-03-21 00:12:40 +00:00
Arvid Norberg 9b91508c38 clean up session_interface and tracker_manager a bit. work on making tracker_manager more testable 2015-02-01 14:30:43 +00:00
Arvid Norberg 09bc1550e9 simplify the debug logging mechanism. There's now only one build option, logging=on or logging=off. When logging is enabled, the log level is controlled by the alert mask. All log events are delivered as alerts and it's up to the client to write them to disk in whatever way seems appropriate. removed the pointless logger plugin 2014-12-09 09:08:26 +00:00
Arvid Norberg 658e2ceefd merged Steven Siloti's peer crypto patch into trunk 2014-11-23 06:14:47 +00:00
Arvid Norberg 601f0dc434 merged changes from RC_1_0 2014-11-03 06:15:51 +00:00
Arvid Norberg 418e33facc use the session-wide hostname resolver in torrent.cpp 2014-10-05 01:23:22 +00:00
Arvid Norberg ceccc2a483 land branch to remove half-open connection limit / connection queue 2014-10-03 20:56:57 +00:00
Arvid Norberg d7d498c3a3 more steps towards isolating peer_connections from the session object. unchoking now happens via the torrent object. hopefully in the future, the session can determine which peers to unchoke without having direct access to them (i.e. with a mutex) 2014-09-22 03:47:43 +00:00
Arvid Norberg 27b7705cf2 remove built-in GeoIP support 2014-09-21 21:01:48 +00:00
Arvid Norberg 02f3e48eaa make performance counters able to blend in values, reducing a peer_connection -> session dependency on a sliding average state (this can be used for disk stats too) 2014-07-29 16:35:03 +00:00
Arvid Norberg 7c9c25e359 cleaned up redundant bytes and failed bytes counters. moved some into the stats_counters 2014-07-29 05:59:00 +00:00
Arvid Norberg ab8c1eb334 log latency of bittorrent requests 2014-07-28 22:18:06 +00:00
Arvid Norberg 01640e1682 separate stats counters from session_interface (this was the main use of m_ses in peer connections) 2014-07-13 04:56:53 +00:00
Arvid Norberg 7351389ce8 land libtorrent_aio branch in trunk 2014-07-06 19:18:00 +00:00