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
|
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 |
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 |
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
|
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 |
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
|
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
|
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
|
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
|
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 |