Arvid Norberg
|
e0d1951fac
|
fixes #234. properly shuts down the disk io thread
|
2007-12-24 08:15:10 +00:00 |
Arvid Norberg
|
b23e9e3795
|
attempt to fix #201. Uses separate sockets to send broadcast messages in order to be sure to receive unicast responses
|
2007-12-22 17:33:04 +00:00 |
Arvid Norberg
|
1724ce5974
|
fixed bug in UPnP and added functionality to grab router model
|
2007-12-22 16:47:46 +00:00 |
Arvid Norberg
|
e38c0c9cdc
|
added bencoding function and updated ut_metadata extension
|
2007-12-22 08:15:05 +00:00 |
Arvid Norberg
|
9aa2ddec80
|
added a plugin 'smart_ban' that can ban peers sending bad data with higher accuracy
|
2007-12-18 06:04:54 +00:00 |
Arvid Norberg
|
f6b34b7f0b
|
added missing include guard to disk_io_thread.hpp
|
2007-12-17 22:07:03 +00:00 |
Arvid Norberg
|
ac28fa7b62
|
some more asserts related to bandwidth manager
|
2007-12-14 18:02:06 +00:00 |
Arvid Norberg
|
948f53a8af
|
assert fix
|
2007-12-14 06:09:44 +00:00 |
Arvid Norberg
|
9b54043478
|
attempt to fix potential deadlock in disk_io_thread
|
2007-12-13 04:05:25 +00:00 |
Arvid Norberg
|
07ad5d9796
|
bandwidth_manager assert fix
|
2007-12-10 18:13:57 +00:00 |
Arvid Norberg
|
f06bf0d440
|
bandwidth manager fix
|
2007-12-09 18:44:26 +00:00 |
Arvid Norberg
|
8c3f9571de
|
socks5 support for udp messages
|
2007-12-09 04:15:24 +00:00 |
Arvid Norberg
|
7cccdcaa7b
|
makefile fixes
|
2007-12-09 01:21:20 +00:00 |
Arvid Norberg
|
fff87a6845
|
added m4 script for boost iostream and added ut_metadata to makefile
|
2007-12-08 22:02:59 +00:00 |
Arvid Norberg
|
a7f6e3bccb
|
added abuse protection to DHT. nodes that hammer will be ignored
|
2007-12-04 02:53:10 +00:00 |
Arvid Norberg
|
20621cae02
|
added magnet-uri functions and a base32 decode function
|
2007-12-03 06:03:16 +00:00 |
Arvid Norberg
|
a7b5250058
|
move url_has_argument to escape_string and added unit tests
|
2007-12-02 19:10:45 +00:00 |
Arvid Norberg
|
9727634f09
|
added base32encode and moved it into escape_string.hpp
|
2007-12-02 18:34:37 +00:00 |
Arvid Norberg
|
f3d45fcfc1
|
initial support for ut_metadata
|
2007-12-02 04:16:51 +00:00 |
Arvid Norberg
|
db0ae6bd7e
|
increased default tracker timeout from 20 seconds to 40 seconds
|
2007-11-30 17:37:50 +00:00 |
Arvid Norberg
|
02ed01d2c4
|
added first try of a mapped storage
|
2007-11-30 00:35:09 +00:00 |
Arvid Norberg
|
1cc0118c9c
|
supports retry for web seeds that respond with 503
|
2007-11-27 03:37:47 +00:00 |
Arvid Norberg
|
c92fef5b69
|
simplified torrent_handle by using a macro and moving the big chunks of code into torrent (get_download_queue() and get_peer_info())
|
2007-11-25 18:48:43 +00:00 |
Arvid Norberg
|
769d8aefe2
|
first version of 'part file' support. Can currently only be set when starting torrent
|
2007-11-25 10:47:05 +00:00 |
Arvid Norberg
|
c18ae83146
|
added wait_for_alert() to session. If there is at least one alert in the queue, it returns the front one in the queue, if the queue is empty, it waits until a new alert is posted and returns that one, or returns 0 if the time expires first.
|
2007-11-25 08:18:57 +00:00 |
Arvid Norberg
|
81ce2e7890
|
reverted [1760] and added documentation for downloading_metadata
|
2007-11-24 04:19:21 +00:00 |
Arvid Norberg
|
3edcabd845
|
removed downloading_metadata state. Fixes #188
|
2007-11-24 03:24:31 +00:00 |
Arvid Norberg
|
c929f4fb69
|
fix for systems where IPv6 sockets bound to INADDR_ANY also listens on IPv4 connections
|
2007-11-23 22:14:33 +00:00 |
Arvid Norberg
|
fabfe6cd50
|
added scrape support
|
2007-11-20 22:46:27 +00:00 |
Arvid Norberg
|
da17b30e63
|
proxy_base shutdown fix
|
2007-11-19 05:18:50 +00:00 |
Arvid Norberg
|
fd11e07a55
|
memory optimization to free piece hashes is now optional
|
2007-11-19 04:58:52 +00:00 |
Arvid Norberg
|
947b3d59d1
|
updated makefiles to reflect new asio files
|
2007-11-18 17:20:38 +00:00 |
Arvid Norberg
|
a1a841a04d
|
http_connection fixes and unit test (not self contained yet, just like test_web_seed)
|
2007-11-18 04:12:35 +00:00 |
Arvid Norberg
|
fa8c0c1133
|
fixed missing include
|
2007-11-18 01:34:43 +00:00 |
Arvid Norberg
|
7be29d9b84
|
applied 'logpath' patch from #202
|
2007-11-16 21:21:28 +00:00 |
Arvid Norberg
|
95d09070fb
|
cancels more async operations on shutdown
|
2007-11-11 19:09:29 +00:00 |
Arvid Norberg
|
41ef204f26
|
closes bandwidth rate limiters
|
2007-11-08 07:52:41 +00:00 |
Arvid Norberg
|
80e8aa0a18
|
add_extension on torrent_handle, to add an extension on an already running torrent
|
2007-11-08 01:45:35 +00:00 |
Arvid Norberg
|
53c125a9b3
|
made entry not require exceptions
|
2007-11-02 02:02:52 +00:00 |
Arvid Norberg
|
cb9fbea5f7
|
made bdecoder not require exception support
|
2007-11-02 01:08:10 +00:00 |
Arvid Norberg
|
fd51412b70
|
shutdown improvements. Fixes stall
|
2007-11-02 00:27:53 +00:00 |
Arvid Norberg
|
d2880ff648
|
made allocate_send_buffer, setup_send and send_buffer virtual in peer_connection. Fixes #196
|
2007-10-31 10:20:05 +00:00 |
Arvid Norberg
|
1a280e31fa
|
cleanup. changed the connection map into a set of peer_connections. moved the policy object into the torrent (as opposed to being a pointer). Fixes issues with multiple peers on the same IP. Reduces some lookups.
|
2007-10-31 09:48:20 +00:00 |
Arvid Norberg
|
6aeefaf513
|
removed self() from peer_connection, since it's in intrusive_ptr_base now
|
2007-10-31 09:44:31 +00:00 |
Arvid Norberg
|
0439399169
|
replaced std::vector with buffer
|
2007-10-30 17:30:49 +00:00 |
Arvid Norberg
|
e28689237d
|
uses checked_delete instead of plain delete
|
2007-10-30 10:08:09 +00:00 |
Arvid Norberg
|
8f07edbed2
|
asio handlers are now properly cancelled when destructing the session object, race conditions are avoided by waiting for the io service to complete all tasks
|
2007-10-26 07:14:19 +00:00 |
Arvid Norberg
|
636d5f2005
|
upnp fixes and more debug asserts and more logging. Might fix #167
|
2007-10-26 00:47:30 +00:00 |
Arvid Norberg
|
ee61db101e
|
variant_stream fix
|
2007-10-26 00:43:28 +00:00 |
Arvid Norberg
|
5f89db91a3
|
query extra fields in torrent files without requiring exception handling
|
2007-10-24 18:15:13 +00:00 |
Arvid Norberg
|
96ba6bc3b2
|
piece picker priority fix
|
2007-10-23 22:10:08 +00:00 |
Arvid Norberg
|
f054ae7c2d
|
made the handshake timeout configurable and defaults to 10 seconds
|
2007-10-23 00:19:28 +00:00 |
Arvid Norberg
|
2662c84f01
|
fixed issue when calling close on an uninstantiated variant_stream + variant_stream cleanup (removed unncessesary templates)
|
2007-10-22 22:53:31 +00:00 |
Arvid Norberg
|
fcc238e801
|
lowered piece timeout and sends cancels for pieces when a time out occurs
|
2007-10-22 20:58:42 +00:00 |
Arvid Norberg
|
ade50123c3
|
cleaned up unnecessary template functions
|
2007-10-22 10:54:48 +00:00 |
Arvid Norberg
|
92d29334fa
|
cleanup. doesn't allocate sockets on the heap for no reason anymore
|
2007-10-22 04:17:26 +00:00 |
Arvid Norberg
|
b032c26bf0
|
adds invariant check to make sure pieces that are complete are also checked. adds a debug function in the disk_io_thread. Fixes a problem with a failing disk write that would not clear the block for re-download. Adds some extra session logging
|
2007-10-18 00:32:16 +00:00 |
Arvid Norberg
|
a1356bdb7f
|
intrusive_ptr_base fix
|
2007-10-15 17:56:22 +00:00 |
Arvid Norberg
|
1699fa4652
|
fast reconnect fixes
|
2007-10-15 05:03:29 +00:00 |
Arvid Norberg
|
78f0aaf654
|
applied patch from #184
|
2007-10-13 18:24:24 +00:00 |
Arvid Norberg
|
59c7f5bfbb
|
added option to delete files from disk as a torrent is removed
|
2007-10-13 03:33:33 +00:00 |
Arvid Norberg
|
09bcb3ff2e
|
removed unused left-overs
|
2007-10-12 22:28:52 +00:00 |
Arvid Norberg
|
c6c77d8efc
|
fixed so that peers only get one fast-reconnect
|
2007-10-12 01:12:30 +00:00 |
Arvid Norberg
|
995485daeb
|
fixed destruction order issue
|
2007-10-09 22:17:16 +00:00 |
Arvid Norberg
|
ffe2e75882
|
added another alert to cover all cases where the torrent has to be checked at start, and tell the user why. Fixed a problem with the resume data generation introduced in last storage check-in
|
2007-10-09 00:25:01 +00:00 |
Arvid Norberg
|
4d19f7ff0f
|
storage optimization. introduced a nother allocation mode: sparse. Now there is allocate, compact and sparse. Unless compact is used, the memory structures used to keep track of pieces are no longer allocated. sparse storage mode is now the default
|
2007-10-08 20:01:36 +00:00 |
Arvid Norberg
|
28274bf1bd
|
improved shutdown behavior. decreased tracker timeouts to 5 seconds. added more logging
|
2007-10-07 18:06:56 +00:00 |
Arvid Norberg
|
b51f40260a
|
fixed warning in intel-9.0
|
2007-10-07 16:42:31 +00:00 |
Arvid Norberg
|
966800cd5b
|
replaced the assert macro to TORRENT_ASSERT instead of hi-jacking assert.
|
2007-10-05 00:30:00 +00:00 |
Arvid Norberg
|
2940d253c3
|
completed fast reconnect fix
|
2007-10-04 21:26:50 +00:00 |
Arvid Norberg
|
82369a552b
|
fix to make torrent_info assignable
|
2007-10-04 20:47:44 +00:00 |
Arvid Norberg
|
c4c8d0f533
|
moved piece_finished_alert to debug level
|
2007-10-03 23:15:13 +00:00 |
Arvid Norberg
|
51f12e774e
|
moved block_downloading_alert and block_finished_alert to debug level
|
2007-10-03 22:53:52 +00:00 |
Arvid Norberg
|
4cab49cbdf
|
saves banned peers in resume data
|
2007-10-03 17:37:15 +00:00 |
Arvid Norberg
|
fd180c4294
|
fixed bug in policy
|
2007-10-02 20:30:53 +00:00 |
Arvid Norberg
|
3dcae188fb
|
policy now has a map of peers instead of a flat list, makes it more efficient to do lookups
|
2007-10-02 19:11:04 +00:00 |
Arvid Norberg
|
16886741d0
|
release_files now keeps the torrent object alive
|
2007-10-02 18:34:34 +00:00 |
Arvid Norberg
|
973e7be386
|
added router_for_interface along with a proper windows implementation. NAT-PMP support is now good on windows
|
2007-10-01 17:21:19 +00:00 |
Arvid Norberg
|
c3991bcfea
|
fix for previous check-in
|
2007-10-01 08:59:37 +00:00 |
Arvid Norberg
|
f20cf1b92f
|
fixes issue whith failure to create logs causes libtorrent to quit, fixes ticket #168
|
2007-10-01 08:36:15 +00:00 |
Arvid Norberg
|
9bcb4e9f09
|
fixed asio include header
|
2007-10-01 07:22:51 +00:00 |
Arvid Norberg
|
7720b48263
|
removed invalid inline
|
2007-10-01 02:21:58 +00:00 |
Arvid Norberg
|
29c8cc1a98
|
fixed makefile to include new asio headers
|
2007-09-29 22:11:22 +00:00 |
Arvid Norberg
|
0048f343cd
|
upnp, natpmp and lsd now have proper lifetime management by using intrusive_ptr
|
2007-09-29 21:31:51 +00:00 |
Arvid Norberg
|
c65f33dfcc
|
added chained buffer to makefiles
|
2007-09-29 21:08:05 +00:00 |
Arvid Norberg
|
9597b98f4d
|
moved log_time() into session.cpp instead of being inlined
|
2007-09-29 20:35:55 +00:00 |
Arvid Norberg
|
b48948e231
|
changed the double send buffers to a chained buffer using iovec send operations. buffers are recycled (saves memory and cpu) and memory copies are avoided (saves cpu). More statistics is added to track buffer usage
|
2007-09-29 16:14:03 +00:00 |
Arvid Norberg
|
d48236a738
|
changed http_parser slightly. uses http_parser in lsd.cpp. added more tests to the http_parser
|
2007-09-25 03:14:05 +00:00 |
Arvid Norberg
|
1df7c2006a
|
makefile update for recent asio
|
2007-09-24 19:13:18 +00:00 |
Arvid Norberg
|
6ce8d367a4
|
added error checking to endpoint to string conversion. fixes problem on systems without IPv6 support
|
2007-09-23 22:50:25 +00:00 |
Arvid Norberg
|
3b6aee6d86
|
switched out std::vector to use libtorrent::buffer as an optimization
|
2007-09-23 00:51:45 +00:00 |
Arvid Norberg
|
2e93b92cb4
|
more IPv6 fixes. support for multihomed machines by listening on multiple interfaces. added listen_succeeded_alert to advertize which interfaces are being listened on
|
2007-09-22 16:27:29 +00:00 |
Arvid Norberg
|
022c38d5f4
|
added is_any(address) function
|
2007-09-22 16:26:03 +00:00 |
Arvid Norberg
|
87c079033d
|
fixed race condition in enum_net
|
2007-09-22 16:22:41 +00:00 |
Arvid Norberg
|
a26bd55ff9
|
variant_stream fixes and added an operator<< for tcp::endpoint
|
2007-09-22 16:21:07 +00:00 |
Arvid Norberg
|
053f499ec6
|
better upnp support
|
2007-09-20 23:25:40 +00:00 |
Arvid Norberg
|
587d40e1ae
|
updates to enum_net
|
2007-09-20 16:25:07 +00:00 |
Arvid Norberg
|
338eedf961
|
added storage assert, fixed policy assert
|
2007-09-19 19:55:11 +00:00 |
Arvid Norberg
|
af95c01f24
|
torrent_handle fixes
|
2007-09-19 18:34:01 +00:00 |
Arvid Norberg
|
b0d51950b6
|
fixed problem in bandwidth_manager
|
2007-09-19 06:06:18 +00:00 |
Arvid Norberg
|
60f9d1366a
|
added more asserts to bandwidth limiter
|
2007-09-19 01:08:50 +00:00 |
Arvid Norberg
|
fbac9f785a
|
disabled loopback for upnp
|
2007-09-18 01:25:28 +00:00 |
Arvid Norberg
|
2661f834fd
|
added TORRENT_EXPORT to assert_fail
|
2007-09-17 18:19:08 +00:00 |
Arvid Norberg
|
bc897ef808
|
fixed compile warning
|
2007-09-17 10:00:08 +00:00 |
Arvid Norberg
|
b5a2373bff
|
added an option to generate a disk io log file
|
2007-09-17 08:15:54 +00:00 |
Arvid Norberg
|
4d4204a3a7
|
added assert.cpp and .hpp to the makefiles
|
2007-09-17 06:39:04 +00:00 |
Arvid Norberg
|
8e899fa9fd
|
updated the assert macro to send SIGINT to the process (to break into the debugger) and also to be used on macos
|
2007-09-17 02:32:51 +00:00 |
Arvid Norberg
|
9364a2d01d
|
added priority to disk io jobs
|
2007-09-16 01:34:06 +00:00 |
Arvid Norberg
|
3a11c3bfad
|
broadcast socket and piece_picker fix
|
2007-09-15 20:20:07 +00:00 |
Arvid Norberg
|
73bb0c05ad
|
added 'incoming' peer source
|
2007-09-15 20:17:23 +00:00 |
Arvid Norberg
|
bdd14cc155
|
added reject and suggest hooks to peer plugins
|
2007-09-14 03:38:38 +00:00 |
Arvid Norberg
|
15a193d363
|
fixed race condition in tracker manager
|
2007-09-14 02:54:15 +00:00 |
Arvid Norberg
|
7bbfb3bd4b
|
added a userdata parameter to add_torrent that is passed in to plugins
|
2007-09-14 00:11:33 +00:00 |
Arvid Norberg
|
94f5b93d21
|
made it possible to pass in custom buffers to piece_manager::async_read, increased the maximum buffer size on bottled http_requests
|
2007-09-11 17:45:20 +00:00 |
unsh
|
214dfa9427
|
made storage.cpp build on FreeBSD, updated Makefile.am
|
2007-09-10 13:46:08 +00:00 |
Arvid Norberg
|
80aee32972
|
fixed piece picker problem when a downloading piece could not be picked with the right speed category
|
2007-09-10 08:07:18 +00:00 |
Arvid Norberg
|
57a76f9db6
|
fixed debug assert on linux
|
2007-09-10 06:12:41 +00:00 |
Arvid Norberg
|
ee5ce50502
|
made max half open connections default to 8 on windows and added query function for that limit on session.
|
2007-09-10 01:57:40 +00:00 |
Arvid Norberg
|
0d02fe0539
|
upnp and lsd update. added a broadcast_socket and made the upnp connection use the locally bound ip to specify its address in the soap requests
|
2007-09-09 23:52:34 +00:00 |
Arvid Norberg
|
4fcdea4172
|
piece picker fix
|
2007-09-09 23:46:28 +00:00 |
Arvid Norberg
|
777bb87a55
|
made connection_queue thread safe
|
2007-09-08 16:27:43 +00:00 |
Arvid Norberg
|
0d6970168d
|
piece picker updates
|
2007-09-06 18:30:46 +00:00 |
Arvid Norberg
|
49dfc4d63d
|
fixed typo
|
2007-09-06 00:51:14 +00:00 |
Arvid Norberg
|
24b57d62c8
|
piece picker fixes and optimizations (requires more tests in unit tests)
|
2007-09-05 21:21:11 +00:00 |
Arvid Norberg
|
6d40519e66
|
added support for piece picker to pick multiple pieces (previously it could only pick one piece tops). Made the web_peer_connection always try to make 1 MB requests at a time. added tests to the piece_picker unit test
|
2007-09-03 21:16:24 +00:00 |
Arvid Norberg
|
61c269efee
|
added timeout for interested peers that don't request once they're unchoked. Added support for suggest_piece
|
2007-09-01 07:38:10 +00:00 |
Arvid Norberg
|
fd42f3232b
|
upnp more logging and error recovery
|
2007-09-01 04:08:39 +00:00 |
Arvid Norberg
|
c8088459a0
|
made torrent_info reference counted and held by a boost::intrusive_ptr
|
2007-09-01 03:00:31 +00:00 |
Arvid Norberg
|
4aa018484a
|
fixed unchoke counter problem
|
2007-08-27 16:30:56 +00:00 |
Arvid Norberg
|
79e0e06fa9
|
improved bandwidth_limiter test and fixed problem where limits could lead to starvation
|
2007-08-27 10:20:23 +00:00 |
Arvid Norberg
|
2b0197e810
|
initial fix to enable mapping files in torrents to other files on disk. see torrent_info::remap_files
|
2007-08-25 18:26:43 +00:00 |
Arvid Norberg
|
c0ffdc51c7
|
piece picker fix and bandwidth_limiter typo fix
|
2007-08-25 05:09:25 +00:00 |
Arvid Norberg
|
d963625949
|
added assert to bandwidth_limiter
|
2007-08-24 02:12:07 +00:00 |
Arvid Norberg
|
cc54c242a1
|
rate limiter fix
|
2007-08-23 16:49:59 +00:00 |
Arvid Norberg
|
9e2367fd13
|
bandwidth limiter fix
|
2007-08-22 23:24:06 +00:00 |
Arvid Norberg
|
c0ed1fa13a
|
fixed default value for paused
|
2007-08-22 05:37:49 +00:00 |
Arvid Norberg
|
744d96796b
|
made it possible to start torrents in paused state. updated documentation
|
2007-08-22 05:31:42 +00:00 |
Arvid Norberg
|
4da3366a27
|
added invariant checks to session_impl
|
2007-08-21 18:33:28 +00:00 |
Arvid Norberg
|
23a20a24c1
|
added more asserts for choke/unchoke states and a peer_info flag to indicate a peer being optimistically unchoked
|
2007-08-21 17:45:28 +00:00 |
Arvid Norberg
|
a443225d49
|
added experimental assert with stacktrace for elf targets using gcc
|
2007-08-20 04:58:56 +00:00 |
Arvid Norberg
|
c70223ff38
|
added url seed related functions to torrent_handle
|
2007-08-17 16:40:55 +00:00 |
Arvid Norberg
|
3d3df51d45
|
fixed per torrent unchoke limit
|
2007-08-17 07:37:08 +00:00 |
Arvid Norberg
|
477e5c33f5
|
fixed makefiles to work with latest source
|
2007-08-17 00:20:13 +00:00 |
Arvid Norberg
|
d00ce3b28b
|
optimized policy and removed #warning
|
2007-08-16 23:53:14 +00:00 |
Arvid Norberg
|
f8979ff932
|
applied patch from #97
|
2007-08-16 19:41:28 +00:00 |
Arvid Norberg
|
4ac1ac8a1f
|
removed allocate_resources. switched to a global unchoker and connection distribution
|
2007-08-16 12:41:46 +00:00 |
Arvid Norberg
|
b62bb7944f
|
merged fast-extension => trunk. the fast extension branch is now closed
|
2007-08-14 17:47:48 +00:00 |
Arvid Norberg
|
e802a74ecb
|
deprecated fix for gcc (requires 4.0+)
|
2007-08-11 15:12:21 +00:00 |
Arvid Norberg
|
6e78b6b824
|
optimization to only update peer interests in case a piece was filtered/unfiltered during a priority call
|
2007-08-10 21:13:35 +00:00 |
Arvid Norberg
|
a234de50e3
|
added deprecation messages to gcc
|
2007-08-10 16:57:53 +00:00 |