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
d5b76d2237
move block_cache_reference out of disk_io_job header
2016-11-20 10:34:42 -05:00
arvidn
c9333849e6
deprecate relative times in torrent_status, replaced by std::chrono::time_point
2016-11-12 17:37:10 -05: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
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
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