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 |
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
|
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
|
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
|
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
|
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
|
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
|
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
|
0048f343cd
|
upnp, natpmp and lsd now have proper lifetime management by using intrusive_ptr
|
2007-09-29 21:31:51 +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
|
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
|
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 |
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 |
Arvid Norberg
|
0d6970168d
|
piece picker updates
|
2007-09-06 18:30:46 +00:00 |
Arvid Norberg
|
49dfc4d63d
|
fixed typo
|
2007-09-06 00:51:14 +00:00 |
Arvid Norberg
|
24b57d62c8
|
piece picker fixes and optimizations (requires more tests in unit tests)
|
2007-09-05 21:21:11 +00:00 |
Arvid Norberg
|
6d40519e66
|
added support for piece picker to pick multiple pieces (previously it could only pick one piece tops). Made the web_peer_connection always try to make 1 MB requests at a time. added tests to the piece_picker unit test
|
2007-09-03 21:16:24 +00:00 |
Arvid Norberg
|
61c269efee
|
added timeout for interested peers that don't request once they're unchoked. Added support for suggest_piece
|
2007-09-01 07:38:10 +00:00 |
Arvid Norberg
|
fd42f3232b
|
upnp more logging and error recovery
|
2007-09-01 04:08:39 +00:00 |
Arvid Norberg
|
c8088459a0
|
made torrent_info reference counted and held by a boost::intrusive_ptr
|
2007-09-01 03:00:31 +00:00 |
Arvid Norberg
|
4aa018484a
|
fixed unchoke counter problem
|
2007-08-27 16:30:56 +00:00 |
Arvid Norberg
|
79e0e06fa9
|
improved bandwidth_limiter test and fixed problem where limits could lead to starvation
|
2007-08-27 10:20:23 +00:00 |
Arvid Norberg
|
2b0197e810
|
initial fix to enable mapping files in torrents to other files on disk. see torrent_info::remap_files
|
2007-08-25 18:26:43 +00:00 |
Arvid Norberg
|
c0ffdc51c7
|
piece picker fix and bandwidth_limiter typo fix
|
2007-08-25 05:09:25 +00:00 |
Arvid Norberg
|
d963625949
|
added assert to bandwidth_limiter
|
2007-08-24 02:12:07 +00:00 |
Arvid Norberg
|
cc54c242a1
|
rate limiter fix
|
2007-08-23 16:49:59 +00:00 |
Arvid Norberg
|
9e2367fd13
|
bandwidth limiter fix
|
2007-08-22 23:24:06 +00:00 |
Arvid Norberg
|
c0ed1fa13a
|
fixed default value for paused
|
2007-08-22 05:37:49 +00:00 |
Arvid Norberg
|
744d96796b
|
made it possible to start torrents in paused state. updated documentation
|
2007-08-22 05:31:42 +00:00 |
Arvid Norberg
|
4da3366a27
|
added invariant checks to session_impl
|
2007-08-21 18:33:28 +00:00 |
Arvid Norberg
|
23a20a24c1
|
added more asserts for choke/unchoke states and a peer_info flag to indicate a peer being optimistically unchoked
|
2007-08-21 17:45:28 +00:00 |
Arvid Norberg
|
a443225d49
|
added experimental assert with stacktrace for elf targets using gcc
|
2007-08-20 04:58:56 +00:00 |
Arvid Norberg
|
c70223ff38
|
added url seed related functions to torrent_handle
|
2007-08-17 16:40:55 +00:00 |
Arvid Norberg
|
3d3df51d45
|
fixed per torrent unchoke limit
|
2007-08-17 07:37:08 +00:00 |
Arvid Norberg
|
d00ce3b28b
|
optimized policy and removed #warning
|
2007-08-16 23:53:14 +00:00 |
Arvid Norberg
|
f8979ff932
|
applied patch from #97
|
2007-08-16 19:41:28 +00:00 |
Arvid Norberg
|
4ac1ac8a1f
|
removed allocate_resources. switched to a global unchoker and connection distribution
|
2007-08-16 12:41:46 +00:00 |
Arvid Norberg
|
b62bb7944f
|
merged fast-extension => trunk. the fast extension branch is now closed
|
2007-08-14 17:47:48 +00:00 |
Arvid Norberg
|
e802a74ecb
|
deprecated fix for gcc (requires 4.0+)
|
2007-08-11 15:12:21 +00:00 |
Arvid Norberg
|
6e78b6b824
|
optimization to only update peer interests in case a piece was filtered/unfiltered during a priority call
|
2007-08-10 21:13:35 +00:00 |
Arvid Norberg
|
a234de50e3
|
added deprecation messages to gcc
|
2007-08-10 16:57:53 +00:00 |
Arvid Norberg
|
fc74e5d147
|
added deprecation messages to gcc
|
2007-08-10 16:57:37 +00:00 |
Arvid Norberg
|
4d04588def
|
made libtorrent build on msvc-8 sp1
|
2007-08-08 21:22:59 +00:00 |
Arvid Norberg
|
f222fe8f4b
|
xml parser fixes
|
2007-08-07 06:48:47 +00:00 |
Arvid Norberg
|
cd05e4e67c
|
added support for xml declarators, comments, quoted attribute values and parse error messages in xml parser
|
2007-08-07 03:27:08 +00:00 |
Arvid Norberg
|
9f08256dff
|
added support for attributes in the xml parser
|
2007-08-07 01:32:38 +00:00 |
Arvid Norberg
|
be1faccd1d
|
peer_connection fixes for earlier pending disk buffer size limit
|
2007-08-03 08:19:10 +00:00 |
Arvid Norberg
|
8387240b31
|
more asserts, piece_picker fixes, debug-iterator fixes
|
2007-08-03 06:13:26 +00:00 |
Arvid Norberg
|
192ce4b463
|
added some extra checks for buffer overrun in disk_io_thread
|
2007-08-02 01:42:19 +00:00 |
Arvid Norberg
|
1973af7779
|
added alert messages for blocks finishing, pieces finishing and blocks being requested. patch by micah
|
2007-08-01 06:14:16 +00:00 |
Arvid Norberg
|
54aa76f940
|
exposed queued disk bytes in peer_info
|
2007-08-01 06:11:11 +00:00 |
Arvid Norberg
|
786d4e5f25
|
added a limit on how many bytes each connection can have pending in the disk write queue
|
2007-08-01 05:22:34 +00:00 |
Arvid Norberg
|
f67deba30e
|
fixed #81
|
2007-07-26 07:04:35 +00:00 |
Arvid Norberg
|
f89ce2669f
|
fixes #90. adds compact_mode to torrent_status
|
2007-07-23 04:36:56 +00:00 |
Arvid Norberg
|
664abc570b
|
uploads limit fix
|
2007-07-17 06:39:39 +00:00 |
Arvid Norberg
|
5ae2e83af6
|
fixed _SECURE_SCL issue with msvc8
|
2007-07-17 01:29:58 +00:00 |
Arvid Norberg
|
cf35ec6d9c
|
added asserts to try to catch #84
|
2007-07-15 19:00:41 +00:00 |
Arvid Norberg
|
1acedb39dc
|
prioritize more complete partial pieces over less complete ones
|
2007-07-15 15:41:55 +00:00 |
Arvid Norberg
|
96430f5edd
|
added an assert to bandwidth limiter
|
2007-07-15 14:24:06 +00:00 |
Arvid Norberg
|
6650a34cfd
|
fixed #83
|
2007-07-15 14:20:55 +00:00 |
Arvid Norberg
|
9bdf2a9c8d
|
fixed invariant check in policy
|
2007-07-10 17:25:10 +00:00 |
Arvid Norberg
|
47be8980ca
|
fixed typo in previous check-in
|
2007-07-09 17:45:45 +00:00 |
Arvid Norberg
|
df5a036066
|
fixed assert when using checked iterators
|
2007-07-09 17:34:38 +00:00 |
Arvid Norberg
|
182c917842
|
optimized peer_connection by postponing diffie hellman key creation and generation of handhake until the connection has succeeded
|
2007-07-09 04:22:38 +00:00 |
Arvid Norberg
|
4771f323f6
|
added invariant checks for peer_counter in block_info. added bytes_progress and block_size to block_info (to allow a more detail download progress display). Updated client_test to show download progress per block and also to have a separate color for 'multi blocks' (i.e. blocks that have been requested from more than one peer)
|
2007-07-08 20:45:42 +00:00 |
Arvid Norberg
|
82e1160214
|
introduced a non-rarest-first option to the piece picker that is used to pick the very first pieces in a torrent
|
2007-07-07 01:26:30 +00:00 |
Arvid Norberg
|
a3e66a3efe
|
made the piece picker handle multi-request blocks better. fixes problem that might occur at the end of a torrent where the piece picker could take over blocks back and forth
|
2007-07-06 17:15:35 +00:00 |
Arvid Norberg
|
0e1e1484ee
|
made test_piece_picker build on gcc 3.3
|
2007-07-04 18:05:29 +00:00 |
Arvid Norberg
|
b20270d243
|
added more asserts related to recent downloading_piece optimization and fixed a translation problem to the public interface
|
2007-07-04 15:46:10 +00:00 |
Arvid Norberg
|
3bdf01778a
|
chamged peer representation from tcp::endpoint to policy::peer pointer in piece_picker's downloading piece. Saves memory, removes the need for lookup and improves the hash check fail/pass handling for closed connections
|
2007-07-04 02:16:49 +00:00 |
Arvid Norberg
|
e714e1aeba
|
improved bandwidth limiter and added a unit test for it
|
2007-07-02 23:48:06 +00:00 |
Arvid Norberg
|
8aa37dfa39
|
fixed #75
|
2007-07-02 19:31:46 +00:00 |
Arvid Norberg
|
816bf3ff2d
|
made the number of peers requested from trackers customizable
|
2007-07-02 18:44:33 +00:00 |
Arvid Norberg
|
f05b06d4e5
|
added required operator on time_duration
|
2007-06-14 23:15:30 +00:00 |
Arvid Norberg
|
7d7a764f26
|
fixed a preprocessor condition bug where boost.date_time was being used when it shouldn't
|
2007-06-14 22:57:29 +00:00 |
Arvid Norberg
|
46bf2970fb
|
fixes to remote peer download rate etimation
|
2007-06-14 21:47:00 +00:00 |
Arvid Norberg
|
bbaa2efcb0
|
removed asserts that are can no longer be maintained with the async io
|
2007-06-13 18:09:52 +00:00 |
Arvid Norberg
|
5b5f3b3ca2
|
support for ip address in announce
|
2007-06-13 00:20:06 +00:00 |
Arvid Norberg
|
b75a69cd47
|
added alerts for synchronizing disk io when pausing and moving storage
|
2007-06-11 21:24:14 +00:00 |
Arvid Norberg
|
3b8670626a
|
merged back async_io branch into trunk
|
2007-06-10 20:46:09 +00:00 |
Arvid Norberg
|
6447a074eb
|
fixes to allow-multiple-connections-per-ip and a unit test that run a swarm of 3 local peers
|
2007-06-08 23:02:31 +00:00 |
Arvid Norberg
|
a7ad108e8a
|
made the unchoke interval configurable
|
2007-06-07 22:37:58 +00:00 |
Arvid Norberg
|
a3a2217276
|
an approximate peer download rate is now in peer_info
|
2007-06-07 00:05:18 +00:00 |
Arvid Norberg
|
bbd7fefa2c
|
fix for msvc
|
2007-06-06 23:27:29 +00:00 |
Arvid Norberg
|
273f8bd921
|
merged back encryption branch to trunk
|
2007-06-06 00:41:20 +00:00 |
Arvid Norberg
|
d0412a2244
|
added port filter for outgoing connections
|
2007-06-01 01:05:57 +00:00 |
Arvid Norberg
|
7e540a8d53
|
made inactivity time-out configurable
|
2007-05-31 19:57:15 +00:00 |
Arvid Norberg
|
31247c046a
|
supports turning on and off upnp, natpmp and lsd. All ofthem are now off by default
|
2007-05-31 00:21:54 +00:00 |
Arvid Norberg
|
b385ed6064
|
added socks4 proxy support
|
2007-05-30 23:35:14 +00:00 |
Arvid Norberg
|
0d9909f8d9
|
cleaned up the proxies. Factor out common code into a base class and added include guards
|
2007-05-30 09:07:33 +00:00 |
Arvid Norberg
|
14a15831ef
|
exposed piece availability vector
|
2007-05-30 06:52:59 +00:00 |
Arvid Norberg
|
1d15a5040c
|
removed old unused logging
|
2007-05-26 22:55:21 +00:00 |
Arvid Norberg
|
9fe77101ed
|
added support for lazy bitfields
|
2007-05-26 22:27:40 +00:00 |
Arvid Norberg
|
8679ee5916
|
have optimization is now optional, but on by default
|
2007-05-25 21:19:14 +00:00 |
Arvid Norberg
|
c10e74f4fc
|
improved control over the rate of connection attempts
|
2007-05-25 21:00:35 +00:00 |
Arvid Norberg
|
bb71832f5f
|
exposed some more peer info
|
2007-05-25 19:42:10 +00:00 |
Arvid Norberg
|
685f79b82f
|
option to ignore bandwidth limits for local peers. fixed some asserts when allowing multiple connections per IP
|
2007-05-25 17:06:30 +00:00 |
Arvid Norberg
|
510966f2a5
|
fixed fast resume data bug when using full allocation mode, and moved parts of resume data generation to the storage
|
2007-05-24 18:53:55 +00:00 |
Arvid Norberg
|
99a22dcae4
|
made dht requests be allocated in a pool allocator for heap and runtime efficiency. Fixes to DHT error responses
|
2007-05-23 08:45:12 +00:00 |
Arvid Norberg
|
883773e8fa
|
added shutdown logging and tracker manager shutdown flag
|
2007-05-23 01:02:46 +00:00 |
Arvid Norberg
|
cbd67ed729
|
added support for authentication in the url_parser and added a test for it
|
2007-05-22 20:44:18 +00:00 |
Arvid Norberg
|
1c147018db
|
fixed correct export macros for intrusive pointer refcounter functions
|
2007-05-21 19:31:37 +00:00 |
Arvid Norberg
|
6eb892fc04
|
added missing TORRENT_EXPORT
|
2007-05-17 20:37:42 +00:00 |
Arvid Norberg
|
8987d7077d
|
refactoring in natpmp, upnp and lsd. made lsd (probably) work on windows
|
2007-05-17 02:54:13 +00:00 |
Arvid Norberg
|
ea45641c8b
|
made lsd work
|
2007-05-17 00:01:51 +00:00 |
Arvid Norberg
|
633f174947
|
improved natpmp, upnp and lsd
|
2007-05-16 21:36:27 +00:00 |
Arvid Norberg
|
13ca78e92b
|
#47. introduced parole mode for peers that fails the hash check.
|
2007-05-16 04:12:13 +00:00 |
Arvid Norberg
|
e9601080bb
|
introduced swap_slots and swap_slots3 on storage_interface. All reads that needs it, should now be EOF safe (when using sparse files).
|
2007-05-16 01:16:08 +00:00 |
Arvid Norberg
|
b386aa23e9
|
DHT bugfix, more logging and less frequent private key generation. Fixed typo in identify_client
|
2007-05-14 17:49:36 +00:00 |
Arvid Norberg
|
8392276975
|
speed categories are now disabled before 1% of the pieces have been downloaded
|
2007-05-14 10:54:18 +00:00 |
Arvid Norberg
|
c5e150ee69
|
upnp fixes
|
2007-05-14 07:31:01 +00:00 |
Arvid Norberg
|
4a906aa31d
|
added option for session statistics output
|
2007-05-13 22:01:21 +00:00 |
Arvid Norberg
|
573d9f55d6
|
fixed compilation error when not using boost.date_time. Fixed compilation error when not having DHT logging enabled
|
2007-05-12 18:24:14 +00:00 |
Arvid Norberg
|
9f902e7b9f
|
the DHT now refreshes buckets properly.
|
2007-05-12 01:52:25 +00:00 |
Arvid Norberg
|
9ffde51404
|
fixed a bug caused by file_pool being destructed before torrents, and torrents using the file pool in their destructors
|
2007-05-11 23:41:31 +00:00 |
Arvid Norberg
|
6faa11f7ab
|
optimized web_peer_connection to use less memory and replaced std::copy with std::memmove in peer_connection
|
2007-05-11 18:40:22 +00:00 |
Arvid Norberg
|
f39185bb21
|
optimized the read callback to loop and exhaust the read buffer from the socket instead of making another async read call. #43
|
2007-05-10 01:50:11 +00:00 |
Arvid Norberg
|
a5847956e1
|
most of the metadata is now freed when a torrent becomes a seed. #44
|
2007-05-09 22:54:26 +00:00 |
Arvid Norberg
|
4371dbe02c
|
fixed resume data problem caused by recent piece_picker optimization
|
2007-05-09 03:18:53 +00:00 |
Arvid Norberg
|
6dcca9250b
|
optimized heap allocations in piece_picker. #42
|
2007-05-09 00:49:13 +00:00 |
Arvid Norberg
|
4956639171
|
piece picker optimization
|
2007-05-08 11:13:13 +00:00 |
Arvid Norberg
|
122841fc5e
|
attempt to memory optimization in DHT routing table
|
2007-05-08 08:49:07 +00:00 |
Arvid Norberg
|
508dfd722a
|
cleaned up policy a bit and the country code list
|
2007-05-05 22:55:34 +00:00 |
Arvid Norberg
|
7f27ed9c1f
|
fixed warnings in previous check in
|
2007-05-05 22:15:22 +00:00 |
Arvid Norberg
|
b239eecc04
|
updates to upnp code
|
2007-05-05 22:06:26 +00:00 |
Arvid Norberg
|
49bd69cad4
|
introduced a proper half open TCP connection limit. Also exposed the connection queue to let clients use the same connection limiter as libtorrent. UPnP connections and tracker connection are now also limited as well as peer connections and web seeds
|
2007-05-05 00:29:33 +00:00 |
Arvid Norberg
|
52f9abb652
|
fixed upnp header define
|
2007-05-04 20:55:39 +00:00 |
Arvid Norberg
|
c7b4f49d5a
|
moved initialization of multicast addresses from global initializers to local constructors to avoid WSAStartup issues on windows
|
2007-05-04 06:47:32 +00:00 |
Arvid Norberg
|
54805ca60b
|
added option to disable country resolving
|
2007-05-02 19:47:38 +00:00 |
Arvid Norberg
|
04e41cf702
|
improved connection queue handling slightly. Will require further improvements
|
2007-05-02 17:38:37 +00:00 |
Arvid Norberg
|
233cd373e8
|
fixed issue with sparse files and compact allocation. added move_slot() to the storage abstraction
|
2007-04-30 01:06:29 +00:00 |
Arvid Norberg
|
ee1681e2cb
|
added peer/piece categories to the piece picker. fixes #18
|
2007-04-27 00:27:37 +00:00 |
Arvid Norberg
|
99dc46bd29
|
overflow fix in timer on windows
|
2007-04-26 21:33:07 +00:00 |
Arvid Norberg
|
fea87b2637
|
added missing header file from [1146]
|
2007-04-25 20:00:11 +00:00 |
Arvid Norberg
|
19bb5553bb
|
added missing files from previous check-in
|
2007-04-25 18:57:13 +00:00 |
Arvid Norberg
|
00948e9fc4
|
first attempt to implement SOCKS5 and proper HTTP proxy support. fixes #22
|
2007-04-25 18:26:35 +00:00 |
Arvid Norberg
|
d43a6b80bf
|
added an abstraction layer or tcp sockets, to be able to support socks proxys
|
2007-04-23 21:36:21 +00:00 |
Arvid Norberg
|
8ef7819a95
|
added redirection support to http_connection
|
2007-04-19 20:52:29 +00:00 |
Arvid Norberg
|
172205d7fb
|
improvements and fixes to sparse files support. made the test pass again
|
2007-04-19 03:32:20 +00:00 |
Arvid Norberg
|
92cf13c2c2
|
sparse files fixes. now sets the size of the files in case sparse files are supported
|
2007-04-19 03:06:15 +00:00 |
Arvid Norberg
|
60ddb5c64a
|
piece_picker fix
|
2007-04-18 20:40:41 +00:00 |
Arvid Norberg
|
88d6f7a4c9
|
added character-set build feature (only effective on windows). Made storage build with win32/unicode and newer versions of boost. optimized allocate_slots
|
2007-04-18 19:12:30 +00:00 |
Arvid Norberg
|
af779b6349
|
factored out the test for sparse files support
|
2007-04-18 00:36:09 +00:00 |
Arvid Norberg
|
16e17f066c
|
first stab at sparse files support
|
2007-04-17 21:54:40 +00:00 |
Arvid Norberg
|
3794b49e3a
|
fixed warning in msvc
|
2007-04-17 21:50:48 +00:00 |
Arvid Norberg
|
90bff3d1ca
|
Fixed building issues on windows with msvc-8.0
|
2007-04-17 21:18:35 +00:00 |
Arvid Norberg
|
067219d14a
|
made downloading pieces higher priority. fix in piece picker when blocks in prio 0 pieces were marked as finished
|
2007-04-17 09:21:53 +00:00 |
Arvid Norberg
|
849db39472
|
added peer_blocked_alert which is generated when a peer is blocked by the IP filter. Fixed the ip-filter parsing in client_test and made it report the peer_blocked_alert. Added documentation.
|
2007-04-17 05:56:43 +00:00 |
Arvid Norberg
|
8cb1f9f899
|
added optional use of openssl instead of public domain sha-1 implementation, ticket #13
|
2007-04-15 04:30:52 +00:00 |
Arvid Norberg
|
40804a829b
|
failcount is reset on a peer that successfully connects. documented max_failcount and min_reconnect_time. implemented seed optimization for piece_picker (inc_refcount_all and dec_refcount_all), ticket #17
|
2007-04-15 02:14:02 +00:00 |
Arvid Norberg
|
fceaa8f79e
|
introduced failcount and retry time settings for peers
|
2007-04-14 21:47:07 +00:00 |
Arvid Norberg
|
ecb20f97fd
|
fixed time_now_string() to not include a line feed at the end
|
2007-04-14 20:12:15 +00:00 |
Arvid Norberg
|
a22ad5ad33
|
added failcount to peer_info. fixes #31
|
2007-04-13 20:19:04 +00:00 |
Arvid Norberg
|
3d759e8936
|
fixes in connection policy. fixes #29. inserted more invariant checks in policy
|
2007-04-13 17:47:40 +00:00 |
Arvid Norberg
|
0e5ce5dd9d
|
cleaned up policy a bit, moved the seed check in on_bitfield to be performed before the piece picker is updated
|
2007-04-13 01:53:25 +00:00 |
Arvid Norberg
|
52623405f0
|
improved unchoking, connecting and disconnecting logic in policy. seems to fix #29
|
2007-04-12 10:21:55 +00:00 |
Arvid Norberg
|
a0434eba10
|
fixed timer on linux
|
2007-04-12 07:02:17 +00:00 |
Arvid Norberg
|
79cfdb609f
|
fixed threading problem in file_pool
|
2007-04-12 05:08:23 +00:00 |
Arvid Norberg
|
1fd3216e6c
|
fix to previous check-in
|
2007-04-11 22:50:01 +00:00 |
Arvid Norberg
|
87b1cdc341
|
fix to avoid connecting web seeds when not a seed but finished
|
2007-04-11 22:27:58 +00:00 |
Arvid Norberg
|
e503e334d5
|
fix to previous check-in
|
2007-04-11 17:44:15 +00:00 |
Arvid Norberg
|
109cc3f232
|
made the announce timer (for dht and lsd) use a weak pointer instead of raw pointer, to avoid problems when torrent is being destructed
|
2007-04-11 17:22:19 +00:00 |
Arvid Norberg
|
250adabcfa
|
removed unused web stats
|
2007-04-11 16:50:54 +00:00 |
Arvid Norberg
|
3ed24da320
|
added source to peer_info, which is a bitmask of the sources where the peer has been acquired from
|
2007-04-10 21:23:13 +00:00 |
Arvid Norberg
|
4ceb6a02ea
|
added download_limit and upload_limit functions to torrent_handle
|
2007-04-10 09:25:17 +00:00 |
Arvid Norberg
|
0863bc1aa6
|
removed the dependency on the compiled boost.date_time library
|
2007-04-10 09:11:32 +00:00 |
Arvid Norberg
|
d88ffcc0e4
|
removed some more unecessary boost.date_time dependencies
|
2007-04-10 07:52:58 +00:00 |
Arvid Norberg
|
5be60cc125
|
upnp made destructor not sync.ing
|
2007-04-10 05:14:37 +00:00 |
Arvid Norberg
|
a1e20276a6
|
fixed typo in previous check-in
|
2007-04-09 20:38:51 +00:00 |
Arvid Norberg
|
ceb82bd38b
|
added support for posix timer clock_gettime()
|
2007-04-09 20:18:54 +00:00 |
Arvid Norberg
|
baecc64131
|
fix to previous timer check-in that broke the api
|
2007-04-07 03:05:59 +00:00 |
Arvid Norberg
|
27da18bd0a
|
windows fixes
|
2007-04-05 01:08:21 +00:00 |
Arvid Norberg
|
306d015924
|
added a timer abstraction and replaced the use of boost.date_time. the timers used now are QueryPerformanceCounter on windows, mach_absolute_time on darwin and currently falls back on boost.date_time on other platforms. This has the advantage of being a monotonic clock, and also slightly more efficient
|
2007-04-04 22:27:36 +00:00 |
Arvid Norberg
|
7fc238407c
|
added missing lsd.cpp and lsd.hpp
|
2007-04-04 19:11:19 +00:00 |
Arvid Norberg
|
a4ccee15df
|
removed unused code
|
2007-04-04 02:10:25 +00:00 |
Arvid Norberg
|
5e32484194
|
first stab at getting local service discovery
|
2007-04-04 02:06:07 +00:00 |
Arvid Norberg
|
ed9e80a3d4
|
added support for rate limiting on http_connection
|
2007-04-03 20:00:47 +00:00 |
Arvid Norberg
|
d0381a4cbd
|
added getters for rate limit on peer connections
|
2007-04-02 21:06:00 +00:00 |
Arvid Norberg
|
ec2962dd62
|
extensions are now instantiated for web seeds as well
|
2007-04-02 20:00:24 +00:00 |
Arvid Norberg
|
10b5f538b1
|
fixed timeout issues on non-bottled long running http connections
|
2007-04-02 18:51:35 +00:00 |
Arvid Norberg
|
2f9611a1a9
|
UPnP seems to work
|
2007-04-01 15:39:08 +00:00 |
Arvid Norberg
|
3d2a4e00b9
|
upnp fixes
|
2007-04-01 01:18:10 +00:00 |
Arvid Norberg
|
9e1123eb9e
|
more UPnP work. updated ChangeLog and features documentation
|
2007-03-31 23:23:30 +00:00 |
Arvid Norberg
|
b8721ad854
|
updates to the upnp code
|
2007-03-30 16:57:55 +00:00 |
Arvid Norberg
|
513d388c2c
|
added extension hook when files have been checked
|
2007-03-28 22:59:35 +00:00 |
Arvid Norberg
|
f2778d52d1
|
introduced failcounter for peers, increased timeout for peer info (such as being banned). Peers that fails 4 times are removed from the peer-list
|
2007-03-28 19:56:53 +00:00 |
Arvid Norberg
|
f1af5dc637
|
changes to ut_pex, added support for seed flag in pex messages
|
2007-03-28 01:06:15 +00:00 |
Arvid Norberg
|
72fd437ff0
|
moved the resume data verification to the storage, since the storage may map the files differently. The creation of resume data should probably also be moved there
|
2007-03-27 23:49:05 +00:00 |
Arvid Norberg
|
29e43d7f62
|
added http_connection and a simple xml parser, used by a upnp implementation that still isn't finished
|
2007-03-27 07:04:31 +00:00 |
Arvid Norberg
|
99c586b152
|
accessor to the extension info from the info dictionary in a torrent file.
|
2007-03-22 23:37:24 +00:00 |
Arvid Norberg
|
20e38bc42b
|
peer interest flag is now updated when priority is changed. fixes in piece_picker
|
2007-03-21 02:09:50 +00:00 |
Arvid Norberg
|
776b399a97
|
added api for piece priorities
|
2007-03-20 01:59:00 +00:00 |
Arvid Norberg
|
7ff5893431
|
reverted bad check-in where files_checked was removed from piece_picker
|
2007-03-17 17:28:59 +00:00 |
Arvid Norberg
|
8957b64c04
|
prepared for precompiled headers support. fixed issue where storage didn't lock the session properly. fixed typo in natpmp.cpp
|
2007-03-17 17:15:16 +00:00 |
Arvid Norberg
|
4ac08f393a
|
simplified the piece picker by initializing it properly in its constructor. Removed natpmp reporting port map success when removing mappings. fix where incoming connections before the files were completely checked would cause an assert.
|
2007-03-16 23:28:26 +00:00 |
Arvid Norberg
|
a6b1583d3f
|
fixes to natpmp to take listen interface into account. added colors to the log in client_test
|
2007-03-16 21:04:58 +00:00 |
Arvid Norberg
|
118e1cf00d
|
added alerts for reporting nat-pmp status
|
2007-03-16 08:25:08 +00:00 |
Arvid Norberg
|
de69453826
|
merged fixes from RC_0_12 branch
|
2007-03-16 07:59:04 +00:00 |
Arvid Norberg
|
029953c5ae
|
made the storage into a customization point. it is now interchangable for a custom implementation
|
2007-03-16 05:29:23 +00:00 |
Arvid Norberg
|
52d6a201be
|
merged error message fix from RC_0_12 branch
|
2007-03-16 01:24:40 +00:00 |
Arvid Norberg
|
ecaa3068d5
|
added natpmp support. bumped version number to 0.13. added piece priority support to the piece picker. optmized and simplified the piece picker in the process.
|
2007-03-15 22:03:56 +00:00 |
Arvid Norberg
|
2dbfa156d3
|
client test now always uses dht. fixed problem with the dht logging and updated dht extension docs.
|
2007-03-08 21:42:37 +00:00 |
Arvid Norberg
|
6f0a0beadb
|
fix to allow hostnames for peers in tracker responses
|
2007-03-07 18:50:38 +00:00 |
Arvid Norberg
|
7e3a415d0b
|
made the trackers pick the most suitable interface to connect to (IPv6/Ipv4 issue). added Mono Torrent to identify_client and dht statistics.
|
2007-03-02 18:40:02 +00:00 |
Arvid Norberg
|
83c2039ff7
|
fix to previous dht fix. removed some deprication warnings on msvc-8. various fixes
|
2007-03-02 01:16:59 +00:00 |
Arvid Norberg
|
7888b72e12
|
fix for crashes when stopping or restarting DHT
|
2007-02-25 09:42:43 +00:00 |
Arvid Norberg
|
b0ae8d3a14
|
tracker fixes for trackerless torrents
|
2007-02-21 17:15:47 +00:00 |
Arvid Norberg
|
4f86042b97
|
bandwidth management fix + improved string conversion fallback in case strings are incorrect in torrent
|
2007-02-19 23:06:20 +00:00 |
Arvid Norberg
|
9c0e9701d9
|
fix for bug in bandwidth throttler when limiting a torrent to lower than bandwidth block size. Fixed #ifndef related to DHT support
|
2007-02-19 00:01:39 +00:00 |
Arvid Norberg
|
16457e2280
|
fixed missing #ifdef
|
2007-02-18 18:28:07 +00:00 |
Arvid Norberg
|
320de0d8e6
|
fixed warning on msvc-8
|
2007-02-17 01:01:34 +00:00 |
Arvid Norberg
|
f795be7acf
|
made the dht be a fallback by default, fixed glitch in earlier fix to make sure block requests are sent properly, fixed problem in peer_connection::second_tick if the piece picker was removed because of the torrent becoming a seed
|
2007-02-12 09:20:49 +00:00 |
Arvid Norberg
|
98b92e3f02
|
fixed problems in the network layer that made web seeds fail some times. prepared for proxy support in peer connections. worked on the http seeding. added support for web seeds in make_torrent tool
|
2007-02-12 05:46:29 +00:00 |
Arvid Norberg
|
d0ebdb2dee
|
added prioritization in the bandwidth_manager (throttler), web seeds now have lower priority when being handed bandwidth. torrent_reply_alert now includes the number of peers returned from the tracker. updated Changelog
|
2007-02-01 07:33:04 +00:00 |
Arvid Norberg
|
f14c84b01e
|
fixes in DHT to make it work when the number of transaction slots are full (very rare case). Added a feature to (optionally) resolve the countries of peers and updated the docs (see peer_info::country).
|
2007-01-29 07:39:33 +00:00 |
Arvid Norberg
|
69ef67d71e
|
made a common base class for torrent alerts. Made the bandwidth quota block size variable depending on the limit
|
2007-01-16 05:05:52 +00:00 |
Arvid Norberg
|
72e3f97607
|
added missing header
|
2007-01-10 17:16:55 +00:00 |
Arvid Norberg
|
87f7b186b0
|
replaced the bandwidth throttling code with a leaky bucket for better accuracy
|
2007-01-10 15:02:25 +00:00 |
Daniel Wallin
|
39b977973f
|
Added accessor functions for upload_rate_limit and download_rate_limit
|
2007-01-01 23:51:24 +00:00 |
Arvid Norberg
|
0f3874028b
|
added btgdaemon to identify client and applied wojci's patch to add num_connections() and num_uploads() to session
|
2007-01-01 21:04:30 +00:00 |
Arvid Norberg
|
d58c6d2e31
|
fixed so that both session constructors initializes boost.filesystem. Fixed the case where the file check throws exceptions, the torrent is no longer removed, but paused
|
2006-12-30 23:02:21 +00:00 |
Arvid Norberg
|
1b46fb9e1b
|
fixed an assert in teh web seed downloader
|
2006-12-21 02:44:00 +00:00 |
Arvid Norberg
|
3a7eeb3966
|
rewrote most of the web seed downloader to report its progress accurately (to prevent inconsistencies in the core). Not well tested with multi file torrents yet
|
2006-12-18 01:23:30 +00:00 |
Arvid Norberg
|
13facbdb83
|
added a strand for all async operations for thread safety
|
2006-12-15 17:47:21 +00:00 |
Arvid Norberg
|
fcf211378a
|
fixed http_tracker_connection to finally use the http-parser class (which also web_seed_connection uses). also fixed a case sensitivity issue with http header names.
|
2006-12-12 02:28:53 +00:00 |
Arvid Norberg
|
ef235faede
|
added MLDonkey to identify client, fixed a problem introduced with the recent piece_picker optimization, choked peers should now waste less bandwidth in the quota management.
|
2006-12-04 20:42:47 +00:00 |