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
Arvid Norberg
2806e1e340
fix makefile build
2014-10-14 02:17:09 +00:00
Arvid Norberg
32d368e1ce
merged changes from RC_1_0
2014-10-12 18:16:46 +00:00
Arvid Norberg
a91848962a
merge changes from RC_1_0
2014-10-12 04:18:34 +00:00
Arvid Norberg
e2fba2caa9
fix available() function on ssl_stream
2014-10-08 15:27:52 +00:00
Arvid Norberg
a655047cb0
support SSL over uTP (unit test is still failing with same errors as previously, this has not been fixed yet)
2014-10-06 03:03:01 +00:00
Arvid Norberg
30d7b9e3c3
fixed bug with inactivity timer
2014-10-05 22:30:09 +00:00
Arvid Norberg
9c2472f7bb
fix build with deprecated functions disabled
2014-10-05 19:32:29 +00:00
Arvid Norberg
418e33facc
use the session-wide hostname resolver in torrent.cpp
2014-10-05 01:23:22 +00:00
Arvid Norberg
d296960efa
fix build with verbose logging
2014-10-04 19:54:12 +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
f8272b90ae
merged changes from RC_1_0
2014-09-29 07:06:18 +00:00
Arvid Norberg
2d438e0758
factor out parse_tracker_response and add unit tests. make gen_todo cover tests also, and regenerate todo.html
2014-09-29 06:10:22 +00:00
Arvid Norberg
8664ff97aa
optimize tracker_manager interface to avoid rendering and parsing strings for each peer-ip
2014-09-28 06:36:03 +00:00
Arvid Norberg
931c5530c2
some socks5 cleanup
2014-09-28 05:42:35 +00:00
Arvid Norberg
6a4a5419c2
one more fix
2014-09-28 04:05:44 +00:00
Arvid Norberg
d723a7a4c6
fix build
2014-09-28 03:27:13 +00:00
Arvid Norberg
40b4c6b91f
added comment
2014-09-28 02:23:25 +00:00
Arvid Norberg
154cbeb5cf
support web seeds that resolve to multiple IPs
2014-09-28 02:20:13 +00:00
Arvid Norberg
9a985d197f
optimize num_seeds() and num_downloaders() to not count the peers every time
2014-09-24 09:03:57 +00:00
Arvid Norberg
60119bf0ca
added auto-sequential feature
2014-09-24 00:02:00 +00:00
Arvid Norberg
8cbef3876a
post alert on outgoing get_peers
2014-09-22 19:49:32 +00:00
Arvid Norberg
7a55069ec9
add additional single-thread asserts and separate torrents from the session (in preparation for running them in separate threads/strands)
2014-09-22 17:41:06 +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
c7a0bde196
fix bug in peer_connection::second_tick
2014-09-20 23:57:59 +00:00
Arvid Norberg
c471bcb49f
optimize peer classes a bit
2014-09-17 07:23:41 +00:00
Arvid Norberg
7e69239991
merged unit test from RC_1_0
2014-09-17 02:10:48 +00:00
Arvid Norberg
9a2e511dda
attempted fix for inconsistent debug refcounters on blocks. pinning pieces with outstanding reads in an attempt at fixing inconsitencies seen around that logic as well
2014-09-14 22:42:18 +00:00
Arvid Norberg
ad7d74f255
merged fixes from RC_1_0
2014-09-13 19:47:51 +00:00
Arvid Norberg
eb32b1fef1
merged changes from RC_1_0
2014-09-12 22:38:07 +00:00
Arvid Norberg
acdcf4c888
comment
2014-09-12 02:33:08 +00:00
Arvid Norberg
6bbdd4afa4
merged changes from RC_1_0
2014-09-03 06:52:45 +00:00
Arvid Norberg
bed6d5c233
fix test builds without deprecated functions
2014-09-03 03:17:47 +00:00
Arvid Norberg
4d57456199
merged changes from RC_1_0
2014-09-02 06:28:27 +00:00
Arvid Norberg
19f3de10dd
merged changes from RC_1_0
2014-09-01 08:59:12 +00:00
Arvid Norberg
b1208c9f63
merged changes from RC_1_0
2014-09-01 07:16:31 +00:00
Arvid Norberg
695589c6ef
attempted no-exceptions build fix
2014-08-28 07:09:24 +00:00
Arvid Norberg
db788c9180
fix to make active_time, seeding_time, finished_time and upload_only_time all work for torrents that are not being ticked
2014-08-27 06:36:28 +00:00
Arvid Norberg
48ea42c990
merged changes from RC_1_0
2014-08-27 05:57:37 +00:00
Arvid Norberg
1ce69d122b
add missing files
2014-08-27 03:33:41 +00:00
Arvid Norberg
4ddedc6a21
add extension hook on sending payload
2014-08-26 04:26:16 +00:00
Arvid Norberg
4394fea79e
remove deleted file from makefile
2014-08-26 03:50:29 +00:00
Arvid Norberg
7d751b80da
merged fixes from RC_1_0
2014-08-26 03:14:32 +00:00
Arvid Norberg
862844e546
merged changes from RC_1_0
2014-08-22 07:56:10 +00:00
Arvid Norberg
51f2aafb43
clean up some time_t and srand() uses
2014-08-16 20:55:44 +00:00
Arvid Norberg
524384045c
transition to use boost.random instead of rand() and custom pseudo random generator
2014-08-16 20:26:00 +00:00
Arvid Norberg
3f88389f05
merged changes from RC_1_0
2014-08-16 07:46:06 +00:00
Arvid Norberg
c60ceacb71
switch over to use boost.atomic instead of home-built one
2014-08-01 07:32:54 +00:00
Arvid Norberg
f32f5e96aa
deprecate parts of cache_status and move those counters to session_stats counters. make the performance counters thread safe. fix some issues recently introduced to performance counters and the usage of them in client_test
2014-08-01 06:07:48 +00:00
Arvid Norberg
671ae32ae5
fix docs generation for stats counters
2014-07-30 02:00:14 +00:00
Arvid Norberg
f0be98ce53
cleanup and make session_stats a bit more efficient
2014-07-30 00:34:53 +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
2f6a68bad3
track RTT of piece requests
2014-07-28 07:52:59 +00:00
Arvid Norberg
fb23601898
merge bitfield fix from RC_1_0 (although, fix doesn't apply)
2014-07-28 04:41:40 +00:00
Arvid Norberg
a7d68330e3
merged fix from RC_1_0
2014-07-22 09:04:56 +00:00
Arvid Norberg
2b1162aac9
fix build and suppress offsetof warnings in backwards-compatibility code
2014-07-22 05:35:05 +00:00
Arvid Norberg
42a30bb50f
merged change from RC_1_0
2014-07-22 01:22:46 +00:00