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
Arvid Norberg
832c0c8b63
improved auto-unchoke mechanism
2008-01-15 08:37:48 +00:00
Arvid Norberg
97511f2819
removed stray space
2008-01-14 17:25:08 +00:00
Arvid Norberg
b19bf337bf
generalized peer read/write state
2008-01-13 23:46:43 +00:00
Arvid Norberg
5d196ed555
auto upload slots. opens up more slots if upload rate is not met. On by default
2008-01-13 11:18:18 +00:00
Arvid Norberg
795bee4b2c
added option to disable invariant checks and added more build documentation
2008-01-13 06:17:56 +00:00
Arvid Norberg
9304bd747c
added graphing script for bandwidth manager log
2008-01-13 05:14:49 +00:00
Arvid Norberg
56210c1687
added asserts to make sure the pool allocator for dht messages allocates blocks of correct size
2008-01-13 04:24:10 +00:00
Arvid Norberg
7cea96ea88
added TORRENT_VERBOSE_BANDWIDTH_LIMIT build option to generate a bandwidth manager log
2008-01-12 18:47:26 +00:00
Arvid Norberg
7f56486cf0
separated http_parser to its own file
2008-01-12 09:36:03 +00:00
Arvid Norberg
81302c8fed
fixed http_connection redirection support and added test (still requires lighttp)
2008-01-12 01:41:56 +00:00
Arvid Norberg
f36e6a6c4f
proper default gateway discovery
2008-01-11 09:38:05 +00:00
Arvid Norberg
72edfc2ee7
improved network interface enumeration and upnp device filtering
2008-01-11 06:49:37 +00:00
Arvid Norberg
3a727e99ff
expose more info through peer_info
2008-01-10 22:13:23 +00:00
Arvid Norberg
9fca960d3c
bandwidth limiter mutex fix
2008-01-10 06:19:20 +00:00
Arvid Norberg
c047c4dd71
broadcast socket header file update
2008-01-09 18:51:54 +00:00
Arvid Norberg
695cd6407b
remove use of strand
2008-01-08 05:47:43 +00:00
Arvid Norberg
4420473b88
made send buffer watermark configurable
2008-01-08 01:16:30 +00:00
Arvid Norberg
e05f396a5d
made UPnP ignore devices that don't respond from a router IP (optional but on by default)
2008-01-07 05:48:28 +00:00
Arvid Norberg
1d6e0f5bf6
bandwidth request block size optimization
2008-01-07 04:47:20 +00:00
Arvid Norberg
e5d1456c58
added a failcounter to upnp portmaps
2008-01-07 02:35:29 +00:00
Arvid Norberg
cf4036310b
changed the way connections are disconnected. improved logging. Does not depend on exceptions anymore
2008-01-07 01:10:46 +00:00
Arvid Norberg
0ed722036f
fixed assert
2008-01-05 00:54:30 +00:00
Arvid Norberg
a49cb42345
fixed race condition in bandwidth limiter
2008-01-03 18:53:07 +00:00
Arvid Norberg
29ccb9220b
broadcast socket fix
2008-01-03 10:58:16 +00:00
Arvid Norberg
4e559e8dfe
change to entry to support building client in debug mode and libtorrent in release mode
2008-01-03 03:10:25 +00:00
Arvid Norberg
53de59b286
removed packet_iterator from Makefile.am
2008-01-02 03:43:49 +00:00
Arvid Norberg
fcd2408f11
fast extension fix, added some logging for fast extension messages, improved test to catch the problem
2008-01-02 03:18:29 +00:00
Arvid Norberg
91e01442e8
added bandwidth_limit.hpp and bandwidth_queue_entry.hpp to makefiles
2008-01-01 21:15:23 +00:00
Arvid Norberg
ddf16fb3bb
separated bandwidth_manager into bandwidht_limit and bandwidth_queue_entry and fixed problems related to #225
2007-12-31 09:41:50 +00:00
Arvid Norberg
07d1fe84c3
made udp and http tracker connections build without exception support
2007-12-30 01:57:57 +00:00
Arvid Norberg
6c42830f97
made http_parser not use exceptions
2007-12-29 18:24:50 +00:00
Arvid Norberg
599ed646f0
made natpmp build without exception support
2007-12-29 07:26:36 +00:00
Arvid Norberg
a279e8c9ec
made bandwidth_manager build without exceptions
2007-12-29 05:43:19 +00:00
Arvid Norberg
8b76457b80
support in broadcast_socket to be built without exception support
2007-12-29 05:14:33 +00:00
Arvid Norberg
07b4024024
made debug.hpp build without exception support
2007-12-29 02:03:13 +00:00
Arvid Norberg
eb8ea0f461
made torrent_info not rely on exception support
2007-12-28 20:11:10 +00:00
Arvid Norberg
501611173e
removed unused header 'packet_iterator.hpp'
2007-12-28 19:46:08 +00:00
Arvid Norberg
e88bcaea90
made http_stream and proxy_base support builds with exceptions disabled
2007-12-28 19:26:26 +00:00
Arvid Norberg
e6e5b43219
added asserts that the type of a bencoded entry is not assumed when built with no exceptions
2007-12-28 19:07:28 +00:00
Arvid Norberg
cfe5c8962e
more asserts around send buffers and fixes potential race condition
2007-12-27 21:43:11 +00:00
Arvid Norberg
8a47c849ce
fix in the smart_ban to not use invalid pointers
2007-12-27 20:57:58 +00:00
Arvid Norberg
b2a49d2db9
put back #include <cassert>
2007-12-27 10:50:12 +00:00
Arvid Norberg
904d9bb50b
demangles symbols in assert tracebacks
2007-12-27 06:15:52 +00:00
Arvid Norberg
86de8b8bf6
turned assert into TORRENT_ASSERT
2007-12-27 03:43:02 +00:00
Arvid Norberg
81cf247cda
attempt to fix #212 . Store 4 bytes and 16 bytes arrays instead of in_addr in ip-filter
2007-12-24 21:49:46 +00:00
Arvid Norberg
d5748419c1
fixed upnp bug when connecting without network
2007-12-24 08:18:53 +00:00
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