arvidn
a0678240f3
forward port fixes from RC_1_0
2016-01-03 23:34:57 -05:00
Alden Torres
b20096f0db
Comments typos
2016-01-02 11:46:10 -05:00
arvidn
e3ba811ae4
improve name of m_timer in dht_tracker
2016-01-01 16:42:44 -05:00
arvidn
01e6b93854
simplify and improve unit test for distance_exp. make some immutable variables const in the DHT implementation. instead of waking up periodically just to check if it's time to refresh the DHT secret key, set the timer to only wake up to refresh the key. If we don't have a DHT observer (to ask for our external IP) or if we don't know our external IP, don't generate a node ID based on 0.0.0.0, just generate a random ID instead. Simplified and improved node replacement logic in the routing table a little bit
2016-01-01 16:42:37 -05:00
Arvid Norberg
ffb78f0378
Merge pull request #312 from ssiloti/export-verify-message
...
export verify_message and incoming_error
2015-12-30 22:51:38 -05:00
Steven Siloti
30076218f8
entry is a class not a struct
2015-12-30 17:25:00 -08:00
Steven Siloti
ac01ccc43a
add templated wrapper around verify_message
...
It was too easy to forget to update the ret and size parameters
when the size of desec changed. With this change we now automatically
get the size of desc and enforce that ret has the same size.
It would be nice if we could use bdecode_node ret[static Size] from C99
but that is not widely supported.
2015-12-29 20:35:36 -08:00
Arvid Norberg
03e90d45d8
Merge pull request #339 from arvidn/dht-storage-test
...
extend the unit test of dht_storage
2015-12-20 02:02:56 -05:00
arvidn
3460f203f3
extend testing of sanitize_append_path_element
2015-12-19 20:11:22 -05:00
arvidn
15ec839d33
extend the unit test of dht_storage
2015-12-19 02:09:06 -05:00
arvidn
645b121df6
deprecate resolve-countries
2015-12-14 21:32:30 -05:00
Arvid Norberg
87dcd690d8
Merge pull request #327 from arvidn/stop-when-ready-fix
...
polish the stop-when-ready flag and improve documentation
2015-12-14 00:42:57 -05:00
Arvid Norberg
3516e53fa2
Merge pull request #329 from arvidn/warnings-fix
...
mark up some override functions and fix other clang warnings
2015-12-13 22:12:52 -05:00
arvidn
1712a8e4b4
polish the stop-when-ready flag and improve documentation
2015-12-13 20:31:28 -05:00
arvidn
505ae508f4
mark up some override functions and fix other clang warnings
2015-12-13 19:44:42 -05:00
arvidn
4b6e11cc07
deprecate set_tracker_login
2015-12-13 15:14:19 -05:00
arvidn
8416bcdd10
web_seed_entry needs to be exported
2015-12-12 21:46:05 -05:00
arvidn
121b686a39
add set_web_seeds to torrent_info
2015-12-12 18:36:15 -05:00
Arvid Norberg
550b0bb047
Merge pull request #313 from arvidn/setup-swarm-cleanup
...
clean up setup-swarm simulation utility to be more flexible
2015-12-12 14:07:26 -05:00
arvidn
d505f93d7a
port sim tests to use the new setup_swarm API
2015-12-12 00:41:47 -05:00
arvidn
54bf83739d
fix assert in bdecode assert for strings with prefixes of 6 or more digits
2015-12-12 00:19:13 -05:00
Alden Torres
e3fc859754
A few documentation typos.
2015-12-11 08:45:08 -05:00
Steven Siloti
c6f1e0bd7b
export verify_message and incoming_error
...
Also move these functions to a new msg.cpp. They are useful for plugins
which implement DHT extensions.
2015-12-05 18:20:08 -08:00
arvidn
cc3b064cff
fix graceful pause issue. peers regularly check whether they should disconnect or not
2015-12-04 23:27:43 -05:00
Alden Torres
1290bf5228
A few typos in documentation.
2015-12-04 18:15:11 -05:00
Alden Torres
409cfaccc1
Fix num_alert_types.
2015-12-03 22:04:32 -05:00
arvidn
98c9ac0448
fix msvc build
2015-12-03 19:28:57 -05:00
arvidn
69f4e94995
null_observer is used in a test now
2015-12-03 07:51:53 -05:00
arvidn
2acb3dcb24
clean up use of getrlimit() by wrapping it and move it to platform_util.cpp. Also take the opportunity to make it simulator friendly (consistent in simulation)
2015-12-02 00:45:34 -05:00
arvidn
12dde0f415
actually add a test to the unit test
2015-11-30 19:07:35 -05:00
Arvid Norberg
d0da753fb8
Merge pull request #302 from arvidn/fix-save-resume
...
fix save_resume_data in client_test
2015-11-30 17:17:57 -05:00
arvidn
60df41cd85
fix save_resume_data in client_test and make torrent a bit more instrumentable. This could be greatly simplified if resume data would not have file_sizes and timestamps
2015-11-29 20:31:57 -05:00
arvidn
332799bff2
make alert types declared final and disable the log alert declarations when logging is disabled
2015-11-29 10:16:02 -05:00
arvidn
fd3b53604c
add new piece picker logging alert category
2015-11-29 08:25:55 -05:00
arvidn
2c3d7ee0ef
fix a bug where the torrent's invariant was not always maintained as well as a shutdown issue (now covered by test as well)
2015-11-28 14:14:49 -05:00
Arvid Norberg
359fc5648b
Merge pull request #296 from arvidn/udp-read-handler
...
more efficient handler allocation for udp and second_tick
2015-11-28 01:06:10 -05:00
arvidn
a8e31fd8ca
add first coverage of test_transfer as a proper sim
2015-11-28 00:59:39 -05:00
arvidn
98c3b75b55
use more efficient (in-place) handler allocation for udp async_read and session second_tick
2015-11-28 00:57:44 -05:00
arvidn
e3dad98fbe
fix an old use of posix_category. make http_connection translate IPs into proper endpoints when connecting over socks (instead of passing the IP on as a hostname string). add test coverage
2015-11-24 00:39:02 -05:00
arvidn
92236a9923
clean up error_code use, and use error_condition to test for errors in test_http_connection
2015-11-24 00:39:01 -05:00
arvidn
174e0aeb46
fix semantics of socks5_stream and http_connection to make them not close themselves. Add socks5 and socks4 proxy coverage in test_http_connection
2015-11-24 00:39:01 -05:00
Steven Siloti
9c7edf803e
add override and a TODO
2015-11-22 18:58:32 -08:00
Steven Siloti
9f7aa7f3a6
fix segfault in put_data
...
If less than three nodes are found to put an item to then traversal_algorithm::start
will add router nodes. This leads to a crash in put_data::invoke when it tries to
read a token from uninitialized memory in a null_observer.
2015-11-22 16:05:24 -08:00
Steven Siloti
1f13343a70
const correctness
2015-11-22 10:02:26 -08:00
Arvid Norberg
ddddce6e2a
Merge pull request #280 from arvidn/stop-start-test
...
stop-start test
2015-11-21 02:31:11 -05:00
Arvid Norberg
42b129b9d5
Merge pull request #178 from thomas-yuan/put
...
Make dht_put_alert more accurate.
2015-11-21 02:30:45 -05:00
arvidn
c0d6b20634
extend swarm simulation test to include stopping and starting and graceful pause
2015-11-20 22:27:12 -05:00
Arvid Norberg
2eabf99307
Merge pull request #276 from arvidn/msvc-warnings
...
attempt to fix some msvc warnings
2015-11-20 08:04:38 -05:00
arvidn
f03cefceb6
fix documentation bugs
2015-11-20 01:00:39 -05:00
Thomas Yuan
ab70ad3e05
fix comments and unit test
2015-11-20 00:06:08 -05:00
Thomas Yuan
194ad410dc
Make dht_put_alert more accurate.
2015-11-20 00:06:08 -05:00
arvidn
c9c5496f1c
lower alignment requirement of socket_type to silence msvc warning (it was probably not warranted in the first place anyway)
2015-11-19 22:50:40 -05:00
arvidn
fba0762353
fix some msvc warnings
2015-11-19 19:01:54 -05:00
arvidn
964031c070
factor out readwritev to a free function, to allow unit testing of it
2015-11-19 17:58:55 -05:00
arvidn
cec6748e0c
remove the concept of slots, and just talk about pieces (since we don't do compact allocation anymore). Remove the section about compact allocation
2015-11-19 01:38:04 -05:00
Arvid Norberg
bdfed667e3
Merge pull request #267 from arvidn/storage-fix
...
fix support for incomplete reads/writes from disk
2015-11-14 12:54:57 -05:00
arvidn
fb2f2731cf
fix support for incomplete reads/writes from disk
2015-11-14 00:21:03 -05:00
Alden Torres
611d0c1c6e
Fixed to make it compatible with mingw-w64 and generic linux
2015-11-13 07:55:28 -05:00
arvidn
2626159abe
use a consistent random number generator to make simulations deterministic
2015-11-12 00:21:56 -05:00
Arvid Norberg
bae2b3394f
Merge pull request #258 from arvidn/version
...
forward-port version function from RC_1_0
2015-11-11 19:13:44 -05:00
arvidn
fbf152abc0
attribute external IP voting to the actual tracker IP we connected to, and preserve endpoint list in http_connection to make the re-announce to IPv6 logic robust
2015-11-11 01:30:28 -05:00
arvidn
d0dcf82612
fix bug in set_version and update version hash
2015-11-11 01:25:30 -05:00
arvidn
4c0b00c390
forward-port version function from RC_1_0
2015-11-11 00:57:51 -05:00
Steven Siloti
c2277b3ea5
fix traversal_algorithm::done() being invoked more than once
...
A traversal can be done while there are still outstanding queries (i.e.
m_invoke_count is non-zero) if K good responses have already been received and
none of the outstanding queries are closer than the nodes which have responded.
When this happens and the outstanding queries eventually complete or timeout
they call traversal_algorithm::failed() or traversal_algorithm::finished() as
usual which will cause traversal_algorithm::done() to be called yet again.
The fix is to always set the done flag on all queried observers in
traversal_algorithm::done() so that the observers will refrain from calling
back into the traversal.
This also makes traversal_algorithm::abort() redundant since this was the only
thing it did before it called into done().
2015-11-09 20:47:33 -08:00
arvidn
4814855933
update cache_size docs and raise the cap for 32 bit builds
2015-11-08 10:49:38 -05:00
arvidn
2592acfd8c
fix c++98 build
2015-11-07 21:14:52 -05:00
arvidn
a48cb785d0
forward port piece_block patch from RC_1_0
2015-11-07 18:50:54 -05:00
arvidn
00090b8284
fix typo in test_checking, introduced by recent error_code in torrent_status patch
2015-11-07 01:01:07 -05:00
arvidn
ebb9fdaf54
add error_code to torrent_status instead of error string
2015-11-05 20:43:23 -05:00
arvidn
f5da27ba9e
support large info-sections in torrent_info
2015-10-31 10:53:39 -04:00
arvidn
729a8e9152
update libsimulator. add simulation/test for announcing twice to trackers over IPv4 and IPv6. fix bugs preventing libtorrent from doing that correctly
2015-10-27 00:21:07 -04:00
arvidn
3cc464805f
update libsimulator submodule
2015-10-25 10:55:20 -04:00
Calum Lind
8f244868a5
Remove leftover TORRENT_COMPACT_PICKER definition
2015-10-20 12:12:44 +01:00
arvidn
76821f138f
fix gcc attribute order issue
2015-10-18 00:46:01 -04:00
arvidn
08e2bf7835
mark up some more functions with override and silence a few more warnings in boost headers
2015-10-17 10:02:37 -04:00
arvidn
74ee06bff7
add more override annotation
2015-10-17 02:20:38 -04:00
arvidn
81ee9d5d4e
make appveyor build the python binding installer for windows
2015-10-12 21:09:19 -04:00
Alden Torres
cf4c8d0058
Minor refactor in direct_traversal and some typos in bdecode header.
2015-10-08 09:15:16 -04:00
arvidn
41b8429cd1
clean up documentation makefile and documentation generation script
2015-10-07 00:48:43 -04:00
arvidn
6a7b9d1c4c
typo
2015-10-07 00:46:28 -04:00
arvidn
16661fb67c
fix documentation bug
2015-10-07 00:41:31 -04:00
arvidn
51c6079c42
add stop-when-ready feature, to support checking torrents without starting the download afterwards
2015-10-04 13:08:23 -04:00
arvidn
c798e388a9
forward port fix to proxy_peer_connections to master
2015-10-03 11:20:10 -04:00
Alden Torres
62b24d8b67
Add set_dht_storage to session API.
2015-10-02 09:00:07 -04:00
arvidn
a00e5aa6c7
forward port patch to have resume data web seeds override .torrent file web seeds, and a flag to merge them
2015-09-30 00:41:41 -04:00
arvidn
dab0f8b8d0
simplify the queuing logic for checking torrents. make all non-auto-managed torrents always be exempt from any queuing mechanism (including checking). Extend documentation on how it works
2015-09-29 20:49:37 -04:00
arvidn
8b30e78d69
forward port fix for bug where dont_count_slow_torrents could not be disabled, into master
2015-09-25 14:22:38 -07:00
Alden Torres
197a443465
Fix of dht_storage_counters::peers counter.
2015-09-24 10:50:04 -04:00
Thomas Yuan
f9fa8ffdec
Use ping instead of get_peers if current bucket is full.
2015-09-22 10:35:10 -04:00
Arvid Norberg
50ccce6eed
Merge pull request #174 from arvidn/fallocate-hack
...
remove fallocate hack (in master)
2015-09-22 07:18:07 -07:00
arvidn
5bdb583162
remove fallocate hack (in master)
2015-09-21 20:22:19 -07:00
Arvid Norberg
3e37785280
Merge pull request #152 from thomas-yuan/mutable-expiration
...
make immutable/mutable items lifetime configurable.
2015-09-21 20:20:53 -07:00
arvidn
dc77da5630
fix build
2015-09-21 20:19:05 -07:00
Thomas Yuan
7fec9e488d
make immutable/mutable items lifetime configurable.
2015-09-21 20:32:37 -04:00
Arvid Norberg
01193fcf7c
Merge pull request #163 from aldenml/dht-storage-counters
...
Create dht_storage_counters to avoid internal counter in future public API
2015-09-21 13:51:39 -07:00
Alden Torres
25ed70b977
Create dht_storage_counters to avoid internal counter in future public API.
2015-09-21 07:46:23 -04:00
arvidn
fb2f659a31
fix bug in time keeping of active_time, seeding_time, finished_time etc.
2015-09-21 00:38:56 -07:00
arvidn
2715ae475c
expose whether torrents are announcing to trackers, lsd and dht. these can be disabled by the queuing logic
2015-09-19 01:54:47 -04:00
arvidn
b628692223
separate out announce_entry and torrent_status into their own headers
2015-09-18 08:08:08 -04:00
Alden Torres
e2d682275a
Implementing and using new dht storage interface
2015-09-16 08:30:27 -04:00
Thomas Yuan
bee620b4f1
Fix routing_table bucket_size(int bucket) out_of_range logic error.
2015-09-10 17:19:00 -04:00
Arvid Norberg
abe994c191
Merge pull request #128 from thomas-yuan/patch2
...
Add read-only support in dht_settings and outgoing query messages.
2015-09-08 19:47:18 -04:00
Thomas Yuan
d6bb387ab9
Use dht_settings directly instead of add a read_only member variable.
...
Since rpc_manager has a reference of dht_settings, needn't pass it
as a parameter for incoming().
2015-09-08 10:35:30 -04:00
arvidn
ee3cb6cf86
move some internal headers to aux_ to fix documentation
2015-09-07 17:00:27 -04:00
Thomas Yuan
3d4ed9f37f
Add read-only support in dht_settings and outgoing query messages.
2015-09-07 14:24:46 -04:00
arvidn
113e84e7f6
fix appveyor build
2015-09-07 02:34:14 -04:00
arvidn
17c5759829
disable warning for unused command line argument and fix warnings. remove redundant travis build config. use new preprocessor on clang to avoid warnings
2015-09-06 22:55:41 -04:00
arvidn
b45c585a78
use gcc on linux and clang on osx
2015-09-06 22:55:41 -04:00
arvidn
536a5f897a
update queuing documentation and regenerate html
2015-09-06 18:14:06 -04:00
arvidn
cb65694578
fix const correctness in xml_parse(). update unit tests rss and upnp to use new signature for parser callback
2015-09-06 00:38:33 -04:00
arvidn
a344c659e5
Revert "use handler allocator for UDP socket read handler"
...
This reverts commit 3ccb4f7dca
.
2015-09-03 07:29:24 -04:00
arvidn
918aca9083
fix typo
2015-09-03 00:16:52 -04:00
randy-waterhouse
693586f23e
Fix makefile.am allocating_handler.hpp call.
2015-09-03 08:48:59 +12:00
arvidn
3ccb4f7dca
use handler allocator for UDP socket read handler
2015-09-02 01:15:02 -04:00
Arvid Norberg
915e56022b
Merge pull request #127 from thomas-yuan/master
...
Fix dht_immutable/mutable_item_alert category.
2015-09-01 20:54:52 -04:00
Thomas Yuan
90e13e05f5
Fix dht_immutable/mutable_item_alert category.
2015-09-01 11:31:46 -04:00
Arvid Norberg
7285520521
Merge pull request #117 from thomas-yuan/master
...
Fix bug caused by RP #96 .
2015-08-31 23:49:08 -04:00
Thomas Yuan
ef16ae4e27
Handle response with unexpected format.
2015-08-31 22:37:46 -04:00
arvidn
f719b95f64
fix build issue
2015-08-31 00:54:16 -04:00
arvidn
4536f2c293
fix typo
2015-08-31 00:36:43 -04:00
arvidn
a0c9fafd39
factor out handler_storage and allocating handler helper classes for allocating asio handlers in-place in peer objects
2015-08-31 00:17:42 -04:00
arvidn
b4381aa646
add unit test for linked_list
2015-08-30 23:34:49 -04:00
arvidn
2382dd8d61
remove TODO comment
2015-08-30 20:41:21 -04:00
arvidn
0d9d632465
initial support for disabling proxy for tracker connections
2015-08-29 19:44:54 -04:00
arvidn
0ee4e46b49
attempt to fix tracker test
2015-08-29 17:57:49 -04:00
arvidn
ba95aa27d6
cleanup unused code
2015-08-29 16:07:19 -04:00
arvidn
0f760d3fb4
expand tracker unit test to assert the session correctly receives the right peers
2015-08-29 16:04:35 -04:00
arvidn
5757b0ad13
polish some behavior when setting piece and file priorities for torrents with no metadata. Fix the initialization order of peers once we do get the metadata
2015-08-29 10:21:15 -04:00
Thomas Yuan
b26d08c66a
Remove unnecessary selection statements.
2015-08-26 11:26:21 -04:00
Steven Siloti
4b702701b2
exclude obsolete compatibility code on msvc-14 and later
2015-08-24 07:28:16 +02:00
arvidn
82a3683f7d
polish removal of web seeds logic
2015-08-23 11:01:55 +02:00
arvidn
d43af6e3b7
remove functionality to initiate MTU based on the MTU on the nic (this is error prone and has questionable value)
2015-08-22 08:09:09 +02:00
arvidn
a42f9e0c63
fix more warnings
2015-08-22 00:28:12 +02:00
arvidn
42fdd0f896
fix some more warnings
2015-08-21 22:56:57 +02:00
arvidn
4873004df7
warnings as errors
2015-08-21 14:52:07 +02:00
arvidn
904da120d7
fixed some warnings
2015-08-20 22:28:00 +02:00
arvidn
40a67ecbc8
fix unknown pragma warning on msvc
2015-08-20 21:14:39 +02:00
arvidn
8cf8e65861
turn linked_list into a template to improve type safety and remove some casts
2015-08-20 02:02:46 +02:00
arvidn
ffa870d280
fixed some GCC warnings
2015-08-20 01:33:20 +02:00
arvidn
bd177a857f
make tailequeue a template, introduce type safety, remove old-style casts
2015-08-19 15:22:05 +02:00
arvidn
a3608a39fe
fix some warnings
2015-08-19 02:00:46 +02:00
Arvid Norberg
6bcac425f1
Merge pull request #95 from arvidn/postpone_dht_start
...
DHT router name lookups
2015-08-19 01:44:26 +02:00
arvidn
5c8fc818c1
fix more warnings
2015-08-19 01:39:01 +02:00
arvidn
347d976a70
since starting the DHT can be delayed now, also cache dht nodes added while waiting
2015-08-18 23:35:27 +02:00
arvidn
cc4368b45a
attempt to postpone DHT until all outstanding dht router name lookups complete
2015-08-18 22:56:00 +02:00
arvidn
a3c4a0a3e6
attempt to fix msvc build
2015-08-18 21:40:22 +02:00
arvidn
8d8c049d9e
fix warnings and invalid defines in disk_io_thread.cpp
2015-08-18 07:55:50 -04:00
arvidn
f6b86dc4b5
add typesafety to piece_picker torrent_peer pointers. and fix a few incorrect uses
2015-08-18 04:25:13 -04:00
arvidn
eecdd3121d
fix some build warnings
2015-08-17 09:01:43 -04:00
arvidn
b1a3a36eae
remove some old leftover code from upnp
2015-08-16 12:21:39 -04:00
arvidn
16bb2de6ed
fix some warnings
2015-08-13 23:52:25 -04:00
arvidn
225b82d9a0
move test_trackers_extensions over to a simulation and some minor metadata extension and tracker re-announce fixes
2015-08-13 23:07:04 -04:00
Arvid Norberg
68bc4f2cf4
Merge pull request #12 from mlt/wip/i2p
...
Few i2p fixes
2015-08-13 21:55:27 -04:00
Alden Torres
d60ddf6786
Minor change: #ifdef -> #if
2015-08-13 18:43:58 -04:00
Alden Torres
9e29eb9978
Introduced TORRENT_UTP_LOG_ENABLE macro to guarantee that TORRENT_UTP_LOG and TORRENT_VERBOSE_UTP_LOG are always defined (no need to change a lot of macro if).
2015-08-13 18:43:58 -04:00
Alden Torres
12fb68e8e3
Refactor of utp stream logging functions.
...
Renamed utp-stats option to utp-log.
2015-08-13 18:43:58 -04:00
Alden Torres
02afc8b640
Added utp-stats bjam option to enable utp stream log (utp.log file).
2015-08-13 18:43:58 -04:00
arvidn
d2819cd1b9
fix uninitialized variable in test_pe_crypto simulation
2015-08-12 20:18:47 -04:00
Alden Torres
b303a36ac2
Removed unnecessary full namespace reference to udp::endpoint in new dht_direct_request feature.
...
Add default value to userdata argument in dht_direct_request.
Minor spelling fix.
2015-08-12 00:49:09 -04:00
Alden Torres
2457b16d09
Documented that portmap_log_alert is only posted if port_mapping_log_notification is enabled.
2015-08-12 00:10:32 -04:00
Alden Torres
1805c96f44
Created a new port_mapping_log_notification alert category to separate portmap_log_alert.
2015-08-12 00:07:08 -04:00
Steven Siloti
1b4b1c4403
fix error handling for DHT direct requests
2015-08-10 20:33:05 -07:00
Steven Siloti
135f4761e1
add more comments about DHT direct requests
2015-08-10 20:33:04 -07:00
Steven Siloti
8e00172af7
return a bdecode_node rather than taking one by reference
2015-08-10 20:33:04 -07:00
Steven Siloti
43dc784cf2
add direct_request.hpp to Makefile.am
2015-08-10 20:33:04 -07:00
Steven Siloti
3564562dab
pass raw buffer in dht_direct_response_alert
2015-08-10 20:33:04 -07:00
Steven Siloti
182c30f2d6
fix typo in class name
2015-08-10 20:33:04 -07:00
Steven Siloti
86fd8c3048
enable arbitrary direct dht requests and extension dht requests
...
If you're wondering why I used an alert for handling responses but not requests,
it's because the former was easy to do that way but the latter would have
involved some major refactoring or kludging. The DHT node is written with the
(IMO reasonable) assumption that all responses will be generated immediately, so
there was no way to easily accommodate getting a response asynchronously via
an alert.
2015-08-10 20:33:04 -07:00
Steven Siloti
a29e64965c
add some basic operators to peer_connection_handle
2015-08-10 20:33:04 -07:00
arvidn
a81ca2391b
fix some warnings
2015-08-10 20:03:24 -04:00
arvidn
d977f2e68f
attempt to make appveyor happy
2015-08-09 17:54:10 -04:00
arvidn
4fa0aa62da
simulate IP routes, interfaces and page size when building in simulation mode
2015-08-09 15:01:01 -04:00
arvidn
6068418def
fix and re-enable simulations
2015-08-09 00:56:37 -04:00
arvidn
1c1698459c
fix warnings
2015-08-08 22:53:11 -04:00
Arvid Norberg
27c5a28637
Merge pull request #70 from thomas-yuan/master
...
Call callback function immediately when get data for mutable data.
2015-08-08 21:51:18 -04:00
Thomas
e51b61870a
Call callback function immediately when get mutable data.
2015-08-08 20:28:53 -04:00
arvidn
72286eb0dc
minor asio.ssl abstraction cleanup. update libsimulator with build fix. only run simulator on one of the build variants on travis, since the simulator does not support ssl
2015-08-08 16:19:44 -04:00
arvidn
50925d7652
fix some more warnings
2015-08-08 02:48:01 -04:00
arvidn
46803b75f8
support building libtorrent in simulation mode (using libsimulator, which is a git submodule)
2015-08-07 21:31:59 -04:00
arvidn
a91e7ce25d
fix warnings
2015-08-06 02:30:06 -04:00
Alden Torres
eef9f16b3b
Removed unused flag bandwidth-limit-logging and related code.
2015-08-04 01:47:15 -04:00
Alden Torres
cd8a4d2511
Moved TORRENT_DISK_STATS to default_storage with the option of enable/disable at runtime.
2015-08-03 18:16:43 -04:00
arvidn
e0c3d28321
fix some warnings
2015-08-02 15:55:05 -04:00
arvidn
bb64887f30
merge total wanted fix from RC_1_0
2015-08-02 15:18:21 -04:00
arvidn
655a3ae019
fix some warnings
2015-08-01 23:57:11 -04:00
arvidn
990aabe36f
fix warnings and no-deprecated functions build
2015-08-01 19:55:36 -04:00
Steven Siloti
30e43a6595
add default NULL ctor to session_handle
2015-08-01 15:48:32 -07:00
arvidn
52b4aed466
merge bdecode patch from RC_1_0. an empty string now produces an error rather than an empty bdecoded struct
2015-07-30 21:29:22 -04:00
arvidn
75dc8b7997
fix python binding build with no deprecated functions
2015-07-27 23:09:24 -07:00
arvidn
7f695f05d5
use boost.asio as headers only library again (simplify builds and hopefully fix shared linking of python module on gcc linux)
2015-07-27 23:09:24 -07:00
arvidn
1a4c017ec5
merged torrent_info constructor fix (python bindings) from RC_1_0
2015-07-25 16:40:07 -07:00
Arvid Norberg
742548b69c
Merge pull request #49 from ssiloti/plugin-exported-api
...
Only use exported types in the plugin api
2015-07-25 15:53:22 -07:00
Steven Siloti
e6b3df3696
pass torrent_handle by const ref in the plugin api
2015-07-25 09:57:55 -07:00
Steven Siloti
72dcc20073
pass peer_connection_handle by const ref in the plugin api
2015-07-25 09:15:24 -07:00
Steven Siloti
e0e06bc87a
switch to peer_connection_handle for optimistic unchoking
...
This is necessary to enable external plugins since the vector is passed to
plugins via on_optimistic_unchoke.
2015-07-23 20:48:35 -07:00
Steven Siloti
2c1f24c036
switch to session_handle in plugin api
2015-07-23 20:13:32 -07:00
Steven Siloti
fbc67b4e21
switch to torrent_handle in plugin api
2015-07-23 19:52:23 -07:00
arvidn
bb705e9a52
improved seed-mode handling (seed-mode will now automatically be left when performing operations implying it's not a seed). fixed issue with file priorities and override resume data
2015-07-21 10:12:37 -07:00
Arvid Norberg
a1b73317ce
Merge pull request #37 from jpetso/master
...
Progress towards a workable CMake build
2015-07-20 09:49:37 -07:00
arvidn
6c5aec3476
fix request queue size performance issue
2015-07-20 08:20:17 -07:00
arvidn
9231476ac6
employ variadic templates and perfect forwarding for peer connection asio handler allocator
2015-07-20 06:44:58 -07:00
arvidn
2439ec55c1
clean up in utp_stream.hpp
2015-07-17 22:01:45 -04:00
arvidn
7b379b1740
improve documentation for protocol encryption
2015-07-17 21:59:10 -04:00
Jakob Petsovits
2a22ecfcce
Remove unused mentions of non-existent class.
2015-07-17 20:13:14 -04:00
arvidn
7a3cabfe12
fixed some resume issues, specifically around file priorities and override resume data
2015-07-16 21:56:06 -04:00
arvidn
a65b71b855
improve logging of adding peers and the state of torrents. the default flags for the external connect_peer() call now assumes encryption, uTP and holepunch support
2015-07-16 21:53:31 -04:00
Mikhail Titov
70a99e6f62
Don't attempt to resolve base64 destination for i2p tracker
2015-07-14 14:13:15 -05:00
Mikhail Titov
3f2e660fcf
Wait for i2p acceptor before announcing
...
This somewhat closes #1 in an ugly way
2015-07-14 14:13:13 -05:00
Mikhail Titov
df21a7e8ce
Use scrape & i2p bitset flags for request
2015-07-14 14:13:10 -05:00
Mikhail Titov
5d3938b39b
Parse compact response from I2P tracker
...
This fixes #2
2015-07-14 14:13:09 -05:00
Mikhail Titov
007a580207
Options to use lowercase base32 encoding without padding
2015-07-14 12:41:12 -05:00
Steven Siloti
d911ed456a
stub out disabled functions rather than removing them
2015-07-12 20:17:45 -07:00
Steven Siloti
825fd22c1e
cut down on the size of the peer_connection_handle interface
2015-07-12 16:31:29 -07:00
Steven Siloti
9bf1d6c5e9
peer_connection_handle
2015-07-12 14:40:03 -07:00
Alden Torres
73e5f795cb
Merge with master.
2015-07-12 10:37:16 -04:00
Alden Torres
a856ae6e9b
Added dht_get_peers and dht_announce at session level.
...
Refactored dht_put_item to dht_put_immutable_item in session_impl since the get operations are not overloaded (consistency).
Added allow_threading_guard to add_dht_node python binding.
Making dht_put_item in session returns a zeroed hash if TORRENT_DISABLE_DHT (avoid unnecessary calculation and it's more consistent).
Added missing DHT operations to the python binding.
Added missing allow_threading_guard to add_dht_node in the python binding.
2015-07-12 10:37:16 -04:00
arvidn
2739def57f
minor cleanups. use libtorrent typedefs for asio. failing to bind IPv6 UDP socket is no longer fatal. removed some redundant listen_failed_alerts
2015-07-11 23:01:27 -04:00
Steven Siloti
189afdd5e3
add session_handle.hpp to Makefile.am
2015-07-11 11:17:28 -07:00
Steven Siloti
1d55bcba72
make session inherit from session_handle and remove wrapper functions
2015-07-11 11:17:28 -07:00
Steven Siloti
b072b0ca5f
create session_handle
...
The session_handle class exposes the same public interface to session_impl as
the session class. The difference being that session_handle does not own the
underlying session_impl so multiple session_handle instances can be created
and copied about as needed.
The intent is to chenge the plugin API to pass an instance of session_handle
instead of a pointer to session_impl. This change will be made in a separate
patch.
To maintain ABI compatibilty, the type signature of session was not changed.
The relevent functions have been modified to forward to session_handle and
all enums have been left in session.
2015-07-11 11:17:28 -07:00
arvidn
c5614b691f
export file_progress class when building unit tests. fix to web_server.py (used for unit tests)
2015-07-07 23:46:33 -04:00
arvidn
3b3a23a87a
whitespace
2015-07-05 18:33:47 -04:00
Arvid Norberg
41eff1801e
Merge pull request #13 from aldenml/more-dht-api
...
Added dht_get_peers and dht_announce at session_impl level.
2015-07-04 10:08:14 -04:00
John Sebastian Peterson
cc67c60938
hide cx keyword from winrt
...
instead of a hacky undef that break the keyword
2015-07-04 06:04:06 +02:00
Alden Torres
e7ee3590fa
Simplified dht_get_peers_reply_alert memory handling to work with only one allocation and return all peers at once.
2015-07-03 22:59:44 -04:00
John Sebastian Peterson
30142e35ac
conform crypt api detection to coding standard
2015-07-04 01:42:33 +02:00
John Sebastian Peterson
7f160e42a5
fix c++/cx interface name conflict in alerts
2015-07-02 09:58:12 +02:00
John Sebastian Peterson
02cee0e96e
add winrt detection
2015-07-02 09:55:29 +02:00
Alden Torres
d9246d12c4
Re-implemented dht_get_peers_reply_alert using the stack_allocator for peers vector storage.
2015-07-01 15:30:09 -04:00
Alden Torres
cbba63ce94
Created new alert category for pure DHT operations.
2015-07-01 15:30:08 -04:00
Alden Torres
fcac7140f8
Added dht_get_peers and dht_announce at session_impl level.
2015-07-01 15:30:08 -04:00
arvidn
94d6e06c97
first step in making opening all the listen sockets a bit more reliable
2015-06-29 23:10:09 -04:00
arvidn
d1670c72c2
removed sparse-regions support
2015-06-29 20:40:32 -04:00
arvidn
d887f5719d
it's called peer_list now
2015-06-29 19:56:39 -04:00
arvidn
e2784df13c
factor out file progress tracking from the torrent class
2015-06-28 22:47:11 -04:00
arvidn
2d1db68ea6
fix diagnostic push/pop issue
2015-06-28 18:44:37 -04:00
Steven Siloti
d7a3b05fdc
remove inaccurate comment about deadlocking in torrent_handle
2015-06-27 11:22:13 -07:00
Arvid Norberg
8dbef2d32a
Merge pull request #11 from aldenml/announce-get_peers-refactor
...
Refactor to expose a more convenient get_peers function as part of the DHT api.
2015-06-25 00:33:15 -04:00
Alden Torres
5c8c9cd653
Refactor to expose a more convenient get_peers function as part of the DHT api.
...
Now announce (a particular case of get_peers DHT operation) uses the function get_peers.
2015-06-24 21:22:24 -04:00
Mikhail Titov
3d448402a4
Don't attempt to find_peers in peer_list for i2p
...
This closes #7
2015-06-24 19:41:32 -05:00
arvidn
6621a1ba1a
documentation fix
2015-06-21 22:54:12 -04:00
arvidn
8b66fbe194
fix bug in previous commit
2015-06-20 18:17:49 -04:00
arvidn
bc849b8d07
fixed typo in config.hpp
2015-06-20 16:50:44 -04:00
arvidn
3755a77a64
attempt to trouble shoot missing backtraces on linux
2015-06-20 16:36:23 -04:00
arvidn
1450a692e4
fix test_identify_client build with deprecated functions turned off
2015-06-19 23:54:38 -04:00
Alden Torres
5e2e4bbb01
Minor syntactic change to avoid compiler warning about comma at the end of enum element.
2015-06-18 14:50:13 -04:00
arvidn
f36d360b8b
merged fix from RC_1_0
2015-06-17 17:40:38 -04:00
arvidn
323af56cc2
update interest when changing upload-only mode
2015-06-16 01:24:35 -04:00
arvidn
5cb095f6d2
support using 0 disk threads (to perform disk I/O in network thread)
2015-06-14 16:00:04 -04:00
arvidn
db76ba759d
improve some tests
2015-06-14 15:48:11 -04:00
arvidn
aa6598b2e6
don't return an internal session_settings type from the session, return a settings_pack instead
2015-06-07 00:23:30 -04:00
arvidn
a3d397e194
fix python binding build issue
2015-06-06 17:38:46 -04:00
arvidn
9af8841244
remove some unnecessary asio typedefs in the libtorrent namespace, just pull ip::tcp and ip::udp
2015-06-06 13:49:18 -04:00
arvidn
41533205be
drop support for boost 1.35 and fix some more references to the asio namespace
2015-06-06 02:10:53 -04:00
arvidn
389ffc622c
don't pull in the asio namespace in libtorrent. refer to it by boost::asio
2015-06-06 01:24:25 -04:00
arvidn
5841822f73
fix ambiguous session constructor
2015-06-05 02:38:07 -04:00
arvidn
15dd15d0d6
fix no-deprecated build. extend .travis.yml to build the 3 test configurations too. rename README to README.rst
2015-06-05 02:31:52 -04:00
arvidn
086723dd76
attempted glibc build fix
2015-06-04 21:44:24 -04:00
Arvid Norberg
d43f7b56a2
update copyright year
2015-06-03 05:18:48 +00:00
Arvid Norberg
b5a30a65ae
merged changes from RC_1_0
2015-06-03 05:12:54 +00:00
Arvid Norberg
4e1e53f066
turn some more members of session_impl to private
2015-06-03 04:33:20 +00:00
Arvid Norberg
0351326add
separate the main thread and the io_service from session_impl. The io_service object is now simply run() in the main thread, all initialization is done by posting messages to it. This generalizes session_impl to some degree, enables future expansion to run in multiple threads (although, the peers and torrents don't support this). This patch also makes it possible to pass in a third party io_service to the session, but at this point that's mostly useful for tests, as it's not well supported
2015-06-03 03:04:44 +00:00
Arvid Norberg
5d6cba438d
merged changes from RC_1_0
2015-06-02 01:14:52 +00:00
Arvid Norberg
3409c782f8
merged changes from RC_1_0
2015-05-31 21:57:38 +00:00
Arvid Norberg
c8443d0c7c
msvc fixes
2015-05-31 12:21:16 +00:00
Arvid Norberg
91197005e9
more msvc fixes
2015-05-31 09:02:42 +00:00
Arvid Norberg
84849f3afd
some msvc fixes
2015-05-30 21:46:59 +00:00
Arvid Norberg
34f6b1ca19
merged RC_1_0 into trunk
2015-05-30 17:41:38 +00:00
Arvid Norberg
f9c9d0ad0d
merge small unit tests to make running the tests quicker. expand the test framework a bit. add ax_boost_random.m4 script to link against boost.random correctly from makefile.
2015-05-30 04:31:23 +00: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
e44c8e9002
optimize logging of DHT packets by deferring copying and printing, to only do it if the alert category is enabled
2015-05-28 20:36:22 +00:00
Arvid Norberg
27cbfa164e
minor cleanup
2015-05-28 14:46:12 +00:00
Arvid Norberg
06bf225237
fix release build and tune want_tick
2015-05-26 20:09:19 +00:00
Arvid Norberg
09bc072c31
inactive/auto managed fixes. fix client_test key input
2015-05-26 18:39:49 +00:00
Arvid Norberg
c6f8dd408a
optimize recalculate auto-managed
2015-05-25 21:46:42 +00:00
Arvid Norberg
9856a1fe0c
break out more tests from test_primitives
2015-05-23 01:38:47 +00:00
Arvid Norberg
0052fa6c19
some cleanup to dht observers (don't expose internals)
2015-05-22 02:42:26 +00:00
Arvid Norberg
1b93f1e4b8
fix override function signature on alerts
2015-05-22 02:34:22 +00:00
Arvid Norberg
607e708bc4
fix warnings
2015-05-19 03:13:49 +00:00
Arvid Norberg
051ca6b22c
fix warnings
2015-05-18 05:32:18 +00:00
Arvid Norberg
abf9c83732
whitespace
2015-05-18 05:06:07 +00:00
Arvid Norberg
9ee98b3ed1
fix build warnings
2015-05-18 05:04:55 +00:00
Arvid Norberg
e7d369646d
fix gcc warnings
2015-05-18 01:30:32 +00:00
Arvid Norberg
71ee44ae5e
fix build issue, some warnings
2015-05-17 23:32:13 +00:00
Arvid Norberg
b480f40a98
fix linux build and update code coverage script
2015-05-17 21:00:47 +00:00
Arvid Norberg
9597dcda87
throw when packet_buffer fails to allocate memory
2015-05-17 15:23:39 +00:00
Arvid Norberg
58ae099cf8
clean up disk_io_job a bit to avoid old-style casts
2015-05-16 20:41:37 +00:00
Arvid Norberg
99de70604a
remove dht-verbose logging build configuration. tie it to the main logging configuration (which now is on by default) and make it less costly when dht logging alerts are disabled
2015-05-16 19:29:49 +00:00
Arvid Norberg
12c9d3de26
fix more warnings
2015-05-16 18:35:47 +00:00
Arvid Norberg
259e094316
fix warnings
2015-05-16 07:21:23 +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
a44731aabb
merged fixes from RC_1_0 and regenerated documentation
2015-05-12 06:23:14 +00:00
Arvid Norberg
494b425ea1
fix warnings and a peer logging bug
2015-05-10 18:38:10 +00:00
Arvid Norberg
0029ac62a8
add unit test for extract_peer_info
2015-05-10 18:24:38 +00:00
Arvid Norberg
242dad0743
fix dht build
2015-05-10 18:24:09 +00:00
Arvid Norberg
2819d5f68e
remove the remains of the dht logging
2015-05-10 05:28:50 +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
b60934288b
turn DHT logging into alerts instead of writing to a file
2015-05-10 04:54:02 +00:00
Arvid Norberg
095b709adb
rename bitfield::bytes() -> bitfiele::data()
2015-05-09 19:07:33 +00:00
Arvid Norberg
ca581f2258
rename dht::node_impl -> dht::node, since this hasn't been a pimpl for quite a while
2015-05-09 19:00:22 +00:00
Arvid Norberg
6557910c7f
remove the DHT's last dependency on session_impl
2015-05-09 18:06:02 +00:00
Arvid Norberg
b3d7668e7a
properly report errors when failing to generate randomness
2015-05-09 04:08:32 +00:00
Arvid Norberg
3218931495
properly throw on failing to allocate memory in buffer and bitfield
2015-05-09 03:56:57 +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
ddfef97696
don't use iostream in dht routing table debug logging
2015-05-08 05:21:26 +00:00
Arvid Norberg
202b4921b6
merged changes from RC_1_0
2015-05-08 04:28:24 +00:00
Arvid Norberg
5dc00969f8
fix more warninigs
2015-05-06 02:13:03 +00:00
Arvid Norberg
4b585dcc0e
minor cleanup and fix no-deprecated build
2015-05-06 01:11:54 +00:00
Arvid Norberg
db4a9962e9
take const references where we can in magnet_uri
2015-05-05 05:44:42 +00:00
Arvid Norberg
fce3f77744
override marking of virtual functions
2015-05-05 05:37:01 +00:00
Arvid Norberg
f90537c52d
fix some more coverity issues and add more todo comments
2015-05-05 02:32:14 +00:00
Arvid Norberg
4a304273fd
fix some coverity issues
2015-05-03 03:28:39 +00:00
Arvid Norberg
4f216dece3
factor out strings of peer logs to be enums instead, in peer_log_alert
2015-05-03 02:53:54 +00:00
Arvid Norberg
a3a59496d8
fix build issue with non-atomic int64
2015-05-01 22:20:22 +00:00
Arvid Norberg
e6049e6c10
fix build when int64 atomics are not lock-free
2015-04-30 22:38:24 +00:00
Arvid Norberg
00e0c7be9c
unify performance counter enum for less confusion
2015-04-29 04:49:55 +00:00
Arvid Norberg
73a24ffc0e
fix undefined behavior in shift
2015-04-29 04:23:00 +00:00
Arvid Norberg
42120014d0
merged changes from RC_1_0
2015-04-28 04:01:40 +00:00
Arvid Norberg
2fff222235
silence some warnings on msvc
2015-04-27 02:21:12 +00:00
Arvid Norberg
f97168241f
build fix
2015-04-27 00:56:58 +00:00
Arvid Norberg
d128d36faa
fix cpuid use (apparently it's not appropriate to use in an inlined function)
2015-04-26 18:46:45 +00:00
Arvid Norberg
a15bc13392
build fixes
2015-04-26 13:38:56 +00:00
Arvid Norberg
93a19b44c0
fix another format string issue and add comments to kademlia
2015-04-26 06:25:08 +00:00
Arvid Norberg
1dc5a7e63d
removed deprecated handle_alert template
2015-04-26 05:57:07 +00:00
Arvid Norberg
a0e6b52a3f
fix msvc build issues
2015-04-26 01:45:23 +00:00
Arvid Norberg
2fb1a0f3c7
fix msvc build issue
2015-04-26 01:25:45 +00:00
Arvid Norberg
f0336017d1
fix gcc warnings and missing header files in makefiles
2015-04-26 00:51:44 +00:00
Arvid Norberg
821e34c795
fix examples build. fix print formatting bugs. fix some gcc warnings
2015-04-25 04:22:51 +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
8e08cd7639
deprecate use of boost.date_time. use boost.chrono instead
2015-04-25 01:40:39 +00:00
Arvid Norberg
3bf9fa8fca
move out merkle functions into their own file and test
2015-04-24 06:06:41 +00:00
Arvid Norberg
c19c6b2cc1
fix some warnings
2015-04-24 05:37:17 +00:00
Arvid Norberg
31a87c26f0
move another unused time function into the one place it was used from (which will be removed)
2015-04-24 04:08:08 +00:00
Arvid Norberg
3ea67e2bf5
move time_now_string out to the unit test library (basically unused in libtorrent itself)
2015-04-24 03:48:08 +00:00
Arvid Norberg
91e66f65d3
removed unused argument (and silence warning)
2015-04-23 06:12:53 +00:00
Arvid Norberg
87c46a144d
fix more warnings and some build issues
2015-04-22 04:24:45 +00:00
Arvid Norberg
a1f59f6cf1
make puff const correct instead of const-casting
2015-04-22 02:11:12 +00:00
Arvid Norberg
3664c7c137
fix more warnings and bare_bones build
2015-04-22 00:59:35 +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
f5629eb403
cleanup and fixing of more warnings
2015-04-21 00:23:00 +00:00
Arvid Norberg
4d15f1410f
fix warnings, some clean-up and todo comments
2015-04-20 04:52:49 +00:00
Arvid Norberg
4fd230dbe5
fix build and some warnings
2015-04-20 00:01:27 +00:00
Arvid Norberg
820fde5066
fix typo in config.hpp for gcc build
2015-04-19 13:45:13 +00:00
Arvid Norberg
2e14e413ea
build fix
2015-04-19 13:24:10 +00:00
Arvid Norberg
bf32895de9
fix asserts=off build
2015-04-19 13:18:54 +00:00
Arvid Norberg
21751347bc
more warnings fixes and cleanup
2015-04-19 06:28:21 +00:00
Arvid Norberg
51e86ca2d5
more warning fixes and cleanup
2015-04-18 22:00:27 +00:00
Arvid Norberg
60d1b8fa7c
fix gcc build
2015-04-18 21:21:22 +00:00
Arvid Norberg
23536dcc42
fix a few warnings and GCC build
2015-04-18 13:56:36 +00:00
Arvid Norberg
cea9564302
add header files to makefile
2015-04-18 03:25:58 +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
8ac5a32548
improve deprecation macros. increase default warning level. fix deprecation warnings while building libtorrent itself (gcc and clang)
2015-04-17 01:49:49 +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
5f0b941a54
add more information to the invalid_request_alert and be more forgiving about requests from peers that have not sent an interested-message first
2015-04-13 01:34:19 +00:00
Arvid Norberg
8200f33925
fix gcc build issue in test_peer_list
2015-04-13 00:50:55 +00:00
Arvid Norberg
208fbe8545
extend test_peer_list
2015-04-12 06:39:16 +00:00
Arvid Norberg
baaeac7809
extend some unit tests. primarily test_alert_manager and fixed a bug in alert_manager
2015-04-11 18:44:43 +00:00
Arvid Norberg
fb40cb484e
merged changes from RC_1_0
2015-04-11 14:17:33 +00:00
Arvid Norberg
c47699005f
merge fixes from RC_1_0
2015-04-10 03:25:02 +00:00
Arvid Norberg
bb48b6e83c
eliminate one more session dependency in peer_connection
2015-04-10 01:50:42 +00:00
Arvid Norberg
20aa53953c
fix etensions being passed all alerts
2015-04-07 00:50:21 +00:00
Arvid Norberg
23e5fd3d8f
fix warnings
2015-04-06 04:31:21 +00:00
Arvid Norberg
b07b208a4a
rate limit how often recalculate_auto_managed can be called (it's expensive)
2015-04-05 19:35:58 +00:00
Arvid Norberg
e1e6c8bdc0
fix python binding backwards compatibility
2015-04-04 22:37:11 +00:00
Arvid Norberg
967379e324
python binding fixes
2015-04-04 19:24:26 +00:00
Arvid Norberg
2a3a34bf8d
fix warnings in alert_manager and fix test_resolve_links for windows
2015-04-04 19:11:14 +00:00
Arvid Norberg
8cc9339550
fix makefile
2015-04-04 14:19:30 +00:00
Arvid Norberg
fb597ca4b3
symbols export fix and test_ssl fix
2015-04-04 13:31:33 +00:00
Arvid Norberg
013ed36f09
landed alert_queue feature branch into trunk
2015-04-03 20:15:48 +00:00
Arvid Norberg
7118387926
merged changes from RC_1_0
2015-03-31 22:27:32 +00:00
Arvid Norberg
837e709628
deprecate RSS API
2015-03-28 17:31:27 +00:00
Arvid Norberg
9af3066b56
fix file collision logic in torrent_info
2015-03-21 16:55:23 +00:00
Arvid Norberg
ccc7e45406
landed mutable torrents branch in trunk
2015-03-21 00:12:40 +00:00
Arvid Norberg
32ccf61603
fix test_dht build
2015-03-17 01:30:57 +00:00
Arvid Norberg
1b07ec491d
fix build issue out of recent changes of exported functions
2015-03-16 04:38:28 +00:00
Arvid Norberg
6c67694d22
fix windows and linux build
2015-03-15 04:25:54 +00:00
Arvid Norberg
794de25212
moved escape_string.hpp into the aux_ directory. moved out the 3 public hex functions into its own public header, hex.hpp
2015-03-14 23:10:20 +00:00
Arvid Norberg
fad1c42970
documetation fixes and polish
2015-03-14 21:55:26 +00:00
Arvid Norberg
37225b71ae
const static -> static const (thanks gubatron). helps swigs parser
2015-03-14 00:42:27 +00:00
Arvid Norberg
881fa4dce6
remove sleep() from the libtorrent API
2015-03-13 05:52:48 +00:00
Arvid Norberg
a76b2a40b0
polish documentation. reference table of content specifically
2015-03-13 05:42:18 +00:00
Arvid Norberg
6c1df7eb55
landed the bdecode branch in master. lazy_bdecode/lazy_entry is now being replaced by bdecode/bdecode_node
2015-03-12 05:20:12 +00:00
Arvid Norberg
c1dc982f4f
deprecate the ptime type and related time types. just use boost::chrono / std::chrono
2015-03-12 04:34:54 +00:00
Arvid Norberg
0c8aee014c
implemented utp extension header to indicate the reason to close the connection
2015-02-28 19:51:15 +00:00
Arvid Norberg
5b58f6efd9
fix build error
2015-02-23 02:05:59 +00:00
Arvid Norberg
f364fe7beb
include tracker message in tracker_alert
2015-02-21 22:45:45 +00:00
Arvid Norberg
89055c4c7a
some more optimizations on loading torrents
2015-02-18 03:32:49 +00:00
Arvid Norberg
c4a294e88a
deprecate file_base feature in file_storage/torrent_info
2015-02-17 04:53:49 +00:00
Arvid Norberg
d49e97afb3
optimized loading and parsing torrents. Specifically detecting duplicate filenames (optimizing the common case of no collisions). Expanded unit test to uncover an unsupported case (not fixed yet). cutting down on memory allocation and copying when parsing torrent files in memory
2015-02-17 02:08:47 +00:00
Arvid Norberg
3d47a1fb81
extend file_storage unit test a bit
2015-02-16 21:53:23 +00:00
Arvid Norberg
5ea0db3145
extend piece_picker unit test and comment out unused function
2015-02-15 22:01:15 +00:00
Arvid Norberg
40980df545
extend storage unit test to cover iovec operations
2015-02-15 07:31:35 +00:00
Arvid Norberg
91270a0c2b
make operation_t public and document it. include peer disconnects in client_test log
2015-02-15 05:17:09 +00:00
Arvid Norberg
84fd07e226
extend piece_picker unit test
2015-02-15 02:17:57 +00:00
Arvid Norberg
d370ae0b9d
merge test_torrent_parse and test_torrent_info (they both exercised torrent_info)
2015-02-15 01:04:50 +00:00
Arvid Norberg
a831a78fd5
simplify and clean up utp_stream. fix missing error check in read handler in peer_connection
2015-02-15 00:25:56 +00:00
Arvid Norberg
1dbba7c410
optimize disk buffer allocation when seeding
2015-02-14 23:20:45 +00:00
Arvid Norberg
2fdb7499fa
optimize block_info allocation and downloading_piece size in piece_picker
2015-02-14 21:32:41 +00:00
Arvid Norberg
51f1a61d2d
more piece_picker unit tests and some fixes
2015-02-13 02:58:21 +00:00
Arvid Norberg
72d015c86a
extend piece_picker unit test
2015-02-12 03:16:53 +00:00
Arvid Norberg
7395a91bf4
clean up piece picker interface to make piece_pos private again
2015-02-08 22:15:59 +00:00
Arvid Norberg
9fb98b1151
remove speed affinity feature in piece-picker and peers
2015-02-08 21:17:00 +00:00
Arvid Norberg
497f7a4a27
piece picker fix for random mode
2015-02-08 21:12:10 +00:00
Arvid Norberg
a8623a9b23
request partial pieces in rarest-first order
2015-02-08 18:01:29 +00:00
Arvid Norberg
1b9b6f7292
support http basic auth in http_connection passed in from the outside as opposed to part of the url
2015-02-08 16:03:09 +00:00
Arvid Norberg
2a0789594d
fix linux build
2015-02-08 00:59:54 +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
097d5b484d
improve piece picker support for reverse picking (used for snubbed peers) to not cause priority inversion for regular peers
2015-01-26 02:04:58 +00:00
Arvid Norberg
bc9281a27c
deprecate file_entry (used by file_storage) and clean up the add_file overload that borrows memory (and improve implementation and documentation). The python bindings were updated to more closely match the c++ API (specifically actually using file_storage)
2015-01-21 15:46:12 +00:00
Arvid Norberg
5cfd662352
msvc fix
2015-01-21 06:48:23 +00:00
Arvid Norberg
3286437a7d
extend peer_list unit test and fix some bugs
2015-01-20 23:56:45 +00:00
Arvid Norberg
f4ee43a1f9
fix linux build
2015-01-20 17:05:45 +00:00
Arvid Norberg
f6474f5717
fix wakeup profiling to not grow memory usage indefinitely
2015-01-20 16:15:45 +00:00
Arvid Norberg
d9e69db0cb
actually make use of the max_failcount setting
2015-01-20 06:26:22 +00:00
Arvid Norberg
54eb499803
make post_torrent_updates more flexible by allowing to pass flags to it. The same flags as torrent_handle::status. Also make the default return accurante progress
2015-01-20 02:46:23 +00:00
Arvid Norberg
d8d069675c
improve piece picker to better support torrents with very large pieces and web seeds
2015-01-20 02:34:55 +00:00
Arvid Norberg
431fa2ac55
fix python binding build (and expose the new dht stats alert)
2015-01-18 21:36:24 +00:00
Arvid Norberg
a7bec127f1
relying on local statics being threadsafe still does not seem safe on msvc
2015-01-18 16:52:39 +00:00
Arvid Norberg
0afea4bb3e
move some DHT verbose stats logging over to performance counters
2015-01-18 01:06:36 +00:00
Arvid Norberg
22a02f4a1f
make dht_tracker be held by shared_ptr instead of intrusive_ptr. remove redundant performance counter (total dht sent/received). report DHT IP overhead to the IP overhead counters
2015-01-17 22:06:30 +00:00
Arvid Norberg
58d93e5aa1
add new (non-deprecated) access to dht stats, asynchronously via an alert
2015-01-17 17:02:58 +00:00
Arvid Norberg
b9b657c3d4
post alerts instead of writing to a file, in local peer discovery, when logging is enabled
2015-01-16 23:01:14 +00:00
Arvid Norberg
f914943e58
fix some compile warnings
2015-01-16 20:51:39 +00:00
Arvid Norberg
3fbc0f05c6
add unit test for default_storage::rename
2015-01-16 04:02:44 +00:00
Arvid Norberg
d140d71e1a
extend logging of UDP tracker announces (to track down unit test flapping)
2015-01-13 21:34:43 +00:00
Arvid Norberg
fb058f602f
aux::session_settings is used by a test
2015-01-09 00:42:57 +00:00
Arvid Norberg
c9903bdaf2
use O_SYNC when available
2015-01-07 23:21:54 +00:00
Arvid Norberg
0f37e3403c
transition from intrusive_ptr to shared_ptr. don't export initialize_default_settings
2015-01-06 08:08:49 +00:00
Arvid Norberg
b808cc8b2d
remove some TODO comments
2015-01-05 12:32:30 +00:00
Arvid Norberg
bb33b061e4
clean up session_impl
2015-01-04 22:26:26 +00:00
Arvid Norberg
35b41858cf
deprecated session_status and session::status() in favor of performance counters
2015-01-04 21:31:02 +00:00
Arvid Norberg
1218e328cd
SSL fixes (especially over uTP)
2015-01-04 01:04:56 +00:00
Arvid Norberg
d68471805e
improve support for HTTP where one direction of the socket is shut down
2015-01-03 22:38:17 +00:00
Arvid Norberg
f839b8c9b4
factor creating of directories into default_storage::open_file to make that functionality more robust and fix a bug where moving files out of the part-file would fail because the directories hadn't been created yet
2015-01-03 16:57:21 +00:00
Arvid Norberg
21d1f6f649
more dynamic link build fixes
2015-01-02 11:11:09 +00:00
Arvid Norberg
9b0f7bbe72
move function from header to .cpp file
2015-01-02 00:51:09 +00:00
Arvid Norberg
299b6338b6
fix documentation
2015-01-01 23:35:28 +00:00
Arvid Norberg
dbf461ac23
make DHT dos mitigation parameters configurable via dht_settings
2015-01-01 23:24:21 +00:00
Arvid Norberg
f77e12ac04
clean up symbol exports
2015-01-01 20:25:39 +00:00
Arvid Norberg
98372ff974
regenerate html
2014-12-31 23:18:11 +00:00
Arvid Norberg
092362e9bc
remove internal fields from web_seed_entry
2014-12-31 22:05:34 +00:00
Arvid Norberg
73a2a4e51d
fix comment formatting in settings_pack
2014-12-31 17:00:27 +00:00
Arvid Norberg
764b09d6b5
make the peer fingerprint a regular setting and remove it from the main session constructor argument list
2014-12-31 15:51:45 +00:00
Arvid Norberg
1039d4ae86
tweak some TODO comments and fix one
2014-12-31 14:41:35 +00:00
Arvid Norberg
e9414894e2
separate the configuration of crypto library and whether protocol encryption is enabled or not. make protocol encryption always use the built-in rc4 and tommath code. SHA-1 hashing is done by the crypto library
2014-12-29 16:50:22 +00:00
Arvid Norberg
ae47823970
don't fail renaming a file in a torrent just because it doesn't exist (and the destination directory doesn't exist)
2014-12-26 21:25:37 +00:00
Arvid Norberg
75ae204cf4
remove orphaned function declaration
2014-12-25 18:26:19 +00:00
Arvid Norberg
0977d94dbc
merged changes from RC_1_0
2014-12-25 11:24:02 +00:00
Arvid Norberg
20b4608c38
optimize copying torrent_info and file_storage objects
2014-12-17 05:33:16 +00:00
Arvid Norberg
13a9c3c78d
we no longer support including file-hashes when creating torrents
2014-12-17 03:50:01 +00:00
Arvid Norberg
6214aef0c5
merged changes from RC_1_0
2014-12-17 03:19:42 +00:00
Arvid Norberg
465832bf2b
fix comment formatting
2014-12-17 02:48:22 +00:00
Arvid Norberg
ae04b80fe1
cancel non-critical DNS lookups when shutting down, to cut down on shutdown delay
2014-12-17 02:44:27 +00:00
Arvid Norberg
1ce3bdf0d0
update send and received byte performance counters immediately, to avoid the one second quantization in stats
2014-12-10 05:49:17 +00:00
Arvid Norberg
20b9a01a09
pack members of pending_buffer a bit
2014-12-10 01:05:40 +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
4eaec6d87f
instead of using a fixed request timeout for every peer, have an adaptable one based on the average download time for a block
2014-12-08 17:06:04 +00:00
Arvid Norberg
c4e5df8e4d
remove the concept of timeout_extend in piece request timeouts. if a request times out, cancel it as soon as it holds up the completion of a piece
2014-12-07 22:22:38 +00:00
Arvid Norberg
790ef041bf
merged changes from RC_1_0
2014-12-07 07:22:39 +00:00
Arvid Norberg
1ed1963f29
remove size_type typedef in favor of boost::int64_t
2014-12-03 04:32:50 +00:00
Arvid Norberg
ac9a734149
dont use INT16_MIN
2014-12-02 20:06:30 +00:00
Arvid Norberg
4376d26399
merged changes from RC_1_0
2014-12-01 10:43:34 +00:00
Arvid Norberg
362b54421d
merged changes from RC_1_0
2014-11-30 10:07:19 +00:00
Arvid Norberg
601f8c0476
merged changes from RC_1_0
2014-11-29 09:12:44 +00:00
Arvid Norberg
f98c7223b2
merged changes from RC_1_0
2014-11-29 01:53:22 +00:00
Arvid Norberg
f73fe335e2
deprecated flag should not affect ABI
2014-11-26 10:17:44 +00:00
Arvid Norberg
29fb79f60c
merged changes from RC_1_0
2014-11-24 04:25:05 +00:00
Arvid Norberg
211603b7a5
merged fixed include
2014-11-23 06:23:49 +00:00
Arvid Norberg
658e2ceefd
merged Steven Siloti's peer crypto patch into trunk
2014-11-23 06:14:47 +00:00
Arvid Norberg
179df62379
merged changes from RC_1_0
2014-11-20 05:53:12 +00:00
Arvid Norberg
edfa38cd30
merged changes from RC_1_0
2014-11-17 03:41:01 +00:00
Arvid Norberg
0b711f1280
remove unused variables. add some comments
2014-11-17 03:10:00 +00:00
Arvid Norberg
bfb0c4fe80
merged changes from RC_1_0
2014-11-12 16:57:59 +00:00
Arvid Norberg
f7221e277f
add unit test for crc32c and fix cpuid warning
2014-11-10 02:05:46 +00:00
Arvid Norberg
77363ad93e
fix file progress calculation bug (with unit test)
2014-11-08 18:36:54 +00:00
Arvid Norberg
aae56c991c
merged changes from RC_1_0
2014-11-08 16:58:18 +00:00
Arvid Norberg
601f0dc434
merged changes from RC_1_0
2014-11-03 06:15:51 +00:00
Arvid Norberg
3742fd2699
merged changes from RC_1_0
2014-11-02 09:41:29 +00:00
Arvid Norberg
34af25beaa
merged chagnes from RC_1_0
2014-11-01 22:47:56 +00:00
Arvid Norberg
85cc72835e
finally rename policy to peer_list
2014-10-26 07:34:31 +00:00
Arvid Norberg
1c448331d5
fix stats_alert with recent changes to stats
2014-10-25 23:10:07 +00:00
Arvid Norberg
935eea9d0b
some more fixes to cache_status
2014-10-25 21:28:57 +00:00
Arvid Norberg
83394f54f9
transition fenced job histogram to session stats gauges. deprecate it from cache_status
2014-10-25 20:59:54 +00:00
Arvid Norberg
0bcbe433ed
deprecate most of cache_status type (use session stats instead)
2014-10-25 20:07:50 +00:00
Arvid Norberg
d9388f9898
moved around some hostname resolver related TODO comment. removed unused hostname query objects
2014-10-23 00:19:11 +00:00
Arvid Norberg
e09a2b770d
factored out choke comparison functions into choker.cpp
2014-10-22 22:30:04 +00:00
Arvid Norberg
02a9ea18b7
deprecated auto_expand_choker. started factoring out choker logic into its own translation unit (preparing for making it unit testable)
2014-10-22 22:06:56 +00:00
Arvid Norberg
907dc9dddd
merged changes from RC_1_0
2014-10-22 07:05:10 +00:00
Arvid Norberg
a25345b1e7
fix typo
2014-10-21 23:44:50 +00:00
Arvid Norberg
ca6bb1ebd9
minor cleanup of open_listen_port internally
2014-10-21 22:08:48 +00:00
Arvid Norberg
bcc5d66e0c
now that we use boost.chrono, no need for custom timer or macros controlling which timer to use
2014-10-21 21:51:12 +00:00
Arvid Norberg
3db32f67b5
remove option TORRENT_DISABLE_FULL_STATS
2014-10-21 21:45:35 +00:00
Arvid Norberg
ce9ff9885b
move DHT transfer counters to performance_counters
2014-10-21 21:36:45 +00:00
Arvid Norberg
7249122329
move tracker transfer counters over to use performance_counters internally as well
2014-10-21 21:24:15 +00:00
Arvid Norberg
bb3e399ce2
convert endpoint list into vector in udp_tracker_connection
2014-10-21 20:49:36 +00:00
Arvid Norberg
cea5585993
remove stats logging functionality from libtorrent. This has been moved to a helper class part of libtorrent-webui, utility library
2014-10-21 19:58:12 +00:00
Arvid Norberg
9b37efe6a8
first steps towards removing session_impl dependency from tracker connections, to improve their testability
2014-10-21 00:28:51 +00:00
Arvid Norberg
ffb66ec156
transition tracker_connections to use shared_ptr instead of intrusive_ptr. optimize udp tracker connection lookups by using unordered map instead of linear search.
2014-10-20 20:44:05 +00:00
Arvid Norberg
2f077d8efa
fix http_connection timeout issue
2014-10-16 05:33:09 +00:00