Arvid Norberg
723aba6c24
solved issue with pausing checking torrents. Introduced a new state, checkin_resume_data, which a torrent is in while waiting for the disk io thread to verify the resume data, but before it has been determined wheter it should be queued for checking or not
2008-11-19 00:46:48 +00:00
Arvid Norberg
78abf8a340
made recent change where the TCP/IP overhead is take into account when rate limiting, optional
2008-11-18 11:14:44 +00:00
Arvid Norberg
a41cf27e32
define NAME_MAX on windows
2008-11-17 18:27:32 +00:00
Arvid Norberg
f503bbfe86
fix for when aborting torrents that are being checked. Fix in client_test when removing torrents that are checking.
2008-11-17 01:19:46 +00:00
Arvid Norberg
a48ffe36e0
improved natpmp logging and handling of mapped ports in session
2008-11-16 02:11:04 +00:00
Arvid Norberg
e9a33e6a05
added option to set alert mask when constructing session
2008-11-16 02:09:53 +00:00
Arvid Norberg
c3bbf138a4
estimate TCP/IP overhead more accurately
2008-11-14 20:51:49 +00:00
Arvid Norberg
bbc94a1231
dllexport new utf conversion functions
2008-11-14 05:25:01 +00:00
Arvid Norberg
03398e94b0
replaced utf8 conversion with code from unicode.org
2008-11-13 06:39:08 +00:00
Arvid Norberg
1b10a3b15f
DHT instrumentation changes
2008-11-12 03:56:56 +00:00
Arvid Norberg
beb9dbfc03
cleaned up DHT error handling and logging. Made it use lazy_bdecode for improved performance
2008-11-11 17:51:02 +00:00
Arvid Norberg
473f75e98a
DHT fix where the node_id would get set after it was started and be inconsitent with rpc_manager and routing_table
2008-11-11 08:33:34 +00:00
Arvid Norberg
4abd27b40e
initialize torrent object in libtorrent thread instead of in calling thread
2008-11-10 02:33:39 +00:00
Arvid Norberg
18d269dd62
DHT optimizations
2008-11-10 02:08:42 +00:00
Arvid Norberg
ce544e2300
DHT rate limiter fixes
2008-11-09 00:37:03 +00:00
Arvid Norberg
3ed38059aa
rate_limited_udp_socket fixes
2008-11-08 21:44:24 +00:00
Arvid Norberg
9bba20cdb4
first pass at rate limited udp socket (for DHT)
2008-11-08 17:40:06 +00:00
Arvid Norberg
4e9124019b
added accessor to query for the max number of connections
2008-11-08 07:40:55 +00:00
Arvid Norberg
3412c0f709
added option to set peers in a state where it doesn't download
2008-11-06 08:34:56 +00:00
Arvid Norberg
4dacfcbaaf
change the default UPnP settings to map anything that's found on the local network
2008-11-02 20:42:48 +00:00
Arvid Norberg
f2c9e02994
fixed deadlock in dht code
2008-11-02 10:01:04 +00:00
Arvid Norberg
4dada930ac
made torrents not wanting more peers whene they're shutting down. Closes out all connections in the connection queue explicitly when session is shutting down
2008-10-30 17:13:10 +00:00
Arvid Norberg
7fd2fd4732
added performance warnings for when the IP overhead eats up the entire up- or download rate limit
2008-10-28 06:45:42 +00:00
Arvid Norberg
7d83bfb6b3
fixed pedantic warnings
2008-10-26 22:12:12 +00:00
Arvid Norberg
c18825c8db
fixed missing includes in header
2008-10-26 21:16:46 +00:00
Arvid Norberg
971f437b41
added num_pieces to peer_info. Fixes #385
2008-10-24 00:15:39 +00:00
Arvid Norberg
dc6564fa11
applies ip filter to trackers as well
2008-10-22 19:40:32 +00:00
Arvid Norberg
0ed75c3f64
made nat-pmp generate alerts as well, just like upnp
2008-10-22 07:06:58 +00:00
Arvid Norberg
49c01d7754
moved UPNP_LOGGING out of upnp.cpp and added alerts for when upnp logs something
2008-10-22 01:12:14 +00:00
Arvid Norberg
2fbfca60fb
#ifdef out parts of variant_stream that requires exceptions, when exceptions are turned off
2008-10-21 08:50:01 +00:00
Arvid Norberg
41d5abf0d8
exception related fixes. Avoiding functions that may throw in places where exceptions shouldn't be thrown
2008-10-21 08:45:42 +00:00
Arvid Norberg
535f668c5d
simplified the file interface
2008-10-19 05:03:17 +00:00
Arvid Norberg
f04e9e9875
made unchoke interval depend on piece size
2008-10-18 22:35:10 +00:00
Arvid Norberg
9bcd5be3fc
replaced boost.lexical_cast with stringstream in alert message formaters to avoid throwing exceptions
2008-10-18 17:22:31 +00:00
Arvid Norberg
3d75732145
changed variant_stream to return a pointer instead of a reference when querying for underlying type (avoids exceptions)
2008-10-18 07:12:04 +00:00
Arvid Norberg
5989c8a527
fixed typo in makefile
2008-10-17 17:18:33 +00:00
Arvid Norberg
fffb51a727
updated get_asio script to download asio-1.2.0 and updated makefile to include the new asio headers
2008-10-17 17:05:25 +00:00
Arvid Norberg
81636a894d
updated makefile to include all asio headers
2008-10-17 01:00:27 +00:00
Arvid Norberg
16d56eaee6
clears torrent stats when paused
2008-10-15 17:31:20 +00:00
Arvid Norberg
9a5e261c64
Fixed UPnP bug where the port and host would be re-used from the xml url when connecting to the control url
2008-10-14 07:19:46 +00:00
Arvid Norberg
399c4d6ac4
mutex fix for dht status reporting
2008-10-09 03:32:57 +00:00
Arvid Norberg
b355541a7d
applied patch from Sergei Vorobyov to allow changing the limit on outstanding alerts
2008-10-07 05:46:42 +00:00
Arvid Norberg
3144767632
fixed buffer overrun when calling get_download_queue
2008-10-05 07:23:46 +00:00
Arvid Norberg
d4c206841b
added support for bitcomet padding files. simplified storage read/write code.
2008-10-03 05:49:41 +00:00
Arvid Norberg
1092c558e4
counts newly started torrents as active up to 2 minutes, to give them a chance to start downloading. Active torrents are not considered slow in the auto manager.
2008-10-01 05:25:18 +00:00
Arvid Norberg
ef42e8f77c
fixed rename_file to work when the file hasn't been created yet. Fixed error reporting when rename_file fails. Updates the file in the torrent_handle when filename is updated
2008-09-30 23:37:42 +00:00
Arvid Norberg
47c476dc0a
include TCP handshake overhead
2008-09-26 06:10:21 +00:00
Andrew Resch
4189e0b697
add peer_info::progress
2008-09-25 20:39:06 +00:00
Arvid Norberg
6d97d562f9
added another constructor to create_torrent that copies a torrent_info.
2008-09-24 17:05:12 +00:00
Arvid Norberg
1f1b3b560e
fixed typo in torrent_info.hpp
2008-09-24 02:37:04 +00:00
Arvid Norberg
519fdfdb36
portability fix for udp_socket
2008-09-24 02:35:03 +00:00
Arvid Norberg
80e9e8d1cf
changed torrent::set_metadata() to reduce code duplication in metadata extensions. Exposed torrent_handle::set_metadata() to the public interface
2008-09-24 02:32:33 +00:00
Arvid Norberg
ba8163ca9c
fixed bug in udp_socket when the sockets own lifetime was dependent on the callback
2008-09-22 23:43:21 +00:00
Arvid Norberg
1ac3b8298c
report tracker bandwidth usage and include it in rate limiter
2008-09-22 00:15:05 +00:00
Arvid Norberg
48dad0e2ac
fixed indentation
2008-09-21 23:25:09 +00:00
Arvid Norberg
ea578a6acf
adds ut_pex, ut_metadata and smart_ban by default in session constructor. Also starts upnp and nat-pmp by default. Fixes #399
2008-09-21 23:19:58 +00:00
Arvid Norberg
13b343c1af
added assertions that the stats is updated properly when receiving and sending bytes on peer_connections
2008-09-21 17:12:26 +00:00
Arvid Norberg
8ffc345308
fixed crash when add_torrent was fed with invalid resume data
2008-09-21 02:08:04 +00:00
Arvid Norberg
0338510b9b
added more bandwidth monitoring of DHT and TCP/IP overhead. added monitoring of the running DHT lookups
2008-09-20 17:42:25 +00:00
Arvid Norberg
67f1242836
added mutex to udp_socket and posts the callback instead of calling it directly
2008-09-19 17:31:16 +00:00
Arvid Norberg
a62ce3bc1a
made routing table support safe iterators on gcc
2008-09-16 17:21:24 +00:00
Arvid Norberg
166f761df3
fixed DHT bug where requests that timed out would be treated as transaction_id overflows and would slow down DHT lookups considerably.
2008-09-15 05:05:26 +00:00
Arvid Norberg
3077fdcb6a
fix crash when tracker connections fails in the constructor (used to be the case for scrape when there were no url transform from announce to scrape)
2008-09-07 10:03:59 +00:00
Arvid Norberg
fddd1ee8e2
fixed assert when connecting to upload-only peers
2008-09-07 01:01:25 +00:00
Arvid Norberg
41808f8742
big change to improve piece picker. Better end-game mode. More options on which pieces to pick.
2008-09-06 21:04:57 +00:00
Arvid Norberg
7f143791d5
added get_storage_impl() to torrent_handle
2008-09-04 16:20:19 +00:00
Arvid Norberg
c88071ae10
fixed race when adding router nodes to the dht (router nodes should be added before it's started)
2008-09-02 06:37:40 +00:00
Arvid Norberg
92ed7fb364
fixed metadata extension issues
2008-08-29 17:21:56 +00:00
Arvid Norberg
5486e17b15
fixed bug in bitfield and updated test
2008-08-29 12:19:21 +00:00
Arvid Norberg
9b38724417
made dump torrent create magnet links
2008-08-27 18:44:35 +00:00
Arvid Norberg
e9045cc1df
fixes bug where priorities where lost when force-rechecking.
2008-08-25 22:32:50 +00:00
Arvid Norberg
d2e5f3919d
changed alert messages to use asio to string conversion for endpoint (fixes missing [] on IPv6 addresses)
2008-08-25 21:21:38 +00:00
Arvid Norberg
dd318fb9a3
fixed warnings in bencode
2008-08-21 11:40:49 +00:00
Arvid Norberg
e58485822b
optimized encryption
2008-08-20 23:05:12 +00:00
Arvid Norberg
37389e4fe4
added test to measure peak download rate and introduced performance warning alert when disk buffer limit and request limit are reached
2008-08-19 15:04:14 +00:00
Arvid Norberg
29bf61d364
fixed state changed alert since 'connecting' was removed
2008-08-18 18:04:04 +00:00
Arvid Norberg
9bae670ac7
fix build with boost-1.36
2008-08-16 21:11:27 +00:00
Arvid Norberg
015ab223c9
added asserts for timers
2008-08-16 21:07:45 +00:00
Arvid Norberg
7d47ed54eb
removed connecting_to_tracker state
2008-08-03 15:32:15 +00:00
Arvid Norberg
cbf8e6f3b1
introduced TORRENT_NO_DEPRECATE, to disable deprecated functions. Made example not use deprecated functions. Documented magnet uri related functions.
2008-08-03 15:14:08 +00:00
Arvid Norberg
18b14e56df
made the minimum announce interval configurable
2008-08-01 22:34:37 +00:00
Arvid Norberg
854f029fc1
fixed warning on gcc 4.3
2008-07-30 06:41:05 +00:00
Arvid Norberg
4aee6df9d4
fixed create_torrent
2008-07-22 13:01:22 +00:00
Arvid Norberg
b22082b77b
add set_priv and priv to create_torrent
2008-07-21 17:04:31 +00:00
Arvid Norberg
df27541904
only use wpath on windows
2008-07-20 16:13:52 +00:00
Arvid Norberg
c605c8021f
added file priority functions
2008-07-20 16:00:08 +00:00
Arvid Norberg
417855848f
merged file_win.cpp and file.cpp (removed the need for file_win.cpp). The file is no longer a pimpl
2008-07-20 11:14:54 +00:00
Arvid Norberg
0433a32857
fixed msvc warning
2008-07-20 10:35:51 +00:00
Arvid Norberg
7607034ab6
exposed upload_only in peer_info
2008-07-19 07:57:43 +00:00
Arvid Norberg
21dff61cb5
clears read cache when paused. Saves memory
2008-07-18 15:31:22 +00:00
Arvid Norberg
3b35b2c2e3
added dict_find_string to lazy_entry
2008-07-18 13:48:09 +00:00
Arvid Norberg
2ab80ddc3a
moved the error_category to error_code.cpp and added the new files (error_code.{hpp|.cpp}) to the Jamfile and makefiles
2008-07-18 10:22:16 +00:00
Arvid Norberg
429a118dd2
keep track of interest more tightly. better support for upload_only
2008-07-18 10:03:42 +00:00
Andrew Resch
755567a7a0
Fix building with msvc
2008-07-17 23:56:58 +00:00
Arvid Norberg
3cb1369385
improved error reporting of file errors (uses boost.system's error_code). Now permission errors are properly reported when checking files
2008-07-17 23:41:46 +00:00
Arvid Norberg
72b99059e7
optimized policy::peer
2008-07-14 11:15:35 +00:00
Arvid Norberg
7541d9d246
don't allow force_tracker_request when paused
2008-07-12 18:45:58 +00:00
Arvid Norberg
ff6cbbc6b6
added torrent_handle::clear_error() to retry a torrent that is in an error state (torrent_status::error is set)
2008-07-12 17:00:52 +00:00
Arvid Norberg
9bf25d1006
changed the definition of file_progress and deprecated the old function. Python bindings only exposes the new one
2008-07-12 13:38:22 +00:00
Arvid Norberg
e49c015c92
fixed torrent alert assert
2008-07-12 11:04:23 +00:00
Arvid Norberg
c5af2c2eaf
moved tracker announces into a timer instead of polling every second. Added state to properly send complete, started and stopped events
2008-07-12 08:25:19 +00:00
Arvid Norberg
486fb1082d
reports event in tracker_announce_alert
2008-07-11 12:00:29 +00:00
Arvid Norberg
9c9c13c7bb
exposed read cache info as well as write cache
2008-07-11 10:29:26 +00:00
Arvid Norberg
589e098002
fixed parole mode with timeouts and made it optional
2008-07-11 09:23:22 +00:00
Arvid Norberg
de8f676b98
increase timeouts
2008-07-11 09:02:05 +00:00
Arvid Norberg
96ca475652
added redundant and failed byte counters to session
2008-07-11 07:30:04 +00:00
Arvid Norberg
680dab5a67
make 'snubbed' more sticky by only giving one request_timeout back when a new block is being received
2008-07-10 19:31:22 +00:00
Arvid Norberg
1bdb6afebd
fixes to previous connection timeout check-in
2008-07-10 10:58:30 +00:00
Arvid Norberg
d06f125513
improved accuracy of the file progress report to include completed blocks from incomplete pieces (but not partial blocks)
2008-07-09 10:45:07 +00:00
Arvid Norberg
55a944c014
added a unwanted_block_alert
2008-07-08 18:41:04 +00:00
Arvid Norberg
5c749bcb3c
added base class for peer_alerts and turned more alerts into peer_alerts with more information about the peer that generated it
2008-07-08 09:30:10 +00:00
Arvid Norberg
a20f1a8fa0
keeps track of the number of requests waiting in the send buffer and adjusts bandwidht priority accordingly in the bandwidth limiter
2008-07-08 00:03:08 +00:00
Arvid Norberg
f7042ca84a
improved piece timeout and peer snubbing logic
2008-07-07 12:04:06 +00:00
Arvid Norberg
e576babbb8
changed the alerts to have categories and to be filtered with a bitmask instead of having a severity and be filtered by a severity level.
2008-07-06 12:22:56 +00:00
Arvid Norberg
dab1b22982
made get_asio.sh script check out asio directly into the libtorrent directory. Certain tools cannot handle the symbolic links properly, such as vmware folder sharing
2008-07-05 17:41:54 +00:00
Arvid Norberg
ecb538b4b2
added alert for torrent state changes. Fixes #360
2008-07-03 10:05:51 +00:00
Arvid Norberg
66a7f98d84
fixed missing torrent error state
2008-07-02 21:27:16 +00:00
Arvid Norberg
af0ebb519c
added copyright notices in files missing them
2008-07-01 18:59:13 +00:00
Arvid Norberg
40d7e2ce75
moved load_file into torrent_info.cpp to make it available on windows too. Fixed the exception free path in torrent_info
2008-07-01 11:00:00 +00:00
Arvid Norberg
10f5418ce7
switched extension handshake parsing over to use lazy_bdecode for improved performance
2008-07-01 08:04:12 +00:00
Arvid Norberg
9c84908bb9
switched resume data parsing over to use lazy_bdecode. Improves memory allocation performance, especially noticable when heap allocations are expensive. Makes it more practical to run with malloc debug. Changed resume data interface to take a vector as opposed to a parsed structure
2008-06-30 23:14:31 +00:00
Arvid Norberg
d396ab7b17
added pause and resume to the session. Fixes #349
2008-06-29 19:08:30 +00:00
Arvid Norberg
2ac5c13e6f
introduced a stricter timeout on piece requests and snubbing. exposed some more data about this through the peer_info. Fixes #40
2008-06-29 09:50:42 +00:00
Arvid Norberg
d1b2cd558e
moved peer time out logic to second tick
2008-06-29 05:35:48 +00:00
Arvid Norberg
b27b2b6e71
fixed typo
2008-06-28 17:58:15 +00:00
roman_rybalko
914dcac3d2
trunk:
...
moved to asio-1-0-0 from asio-head (get_asio & makefile fix)
tests moved to "check" target
2008-06-28 10:38:12 +00:00
Arvid Norberg
d132dd45e3
removed exceptions from pe_crypto and improved error handling
2008-06-28 10:10:05 +00:00
cg25
ff3e80c42f
Removed svn:executable property from {c,h}pp files in branches/RC_0_13 and
...
trunk.
2008-06-25 14:15:21 +00:00
Arvid Norberg
4d380c57d7
made bdecode not throw
2008-06-23 22:00:27 +00:00
Arvid Norberg
87660b96c5
renamed announce_piece to piece_passed and moved it to piece_finished and piece_failed
2008-06-23 18:54:58 +00:00
Arvid Norberg
c210b11b80
better fix for failing pieces
2008-06-23 14:45:01 +00:00
cg25
71c4f6f9b6
* improved --with-asio configure option behaviour;
...
* using -version-info flag instead of -revision one for the sake of correct
interface versioning;
* renaming library to libtorrent-rasterbar.so to avoind conflicting with other
libraries.
2008-06-23 00:09:12 +00:00
cg25
3ce23558b4
Added "--with-asio" option to configure script to be able to choose between
...
"system" and "shipped" asio when building against boost-1.34
2008-06-22 20:51:26 +00:00
Arvid Norberg
6db1b54304
simplified policy and optimized case when a piece fails hash check
2008-06-22 20:28:03 +00:00
Arvid Norberg
0f0ea269bc
added an active torrent limit
2008-06-21 12:31:28 +00:00
Arvid Norberg
d0e579826c
added an option to not count inactive torrents against the limits for auto managed torrents
2008-06-21 09:15:29 +00:00
Arvid Norberg
b183b2e593
made it possible to export the upnp state and insert it into a different upnp instance
2008-06-20 16:14:10 +00:00
Arvid Norberg
3095a5afcc
fixed makefiles to build with asio-1.0 and get_asio script to download asio-1.0 tag
2008-06-19 12:42:45 +00:00
Arvid Norberg
d2bde64e71
makes sure a torrent doesn't have too many pieces than can be handled. Fixes #61
2008-06-19 11:28:34 +00:00
Arvid Norberg
0241bf78ce
added is_sequential_download to torrent_handle
2008-06-17 08:30:04 +00:00
Arvid Norberg
6c24bd0774
moves force checked torrents to the end of the queue. Fixes #350
2008-06-16 22:27:14 +00:00
Arvid Norberg
3e000a3984
fixed save path updates when moving torrents. Fixes #310
2008-06-15 20:52:46 +00:00
roman_rybalko
5314b639e2
boost detection fixes: now able to launch with boost1.34 and boost1.35
2008-06-13 12:20:55 +00:00
Arvid Norberg
5923ef5b43
fixed file check ordering to respect the queue position. Fixes #350
2008-06-12 21:22:24 +00:00
Arvid Norberg
52f6204288
simplified the disk-io mutexes and made it more efficient. separated the disk io mutex into a buffer mutex, queue mutex and the piece cache mutex.
2008-06-12 04:40:37 +00:00
Arvid Norberg
6e69480176
disk_io_thread fixes. Properly destructs torrent objects while disk io mutex is not locked. Properly flushes disk cache when closing, and aborting read and file check jobs. Fixes #334
2008-06-09 04:46:34 +00:00
Andrew Resch
3ea075f169
Add torrent_resumed alert
2008-06-08 05:14:40 +00:00
Arvid Norberg
a1857f9699
added force_recheck to torrent_handle. Fixes #120
2008-06-07 16:24:56 +00:00
Arvid Norberg
9f5fa96cad
fixed bug related to m_have_piece optimization. Renamed num_pieces() to num_have() to avoid confusion
2008-06-07 14:03:21 +00:00
Arvid Norberg
9d1e77dc88
optimized away torrent::m_have_pieces ( #62 ) and added some documentation on bitfield. The piece picker is now constructed with the torrent, but still freed when turned into a seed
2008-06-07 02:58:28 +00:00