Arvid Norberg
09b3a865ef
fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define
2008-11-29 21:33:21 +00:00
Arvid Norberg
d1a2b774e6
changed how trackers are handled. Implements #297 by setting session_settings::announce_to_all_trackers to true
2008-11-29 08:38:40 +00:00
Arvid Norberg
acbdbfc1ef
added tracker exchange (tex) extension
2008-11-27 20:51:59 +00:00
Arvid Norberg
3fd5405fa9
torrent_handle::add_tracker()
2008-11-26 01:42:14 +00:00
Arvid Norberg
157603b597
first pass at a link compatibility check
2008-11-23 15:44:11 +00:00
Arvid Norberg
357d548bb5
fixed boost.filesystem usage to not rely on deprecated functions
2008-11-21 23:38:07 +00:00
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
Arvid Norberg
bcc24bf831
added has_incoming to torrent_status per #315
2008-06-05 18:19:03 +00:00
Arvid Norberg
4709d202e1
fixed unicode issue in storage
2008-06-04 07:57:07 +00:00
Arvid Norberg
b4c160e723
fixed bug in web_peer_connection where an incorrect number of bytes would be reported as downloaded
2008-06-03 15:17:09 +00:00
Arvid Norberg
c883f4475c
saves statistics from the last second from peer connections that are disconnected. Partly fixes #339
2008-06-03 05:21:00 +00:00
Arvid Norberg
31c9d378f5
completed queuing. It is now possible to change and query queue position of torrents.
2008-05-29 03:37:19 +00:00
Arvid Norberg
fd98434c97
peer list optimization and introduced hard limit on peer list size
2008-05-28 18:25:48 +00:00
Arvid Norberg
3910fe78de
separated file_storage from torrent_info and create_torrent
2008-05-28 08:44:40 +00:00
Arvid Norberg
cf37d8544d
fixed boost version check. Fixes #337
2008-05-28 07:52:25 +00:00
Arvid Norberg
68c31e48dc
replaced vector<bool> with a custom bitfield type
2008-05-28 02:35:02 +00:00
Arvid Norberg
01cb206afc
added missing include file to makefile
2008-05-21 05:54:12 +00:00
Arvid Norberg
dbb625a910
torrent_info fixes. make_torrent now builds
2008-05-20 09:49:40 +00:00
Arvid Norberg
31ab7f9773
boost 1.35 related fixes
2008-05-20 09:45:55 +00:00
Arvid Norberg
67354421fb
introduced an error state for torrents. Torrents with an error are not restarted automatically
2008-05-20 07:57:44 +00:00
Andrew Resch
aed8f355b0
Make libtorrent build with boost <1.35
2008-05-20 06:03:46 +00:00
Arvid Norberg
5840a50d79
fixed stale state when switching from finished to downloading
2008-05-20 03:21:45 +00:00
Arvid Norberg
07f070868d
factored out to_hex into the escape_string header file
2008-05-19 07:36:04 +00:00
Arvid Norberg
8613554c2a
entry and scrape bug fix
2008-05-19 07:15:44 +00:00
Arvid Norberg
777954ab3e
automatically scrape auto managed torrents to keep track of downloader/seed ratio
2008-05-19 04:06:25 +00:00
Arvid Norberg
c460704a5f
streamlined class footprint by reducing padding
2008-05-19 02:52:32 +00:00
Arvid Norberg
c5d61667b3
http_connection now supports connecting to all IPs a hostname resolves to, as fallbacks
2008-05-18 22:14:55 +00:00
Arvid Norberg
111f5faecb
upload only extension
2008-05-18 05:59:47 +00:00
Arvid Norberg
b952d85734
fixed error handling and added support for relative http redirects (which aren't allowed by the standard)
2008-05-18 04:48:06 +00:00
Arvid Norberg
7f639e57de
improved error handling with regards to parse_url_components. For trunk, moved that function to its own file
2008-05-17 14:19:34 +00:00
Arvid Norberg
5ec7da07e6
fixes #332
2008-05-17 00:27:26 +00:00
Arvid Norberg
6ab19756a3
lazy_entry fix
2008-05-15 08:23:32 +00:00
Arvid Norberg
0ed87e4c59
updated python binding to match the recently changed torrent_info. reintroduced add_node
2008-05-15 07:37:34 +00:00
Arvid Norberg
1b209ba29c
fixed typo
2008-05-15 07:18:31 +00:00
Arvid Norberg
8ed949c4d5
factored out torrent creation functionality from torrent_info into create_torrent. Modified torrent_info to use lazy_bdecoder for increased performance
2008-05-14 05:29:42 +00:00
Arvid Norberg
a954240aa9
added swap to lazy entry
2008-05-14 05:16:40 +00:00
Arvid Norberg
0de312c80c
ignores UPnP routers that are not configured as routers on the local machine
2008-05-13 04:59:56 +00:00
Arvid Norberg
f259e34f86
peer_connection fix for incoming connections
2008-05-12 10:10:39 +00:00
Arvid Norberg
aa8aee6109
updated IP overhead calculation
2008-05-12 08:22:56 +00:00
Arvid Norberg
574211055c
GeoIP fixes
2008-05-12 07:14:03 +00:00
Arvid Norberg
149fa28586
added constructor to torrent_info that loads a file directly
2008-05-12 06:35:24 +00:00
Arvid Norberg
abb174218b
updated disconnect logic (also in [2279]). Introduced new peer_disconnect_alert used for normal disconnects and peer_error_alert is now used for protocol level errors
2008-05-12 06:05:13 +00:00
Arvid Norberg
f2ac4db1af
changed the optimistic disconnect logic to be more efficient and configurable
2008-05-12 05:17:11 +00:00
Arvid Norberg
eabe9cad2d
improved plugin support
2008-05-12 03:05:27 +00:00
Arvid Norberg
aa626f1422
logs node uptime and parses it for the DHT
2008-05-10 05:51:58 +00:00
Arvid Norberg
318a455f68
fix missing include
2008-05-08 22:07:13 +00:00
Arvid Norberg
bbf9c83edc
initial support for icmp errors in the DHT
2008-05-08 00:22:17 +00:00
Arvid Norberg
9429ca4b1f
replaced seed cycles with seed rank
2008-05-06 18:03:41 +00:00
Arvid Norberg
4df46a6e5e
switched from floats to integers in stat_channel history, to avoid rounding errors
2008-05-06 16:35:15 +00:00
Arvid Norberg
f7ef315438
takes IP and TCP headers into account for rate limits as well
2008-05-06 16:15:31 +00:00
Arvid Norberg
e09457e4ab
take an estimate of the IP ACK traffic into account when rate limiting (allows setting rate limits closer to the capacity)
2008-05-05 17:08:14 +00:00
Arvid Norberg
d15573ecc2
disk receive buffer cleanup
2008-05-05 06:25:22 +00:00
Arvid Norberg
7388144ec7
refactored stats class to be extensible with more channels
2008-05-04 17:57:06 +00:00
Arvid Norberg
010d3b6e75
windows fix
2008-05-04 16:10:13 +00:00
Arvid Norberg
c7e6c04705
switched over to asio from boost-1.35
2008-05-03 16:05:42 +00:00
Arvid Norberg
f3d0eb3c11
fixed boost-1.35 build
2008-05-01 16:31:19 +00:00
Arvid Norberg
c3b60f1b8f
modified get_default_gateway to not take an interface
2008-04-28 02:20:40 +00:00
Arvid Norberg
c2f7fb0fb4
added enum_routes to dump routing table
2008-04-28 00:20:59 +00:00
Arvid Norberg
b983b98f6a
fix for mingw
2008-04-27 23:21:04 +00:00
Arvid Norberg
0d818da41a
bumped version number
2008-04-24 20:41:44 +00:00
Arvid Norberg
00b935150a
fix for debug iterators
2008-04-24 17:09:26 +00:00
Arvid Norberg
4d59d9eabc
fix build with DHT disabled
2008-04-24 16:57:22 +00:00
Arvid Norberg
228e225489
scans at most 300 peers when finding a connect candidate. Supposedly fixes cpu spikes on large swarms
2008-04-24 07:49:23 +00:00
Arvid Norberg
c043d4b21d
initial support for queuing
2008-04-24 03:28:48 +00:00
Arvid Norberg
fc7dd2c5eb
tracker logger fix
2008-04-24 01:35:48 +00:00
Arvid Norberg
7a432786e7
added url to tracker alerts. introduced a base class for all tracker alerts
2008-04-23 01:54:21 +00:00
Arvid Norberg
4f132ec568
added GeoIP sources to make files
2008-04-22 00:59:56 +00:00
Arvid Norberg
9a434a919f
some more ASNum additions
2008-04-22 00:05:23 +00:00
Arvid Norberg
39eaf766fa
lazy_bdecode fixes
2008-04-20 03:18:49 +00:00
Arvid Norberg
72176a9256
lazy bdecoder additions and fixes
2008-04-19 03:00:07 +00:00
Arvid Norberg
755e50bb12
added active_time, seeding_time, all_time_upload and all_time_download to torrent_status. Also updated docs with some missing entries in torrent_status
2008-04-16 06:31:05 +00:00
Arvid Norberg
748a66c343
improvements to lazy_bdecode
2008-04-13 22:34:04 +00:00
Arvid Norberg
3fea2080fd
added an asynchronous save_resume_data to make it easier to synchronize with the disk IO thread
2008-04-13 18:54:36 +00:00
Arvid Norberg
6639f72804
if priorities are changed so that the torrent changes state to be finished, a torrent_finished_alert is generated now. Fixes #305
2008-04-13 07:39:37 +00:00
Arvid Norberg
17c4257cce
added get_full_peer_list to retrieve all the peers known for a swarm
2008-04-13 06:32:48 +00:00
Arvid Norberg
a3e7124614
added out stream operator to lazy_entry
2008-04-13 05:19:10 +00:00
Andrew Resch
ca872a0e82
Revert last.
2008-04-13 02:47:41 +00:00
Andrew Resch
d825c1d5bd
Add torrent_resumed torrent alert.
2008-04-13 02:34:18 +00:00
Andrew Resch
31bd3b1550
Expose torrent_handle::is_finished()
2008-04-13 02:15:56 +00:00
Arvid Norberg
d4cfa126aa
storage fixes
2008-04-12 22:08:07 +00:00
Arvid Norberg
a70789872e
added string length to high performance bdecoder
2008-04-12 01:58:55 +00:00
Arvid Norberg
42f55adcce
support for country lookup through GeoIP
2008-04-11 08:46:43 +00:00
Arvid Norberg
b300c7f835
added high performance bdecoder code
2008-04-11 03:41:09 +00:00
Arvid Norberg
093d912e9a
receive buffer optimization. added receive_buffer_size and used_receive_buffer to peer_info. changed plugin api to make use of new disk_buffer_holder type
2008-04-10 10:03:23 +00:00
Arvid Norberg
5f35d170b0
disk io thread cleanup (all read operations are now read into disk buffers, no custom buffers)
2008-04-10 09:11:54 +00:00
Arvid Norberg
291ef2a2c9
optimized torrent_handle to use a weak_ptr directly to the torrent object
2008-04-09 20:09:36 +00:00
Arvid Norberg
75ef4ec1f1
added option to not use pool allocators (useful when using memory debugging tools)
2008-04-09 05:19:11 +00:00
Arvid Norberg
642768bc24
storage cleanup
2008-04-09 01:11:16 +00:00
Arvid Norberg
96f6de9d10
added missing TORRENT_EXPORT statements (to fix shared library build)
2008-04-07 03:03:34 +00:00
Arvid Norberg
89a9a25197
exception fixes in torrent
2008-04-07 02:51:21 +00:00
Arvid Norberg
2fe729c9f5
removed dependencies on exceptions from policy
2008-04-07 01:29:21 +00:00
Arvid Norberg
d10205057e
port mapping update
2008-04-06 23:18:35 +00:00
Arvid Norberg
d8a5f6cd66
updated makefiles for asio 1.0
2008-04-06 20:17:08 +00:00
Arvid Norberg
2e6b9c2dce
revamped part of the port mapping code (UPnP and NAT-PMP). Added documentation for start_{lsd,natpmp,upnp} and stop_{lsd,natpmp,upnp}
2008-04-06 19:17:58 +00:00
Arvid Norberg
35fd9aec61
msvc build fixes and warning fixes
2008-04-05 21:18:27 +00:00
Arvid Norberg
7ebdc27779
fixed trailing backslash
2008-04-05 06:13:06 +00:00
Arvid Norberg
e9e12b5531
updated makefile to include the latest asio headers
2008-04-05 06:05:36 +00:00
Arvid Norberg
57d75e120a
initial support for GeoIP (only AS mappings for now)
2008-04-05 04:53:22 +00:00
Arvid Norberg
0fcb204128
added peak rates to peer_info
2008-04-03 06:11:21 +00:00
Arvid Norberg
cab106adad
removed incorrect assert in bandwidth manager
2008-04-03 04:31:31 +00:00
Arvid Norberg
4161be867e
removed dht ping from peer_from_tracker. in trunk: implemented a rate limited DHT ping (once a second per torrent) and space optimized the peer structure
2008-04-01 17:38:19 +00:00
Arvid Norberg
1511f2f59b
removed calls to self() from inside constructors in peer connections
2008-03-31 04:46:24 +00:00
Arvid Norberg
a9bb9023fb
fixed build with logging
2008-03-30 18:31:30 +00:00
Arvid Norberg
45a7329d5c
added alert for when the client's external IP is received
2008-03-29 22:45:55 +00:00
Arvid Norberg
ffecb32b81
made a bias to give connection attempts to downloading torrents with few peers. Should accelerate downloads on windows (where there's a half-open connection limit)
2008-03-29 19:39:24 +00:00
Arvid Norberg
2014e312b1
exposed connection_candidates in torrent_status and made a small optimization to not attempt to connect peers on swarms that don't have any connect candidates
2008-03-29 18:47:24 +00:00
Arvid Norberg
483da2483e
python binding update
2008-03-28 21:37:35 +00:00
Arvid Norberg
5cad17143d
updated udp_socket error handling
2008-03-25 04:46:18 +00:00
Arvid Norberg
1d8edc0722
fixed race condition in dht
2008-03-24 04:38:43 +00:00
Arvid Norberg
211ae62d33
fixes #295
2008-03-24 02:19:47 +00:00
Arvid Norberg
95310549b9
silence msvc warning
2008-03-21 09:04:24 +00:00
Arvid Norberg
70f822b4bd
silence msvc warning
2008-03-21 09:03:25 +00:00
Arvid Norberg
fece6e9300
fixed #289 in trunk, 0.12 and 0.13
2008-03-19 22:44:55 +00:00
Arvid Norberg
f3f90c1a0f
bandwidth limiter assertion fix
2008-03-16 18:09:56 +00:00
Arvid Norberg
537f21d1b9
connection rate improvement when using a half-open connections limit
2008-03-16 10:49:47 +00:00
Arvid Norberg
026e98222b
fixed warning
2008-03-16 05:01:07 +00:00
Arvid Norberg
8132c6aad6
added option to control TOS byte in peer traffic
2008-03-12 16:58:23 +00:00
Arvid Norberg
cd65fb8b0c
added priority to connection queue. trackers and upnp connections have higher priority than peers
2008-03-12 07:44:27 +00:00
Arvid Norberg
a97be6937a
unchoker counts bytes instead of rates
2008-03-10 03:30:01 +00:00
Arvid Norberg
f53cfa7eeb
removed checker thread
2008-03-08 06:06:31 +00:00
Arvid Norberg
e86bac9c50
updated makefiles to reflect recent asio changes
2008-03-04 06:27:04 +00:00
Arvid Norberg
9d3b60edb7
added support to bind outgoing connections to specific ports (might be useful to do traffic shaping)
2008-02-28 07:34:07 +00:00
Arvid Norberg
cf5c9344ab
made peer connection order depend on ones external IP or be random (if we don't know our external IP). Should fix #281
2008-02-28 03:09:34 +00:00
Arvid Norberg
c689c0b5fc
replaced deque with list in disk_io_thread
2008-02-26 20:08:33 +00:00
Arvid Norberg
83f405ac54
followups to windows fixes
2008-02-25 11:27:23 +00:00
Arvid Norberg
a25c25b02a
fixed windows build and removed msvc warnings
2008-02-25 10:28:53 +00:00
Arvid Norberg
c1c2fb4409
resume data unit test and fix
2008-02-25 05:07:29 +00:00
Arvid Norberg
9f44c577d7
updated file_win and file_pool error handling
2008-02-25 04:41:21 +00:00
Arvid Norberg
1d1398ed7f
read cache fix
2008-02-24 23:14:10 +00:00
Arvid Norberg
0e3eddf8e8
lower default connection speed in debug mode
2008-02-22 07:41:05 +00:00
Arvid Norberg
ef9ef674d5
added read cache. Not fully configurable yet
2008-02-22 04:11:04 +00:00
Arvid Norberg
333839c9b4
piece picker update
2008-02-18 03:07:14 +00:00
Arvid Norberg
799dd70c4e
factored out OS detection code and added kfreebsd support
2008-02-18 00:36:17 +00:00
Arvid Norberg
df74cbb78a
fixed logging=errors configuration
2008-02-17 22:51:03 +00:00
Arvid Norberg
7e83c3fc51
changed storage interface to not require exceptions
2008-02-14 03:48:20 +00:00
Arvid Norberg
af6c0a73c5
fixed dht asserts
2008-02-10 02:26:45 +00:00
Arvid Norberg
6c552db68e
added disk cache expiration
2008-02-10 00:58:25 +00:00
Arvid Norberg
cecd0dfcd2
added rtt estimation for outgoing connections
2008-02-09 22:42:56 +00:00
Arvid Norberg
ea7253c575
increased default cache size to 8 MB
2008-02-09 21:09:29 +00:00
Arvid Norberg
99eed299cd
asserts in dht
2008-02-09 21:04:24 +00:00
Arvid Norberg
8cf0510144
added disk cache for write operations
2008-02-08 10:22:05 +00:00
Arvid Norberg
a53473a65d
added new logging mode to log peer errors
2008-02-07 07:09:52 +00:00
Arvid Norberg
92f4947bbe
full proxy support for udp-trackers, and more reliable udp tracker code
2008-02-05 06:32:10 +00:00
Arvid Norberg
c798ab30e1
rewrote the piece picker to be more cpu and memory efficient. replaces the concept of sequential-download-threshold with just a sequential download settings
2008-01-31 17:52:29 +00:00
Arvid Norberg
3562c3e646
add bind address support to http_connection and replace http_tracker_connection's code with http_connection
2008-01-31 08:24:01 +00:00
Arvid Norberg
6caca17883
refactored gzip code and added gzip support to http_connection
2008-01-30 18:32:13 +00:00
Arvid Norberg
ebde862341
capped the allowed depth in bencoded messages, to avoid triggering stack overflows by malformed messages
2008-01-28 02:58:17 +00:00
Arvid Norberg
61bbc6e58f
initial https support for trackers and http_connection. Added support for proxies to http_connection
2008-01-27 22:39:50 +00:00
Arvid Norberg
5527a8e9b1
fixed build issue on msvc
2008-01-27 21:03:33 +00:00
Arvid Norberg
365b8c07c6
iterator fixes (to avoid triggering safe iterator asserts)
2008-01-19 18:12:02 +00:00
Arvid Norberg
127d3e6ad5
bandwidth limiter fixes. proper priority that cannot starve connections
2008-01-17 17:40:46 +00:00