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