Arvid Norberg
|
4600dae248
|
more attempts to fix and catch invariant failure in download_queue
|
2010-10-03 01:22:11 +00:00 |
Arvid Norberg
|
d0dab83104
|
potential fix for long standing invariant check failure
|
2010-10-02 21:01:11 +00:00 |
Arvid Norberg
|
a7c87e14dd
|
added functions to query an individual peer's upload and download limit
|
2010-10-01 16:09:22 +00:00 |
Arvid Norberg
|
b6f92aa981
|
added initial support for share-mode
|
2010-09-05 16:01:36 +00:00 |
Arvid Norberg
|
18a3d545b0
|
fixed potential hang issue when receiving faster than we can handle the incoming messages
|
2010-08-28 19:44:50 +00:00 |
Arvid Norberg
|
e2ca3e1545
|
rate limiter fix
|
2010-08-27 14:52:42 +00:00 |
Arvid Norberg
|
b44f71e217
|
post alerts for socks failures. fix unit tests
|
2010-08-25 06:22:49 +00:00 |
Arvid Norberg
|
a85f1f5c61
|
improved logging
|
2010-08-18 17:14:40 +00:00 |
Arvid Norberg
|
0f8d75c607
|
removed invalid assert
|
2010-08-13 15:55:52 +00:00 |
Arvid Norberg
|
fd5f1bf80b
|
improved SOCKS5 support
|
2010-08-03 09:08:37 +00:00 |
Arvid Norberg
|
1e70456f58
|
improved support for multi-homed clients
|
2010-07-17 07:13:14 +00:00 |
Arvid Norberg
|
4c6be42b74
|
added feature to not count downloaded bytes from web seeds in stats
|
2010-07-15 06:27:44 +00:00 |
Arvid Norberg
|
4e576f93fd
|
removed the session mutex for improved performance
|
2010-07-14 04:16:38 +00:00 |
Arvid Norberg
|
b3128685d9
|
replace &x[0] with x.c_str()
|
2010-06-28 01:12:54 +00:00 |
Arvid Norberg
|
06190d8920
|
fixed bug in web_peer_connection which could cause a hang when downloading from web servers
|
2010-06-22 18:09:04 +00:00 |
Arvid Norberg
|
69001e6a6b
|
fixed bug in metadata extensions combined with encryption
|
2010-06-18 05:44:08 +00:00 |
Arvid Norberg
|
b882914461
|
refactored socket reading code to not use async. operations unnecessarily
|
2010-06-18 04:43:20 +00:00 |
Arvid Norberg
|
2042593750
|
peer receive logic fix
|
2010-05-23 21:39:03 +00:00 |
Arvid Norberg
|
2b65d104c7
|
log send suggest message
|
2010-05-16 22:30:48 +00:00 |
Arvid Norberg
|
4ddf87c53e
|
fixed typo
|
2010-05-13 08:23:04 +00:00 |
Arvid Norberg
|
23ba8c8a72
|
fixed synchronization issue between download queue and piece picker
|
2010-05-13 06:29:33 +00:00 |
Arvid Norberg
|
1a0d33a592
|
reverted mistake
|
2010-05-11 05:11:08 +00:00 |
Arvid Norberg
|
962c83822e
|
updated project page
|
2010-05-11 04:49:45 +00:00 |
Arvid Norberg
|
d1a7e0a581
|
fixed typo in previous check-in
|
2010-05-09 06:00:11 +00:00 |
Arvid Norberg
|
330f1a2785
|
fix to incoming-starts-paused torrent
|
2010-05-09 00:55:22 +00:00 |
Arvid Norberg
|
c0635f0391
|
added some asserts to track down issue with peer counter in busy piece picker requests
|
2010-05-01 16:17:37 +00:00 |
Arvid Norberg
|
dce2edb6cc
|
fixed vs 2010 build
|
2010-04-30 19:08:16 +00:00 |
Arvid Norberg
|
d7c30bc01b
|
fixed potential issue where a piece could be checked twice
|
2010-04-22 01:53:09 +00:00 |
Arvid Norberg
|
56054fac58
|
another attempt to set peer send state when stalled on disk
|
2010-04-17 02:21:48 +00:00 |
Arvid Norberg
|
17b4cb027c
|
set the peer write state properly when stalled on disk
|
2010-04-16 19:14:30 +00:00 |
Arvid Norberg
|
2a55fe8c70
|
debug logging fixes
|
2010-04-14 18:52:13 +00:00 |
Arvid Norberg
|
483112bb14
|
fix bug when accepting incoming connections to paused torrents
|
2010-04-09 05:54:36 +00:00 |
Arvid Norberg
|
7e851818b1
|
support more fine-grained torrent states between which peer sources it announces too
|
2010-03-29 00:34:04 +00:00 |
Arvid Norberg
|
3e77b161c2
|
made the send_buffer_watermark performance warning more meaningful
|
2010-03-20 02:46:33 +00:00 |
Arvid Norberg
|
5224e0c340
|
complete_ago extension
|
2010-03-19 18:39:51 +00:00 |
Arvid Norberg
|
06a043a489
|
add send_watermark_factor
|
2010-03-12 02:36:55 +00:00 |
Arvid Norberg
|
5247db7f90
|
fixed rare bug where we might erase an entry from the policy peer list when we shouldn't
|
2010-03-08 08:03:53 +00:00 |
Arvid Norberg
|
e8523a3ad4
|
fixed issue with 0-sized torrents and verify_piece assert
|
2010-03-02 07:08:29 +00:00 |
Arvid Norberg
|
f223708b0b
|
fixed assert when using odd piece size
|
2010-02-23 23:47:40 +00:00 |
Arvid Norberg
|
eff49e42a7
|
added support for torrents with odd piece sizes
|
2010-02-23 16:26:24 +00:00 |
Arvid Norberg
|
cebb0b8212
|
fast piece optimization
|
2010-02-21 09:07:09 +00:00 |
Arvid Norberg
|
54b4bc7754
|
better rate limiter fix
|
2010-02-21 01:32:57 +00:00 |
Arvid Norberg
|
cead1b5780
|
rate limiter fix for metadata extension
|
2010-02-20 18:56:53 +00:00 |
Arvid Norberg
|
875e332997
|
fixed merge error
|
2010-02-18 05:19:20 +00:00 |
Arvid Norberg
|
c050b22d8f
|
optimized memory usage for torrent objects
|
2010-02-14 01:39:55 +00:00 |
Arvid Norberg
|
3d5d9eb807
|
start torrent on incoming connection feature
|
2010-02-11 04:39:04 +00:00 |
Arvid Norberg
|
fb47469834
|
experimental support for the BitTyrant choking algorithm
|
2010-02-09 03:04:41 +00:00 |
Arvid Norberg
|
0dba0f5dcc
|
never time out a peer because we're waiting for the disk. allow connection_speed = 0. post an alert when rejecting a peer because of the connection limit
|
2010-02-06 21:40:55 +00:00 |
Arvid Norberg
|
53ef3dfb22
|
tuning of guided read cache
|
2010-02-01 00:38:32 +00:00 |
Arvid Norberg
|
3bc40b9980
|
fix builds for all combinations of stats and disk stats
|
2010-01-31 20:32:12 +00:00 |
Arvid Norberg
|
ca20d2d600
|
fixed broken build
|
2010-01-31 20:22:35 +00:00 |
Arvid Norberg
|
5b747f58f7
|
add guided read cache and update tuning docs
|
2010-01-31 19:14:00 +00:00 |
Arvid Norberg
|
c9b594fde1
|
support sending suggest messages based on what's in the read cache. support 'explicit read cache'
|
2010-01-15 16:45:42 +00:00 |
Arvid Norberg
|
2d7705e38b
|
disabled feature to drop requests after having been skipped too many times
|
2010-01-14 02:16:23 +00:00 |
Arvid Norberg
|
cdf459dad5
|
only keep one outstanding duplicate request per peer
|
2009-12-25 16:52:57 +00:00 |
Arvid Norberg
|
d84c59d13b
|
upload only fix
|
2009-12-05 16:46:10 +00:00 |
Arvid Norberg
|
1f5859d31f
|
error_code fix. added is_error_code_enum template specialization and using the abbreviated syntax to build error_codes
|
2009-11-29 07:06:38 +00:00 |
Arvid Norberg
|
39dae9e6dc
|
some GCC 2.95 support fixes and some BeOS support
|
2009-11-28 22:41:21 +00:00 |
Arvid Norberg
|
1d6d11bf0c
|
storage fix
|
2009-11-28 08:58:07 +00:00 |
Arvid Norberg
|
ddceb1487d
|
fixed building with no IPv6 support
|
2009-11-27 18:46:29 +00:00 |
Arvid Norberg
|
8dd244581d
|
header optimizations
|
2009-11-26 05:45:43 +00:00 |
Arvid Norberg
|
2280454a99
|
support upload-only extension message
|
2009-11-24 18:49:59 +00:00 |
Arvid Norberg
|
6343fe6a6d
|
optimized header dependencies to lower build time
|
2009-11-23 08:38:50 +00:00 |
Arvid Norberg
|
0880b74e6d
|
fixed timestamp wrapping issue
|
2009-11-18 18:43:54 +00:00 |
Arvid Norberg
|
550c67a308
|
fixed local rate limit feature
|
2009-11-14 21:25:13 +00:00 |
Arvid Norberg
|
c07b1d0981
|
fixed bug in remote download rate calculation
|
2009-11-14 20:55:42 +00:00 |
Arvid Norberg
|
158dd71ac2
|
performance optimization for buffer allocations
|
2009-11-11 05:29:34 +00:00 |
Arvid Norberg
|
1c377b1807
|
streaming fixes
|
2009-11-02 01:01:07 +00:00 |
Arvid Norberg
|
c7834818f8
|
fix assert when snubbing peers
|
2009-11-01 00:47:22 +00:00 |
Arvid Norberg
|
86488f95e7
|
fixed ifdef typo
|
2009-10-29 04:18:58 +00:00 |
Arvid Norberg
|
dcd8bb6718
|
move stats instrumentation to .cpp file to fix header dependency issue
|
2009-10-28 19:56:18 +00:00 |
Arvid Norberg
|
8a5b7d5d36
|
got rid of the last recursive mutexes. abstracted the threading primitives (and switched over to use asio's internal ones).
|
2009-10-20 02:49:56 +00:00 |
Arvid Norberg
|
ac2ef7dd39
|
fixed division by zero in get_peer_info()
|
2009-10-03 15:24:59 +00:00 |
Arvid Norberg
|
6858a29b83
|
fixed potential pure virtual function call in extensions on shutdown
|
2009-09-14 02:08:34 +00:00 |
Arvid Norberg
|
35bca49c61
|
add torrent priority to adjust bandwidth allocation of torrent's peers
|
2009-09-13 02:24:25 +00:00 |
Arvid Norberg
|
ce9cf5657d
|
some cleanup and moved the upload_only = true to avoid failing an invariant check
|
2009-09-12 21:27:52 +00:00 |
Arvid Norberg
|
f7ebefb285
|
fixed checking of fast and suggest messages when used with magnet links
|
2009-09-01 04:41:50 +00:00 |
Arvid Norberg
|
b3372dced6
|
fixed rare request queuing issue for peers in parole mode
|
2009-08-28 07:48:31 +00:00 |
Arvid Norberg
|
45fd696bc6
|
added I2P support
|
2009-08-20 03:19:12 +00:00 |
Arvid Norberg
|
51c38c2e16
|
added performance warning when hitting the send buffer watermark limit
|
2009-08-17 20:29:09 +00:00 |
Arvid Norberg
|
a6bcb8f8c9
|
fixed issue where web seed connections might have been disconnected in the constructor (which causes problems)
|
2009-08-08 15:27:07 +00:00 |
Arvid Norberg
|
5d76c19168
|
disconnect redundant fix
|
2009-08-02 00:05:41 +00:00 |
Arvid Norberg
|
78a6df0b2a
|
connect candidate fix
|
2009-08-01 22:48:43 +00:00 |
Arvid Norberg
|
ab26b1a5ff
|
removed redundant code
|
2009-07-26 02:35:16 +00:00 |
Arvid Norberg
|
137d2d63f5
|
cleaned up policy. Moved logic from policy to torrent
|
2009-07-23 04:38:52 +00:00 |
Arvid Norberg
|
848a4b2cf2
|
fixed bug where downloading from peers could stall when downloading at very high rates
|
2009-07-21 04:29:29 +00:00 |
Arvid Norberg
|
7ad858ccd9
|
fixed rate limiter bug for local (unthrottled) connections
|
2009-07-19 09:17:40 +00:00 |
Arvid Norberg
|
ae3be201c4
|
reduced the number of floating point operations to better support systems with no FPU
|
2009-07-19 04:59:27 +00:00 |
Arvid Norberg
|
3db42de4d9
|
fixed cancel_all_request() in peer_connection
|
2009-07-18 16:34:19 +00:00 |
Arvid Norberg
|
52f39a9af0
|
fixed inconsistency between peer's request list and piece picker in rare cases
|
2009-07-02 06:43:05 +00:00 |
Arvid Norberg
|
76db4627f6
|
another pending_bytes fix
|
2009-07-01 04:14:43 +00:00 |
Arvid Norberg
|
50fed84fe6
|
fixed typo
|
2009-06-28 22:58:21 +00:00 |
Arvid Norberg
|
315a4cdd1e
|
some extra precaution for m_outstanding_bytes
|
2009-06-28 21:50:18 +00:00 |
Arvid Norberg
|
ed0df519d7
|
fixed outstanding bytes counter assert
|
2009-06-28 21:09:07 +00:00 |
Arvid Norberg
|
6ddf63197f
|
added more asserts around outstanding bytes counter
|
2009-06-28 07:39:06 +00:00 |
Arvid Norberg
|
cbc740ee4f
|
fixed bug where one allowed-fast message would be sent even when disabled
|
2009-06-28 00:47:49 +00:00 |
Arvid Norberg
|
2c5ef0debf
|
fixed disk stats assert
|
2009-06-23 08:10:59 +00:00 |
Arvid Norberg
|
c2e39ec907
|
adjust piece timeouts depending on download rate limit
|
2009-06-23 05:28:36 +00:00 |
Arvid Norberg
|
c47f9cd64c
|
fix channel_state assert
|
2009-06-19 18:19:24 +00:00 |
Arvid Norberg
|
f09774607f
|
added upload mode
|
2009-06-18 22:32:55 +00:00 |
Arvid Norberg
|
6b048dc85e
|
fixed bug in connect candidate counter
|
2009-06-18 16:16:41 +00:00 |
Arvid Norberg
|
2da772210c
|
fix to make torrent_status::list_peers more accurate
|
2009-06-13 04:14:41 +00:00 |
Arvid Norberg
|
07bcb3545a
|
converted a whole lot of error strings into error_codes. Documented some previously undocumented alerts as well as all the error codes
|
2009-06-12 16:40:38 +00:00 |
Arvid Norberg
|
af25f26538
|
correction of previous 'assert fix'
|
2009-06-12 16:12:19 +00:00 |
Arvid Norberg
|
5e87420b6f
|
set all piece priorities to 0 when a write fails
|
2009-06-10 09:20:55 +00:00 |
Arvid Norberg
|
f0134c1b11
|
improved disk error handling and expanded use of error_code in error reporting
|
2009-06-10 08:30:55 +00:00 |
Arvid Norberg
|
bd33814376
|
improve disk error handling
|
2009-05-31 22:41:53 +00:00 |
Arvid Norberg
|
0283f07aed
|
more buffer categories to help debugging
|
2009-05-31 22:38:49 +00:00 |
Arvid Norberg
|
524151c040
|
don't make more calls to the disk thread when aborting
|
2009-05-31 19:25:26 +00:00 |
Arvid Norberg
|
6b4fcfcd38
|
fixed assert
|
2009-05-31 10:43:29 +00:00 |
Arvid Norberg
|
177a7e881c
|
fixed handling of dropped request
|
2009-05-31 05:50:07 +00:00 |
Arvid Norberg
|
31cae31ccc
|
fix invariant check failure
|
2009-05-30 04:27:26 +00:00 |
Arvid Norberg
|
d25d09cb70
|
fixed assert in peer_connection invariant check
|
2009-05-30 04:03:57 +00:00 |
Arvid Norberg
|
7b8ac7276c
|
added some more asserts around m_outstanding_bytes
|
2009-05-26 16:12:09 +00:00 |
Arvid Norberg
|
30c704523c
|
caches the time every 100 ms and use the cache where high resolution timer is not needed
|
2009-05-25 02:45:51 +00:00 |
Arvid Norberg
|
e3c07c0934
|
converted some recursive mutexes to regular ones
|
2009-05-23 21:36:09 +00:00 |
Daniel Wallin
|
6014ac1e7a
|
Allocate memory for read/write handlers inplace inside peer_connection instance.
|
2009-05-20 08:57:08 +00:00 |
Arvid Norberg
|
31c422df0a
|
added feature to set a separate global rate limit for local peers
|
2009-05-14 17:21:19 +00:00 |
Arvid Norberg
|
d5164b1b1e
|
fixed typo. made it possible to set max_outstanding_disk_bytes_per_connection to 0
|
2009-05-12 17:57:52 +00:00 |
Arvid Norberg
|
bc20af9375
|
ban self-connections, in order to not try them again
|
2009-05-07 05:10:19 +00:00 |
Arvid Norberg
|
c8176cca55
|
optimized peer storage in resume data an in memory. Should use far less memory than previously for the peer list. Introduced peer source affinity, to avoid problem with a peer list that's diluted with stale peers
|
2009-05-06 22:36:24 +00:00 |
Arvid Norberg
|
89ac9916d7
|
replaced std::set with std::vector for accept fast piece list
|
2009-05-04 00:08:00 +00:00 |
Arvid Norberg
|
641abc6c4a
|
slight memory optimization and some header cleanup
|
2009-05-03 20:21:24 +00:00 |
Arvid Norberg
|
06b609aa1f
|
fixed unchoke bug. made the automatic unchoke strategy the default
|
2009-05-02 03:15:52 +00:00 |
Arvid Norberg
|
3cf34e3a91
|
greatly optimised memory usage for peer list
|
2009-04-30 05:49:46 +00:00 |
Arvid Norberg
|
c7dd73dd08
|
add asserts to catch negative m_outstanding_bytes
|
2009-04-26 19:44:08 +00:00 |
Arvid Norberg
|
7109b86566
|
greatly simplified the rate limiter and generalized all rate limits (peer, torrent, global) to allow for arbitrary rate limit configurations
|
2009-04-26 00:21:59 +00:00 |
Arvid Norberg
|
fba4ae541c
|
fixed invalid iterator access in debug mode
|
2009-04-25 08:19:21 +00:00 |
Arvid Norberg
|
679a594f4e
|
fixed typo in verbose bandwidth logging
|
2009-04-24 17:40:40 +00:00 |
Arvid Norberg
|
3c51ceb7c5
|
fixed bug when receiving keepalive message
|
2009-04-21 19:27:52 +00:00 |
Arvid Norberg
|
90ce06bb47
|
web seed fix
|
2009-04-11 20:45:14 +00:00 |
Arvid Norberg
|
c6f2aa129c
|
minor peer_connection fixes
|
2009-04-04 16:19:19 +00:00 |
Arvid Norberg
|
e6f2073cd3
|
IPv6 fix
|
2009-04-04 10:08:07 +00:00 |
Arvid Norberg
|
aba5b2e9d0
|
dropped some iostream dependencies
|
2009-04-04 09:52:25 +00:00 |
Arvid Norberg
|
db8487be46
|
auto unchoke improvement
|
2009-04-04 07:55:34 +00:00 |
Arvid Norberg
|
33912a0fb7
|
invariant check fix
|
2009-03-31 18:01:12 +00:00 |
Arvid Norberg
|
0070232f7c
|
attempt to fix #493 by keeping io_service running while there are still peer connections
|
2009-03-31 08:02:25 +00:00 |
Arvid Norberg
|
9c4c49c443
|
logging build fix and indentation fix
|
2009-03-27 17:14:15 +00:00 |
Arvid Norberg
|
fb5ae3dc97
|
fixed dual IP stack issue
|
2009-03-22 20:34:57 +00:00 |
Arvid Norberg
|
31054ef069
|
first implementation of set_piece_deadline
|
2009-03-17 09:34:44 +00:00 |
Arvid Norberg
|
84a513bffb
|
initial support for merkle hash tree torrents
|
2009-03-13 06:09:39 +00:00 |
Arvid Norberg
|
f07ff08dd2
|
we can send requests when we're choked (for allowed fast pieces)
|
2009-03-12 17:27:59 +00:00 |
Arvid Norberg
|
0de21dc815
|
fixed bug related to ignoring upload slots and made the piece rejection code more robust to handle similar bugs better
|
2009-03-12 17:06:41 +00:00 |
Arvid Norberg
|
93eda7c7fa
|
fix ignore unchoke slot invariant check
|
2009-03-01 07:20:08 +00:00 |
Arvid Norberg
|
b25a8db2a6
|
added more error codes. consolidated exception classes into one. moved over more places to use error_code instead of strings. fixed proper error handling for torrent_info
|
2009-02-23 01:21:19 +00:00 |
Arvid Norberg
|
7fff6ace1b
|
added download queue time estimate
|
2009-02-17 02:33:45 +00:00 |
Arvid Norberg
|
1ac8f806fa
|
added seed mode support (lazy hash checking)
|
2009-02-03 07:46:24 +00:00 |
Arvid Norberg
|
2623037482
|
local peers are excempt from unchoke slots. #469
|
2009-01-28 06:14:21 +00:00 |
Arvid Norberg
|
8030454c96
|
fixes problem whith lexical_cast being locale dependent
|
2009-01-27 06:17:55 +00:00 |
Arvid Norberg
|
c951ab3507
|
fixed potential problem if there are not enough references to a peer_connection when its disconnected
|
2009-01-25 02:45:31 +00:00 |
Arvid Norberg
|
b3a17b1787
|
added disk buffer instrumentation and log parser
|
2009-01-23 09:13:31 +00:00 |
Arvid Norberg
|
3f94cc8857
|
made the sequential download mode slightly more sequential (by letting more categories of peers request early pieces). Disabled speed affinity and prefer_whole_pieces when in sequential download mode
|
2009-01-14 09:07:27 +00:00 |
Arvid Norberg
|
725fdef85e
|
IP overhead calculation fix
|
2008-12-28 20:06:59 +00:00 |
Arvid Norberg
|
952ed687cd
|
made session stats config build
|
2008-12-26 07:00:21 +00:00 |
Arvid Norberg
|
5bc4a2089d
|
fixed seeding choking algorithm to be more fair (proper round robin)
|
2008-12-10 23:07:44 +00:00 |
Arvid Norberg
|
5fb854d724
|
improved super seeding with strict option
|
2008-12-09 07:56:37 +00:00 |
Arvid Norberg
|
b41cdd6469
|
initial super seeding support
|
2008-12-08 06:36:22 +00:00 |
Arvid Norberg
|
a00ddba109
|
fixed bug that would grossly underestimate the TCP/IP overhead
|
2008-12-01 07:23:58 +00:00 |
Arvid Norberg
|
09b3a865ef
|
fixed compiler flags in pkg-config file and made header files not depend on the NDEBUG define
|
2008-11-29 21:33:21 +00:00 |
Arvid Norberg
|
70119a6b53
|
consider 0-sized piece messages to be reject messages
|
2008-11-17 19:29:14 +00:00 |
Arvid Norberg
|
370ee02ef6
|
fixed incorrect assert when receiving a 0-size piece message
|
2008-11-17 19:12:34 +00:00 |
Arvid Norberg
|
c3bbf138a4
|
estimate TCP/IP overhead more accurately
|
2008-11-14 20:51:49 +00:00 |
Arvid Norberg
|
a5ba060240
|
when calculating desired queue size, block size should not depend on whether or not they are merged in the requests
|
2008-11-12 00:54:44 +00:00 |
Arvid Norberg
|
a7af4d806b
|
verbose logging improvement
|
2008-11-11 23:45:43 +00:00 |
Arvid Norberg
|
3412c0f709
|
added option to set peers in a state where it doesn't download
|
2008-11-06 08:34:56 +00:00 |
Arvid Norberg
|
e0bea061b5
|
disabled an expensive assert when TORRENT_EXPENSIVE_INVARIANT_CHECKS is not defined
|
2008-11-01 19:44:39 +00:00 |
Arvid Norberg
|
44e9ff70de
|
disconnect_if_redundant fix
|
2008-11-01 10:14:11 +00:00 |
Arvid Norberg
|
971f437b41
|
added num_pieces to peer_info. Fixes #385
|
2008-10-24 00:15:39 +00:00 |
Arvid Norberg
|
392dbb71da
|
more fixes to avoid unwanted exceptions
|
2008-10-23 04:10:23 +00:00 |
Arvid Norberg
|
a6ba48a60a
|
removed exception usage in dht implementation and peer_connection
|
2008-10-21 17:10:11 +00:00 |
Arvid Norberg
|
8b835bf75f
|
fix to faster unchoke a new peer if an unchoked peer becomes uninterested
|
2008-10-18 22:12:05 +00:00 |
Arvid Norberg
|
f5f03ff681
|
improved seeding of files with small pieces to avoid swithing back and forth between unchoke sets
|
2008-10-17 04:33:22 +00:00 |
Arvid Norberg
|
2d1b72628e
|
fix for unchoke_compare
|
2008-10-15 04:52:07 +00:00 |
Arvid Norberg
|
9152bc8712
|
fix to peer_connection::unchoke_compare
|
2008-10-15 02:18:59 +00:00 |
Arvid Norberg
|
f0cd0c152c
|
removed incorrect assert from recent check-in
|
2008-10-14 03:01:19 +00:00 |
Arvid Norberg
|
fdadccf7a2
|
asserts for unchoke slot handling
|
2008-10-14 02:03:54 +00:00 |
Arvid Norberg
|
c709cd28a8
|
fixes seeding behavior to avoid flipping unchoke slots back and forth too often
|
2008-10-14 00:57:58 +00:00 |
Arvid Norberg
|
62e365225b
|
made some moer invariant checks count as expensive
|
2008-10-10 07:08:46 +00:00 |
Arvid Norberg
|
b417a03877
|
removed unnecessary invariant check
|
2008-10-10 05:38:19 +00:00 |
Arvid Norberg
|
8499fd2fe2
|
moved some invariant checks into 'full-invariant-checks' builds
|
2008-10-10 05:25:55 +00:00 |
Arvid Norberg
|
d06fea3d6c
|
fix to handle 0-size piece response without asserting
|
2008-10-06 03:23:47 +00:00 |
Arvid Norberg
|
ccd75006d4
|
fixed failing invariant check caused by a life-time issue in debug mode
|
2008-10-05 23:36:50 +00:00 |
Arvid Norberg
|
7733f74d7a
|
fixed invariant check in peer_connection
|
2008-10-05 22:09:33 +00:00 |
Arvid Norberg
|
47c476dc0a
|
include TCP handshake overhead
|
2008-09-26 06:10:21 +00:00 |
Andrew Resch
|
4189e0b697
|
add peer_info::progress
|
2008-09-25 20:39:06 +00:00 |
Arvid Norberg
|
a3751cfcbe
|
fixed bug in peer_connection::incoming_piece() in case blocks were skipped. Fixed warnings.
|
2008-09-25 20:12:53 +00:00 |
Arvid Norberg
|
bb674134e3
|
fixed bind_port for outgoing peer connections
|
2008-09-25 07:40:55 +00:00 |
Arvid Norberg
|
13b343c1af
|
added assertions that the stats is updated properly when receiving and sending bytes on peer_connections
|
2008-09-21 17:12:26 +00:00 |
Arvid Norberg
|
f3d542fb2c
|
fixed inconsistent upload_only and seed in some cases when running a metadata-less torrent
|
2008-09-19 23:02:45 +00:00 |
Arvid Norberg
|
eb89269b6a
|
update_interest fix for torrents without metadata
|
2008-09-19 07:14:24 +00:00 |
Arvid Norberg
|
e85cb90652
|
fixed assert in peer_connection
|
2008-09-19 02:37:05 +00:00 |
Arvid Norberg
|
e7df553fdd
|
fixed race condition when calling a function that re-evaluates the interested flags on peers (such as prioritize files) right after the metadata is received, but before the connections are initialized
|
2008-09-18 20:17:49 +00:00 |
Arvid Norberg
|
a61c1ee01d
|
more disconnect handling for upload-only
|
2008-09-07 10:00:58 +00:00 |
Arvid Norberg
|
41808f8742
|
big change to improve piece picker. Better end-game mode. More options on which pieces to pick.
|
2008-09-06 21:04:57 +00:00 |
Arvid Norberg
|
c7c0974d3f
|
fixed bugs in verbose logging
|
2008-09-04 14:39:02 +00:00 |
Arvid Norberg
|
d179280da2
|
fixed off-by-one error when receiving a piece which skipped a bunch of requests
|
2008-09-01 17:41:13 +00:00 |
Arvid Norberg
|
92ed7fb364
|
fixed metadata extension issues
|
2008-08-29 17:21:56 +00:00 |
Arvid Norberg
|
238dcea91d
|
fixed missing 'set_error' when write failed
|
2008-08-26 23:10:42 +00:00 |
Arvid Norberg
|
7cdc7b2912
|
fixed typo
|
2008-08-25 21:10:13 +00:00 |
Arvid Norberg
|
f407c6d24e
|
fixed bug in piece time-out code. Fixes #388
|
2008-08-25 15:25:46 +00:00 |
Arvid Norberg
|
71db0f32db
|
removed incorrect assert. Fixes #309
|
2008-08-21 11:54:38 +00:00 |
Arvid Norberg
|
37389e4fe4
|
added test to measure peak download rate and introduced performance warning alert when disk buffer limit and request limit are reached
|
2008-08-19 15:04:14 +00:00 |
Arvid Norberg
|
89907cdae8
|
fix no-metadata case to not send any other messages before the bitfield (which is sent once we have the metadata)
|
2008-08-16 22:07:15 +00:00 |
Arvid Norberg
|
68b61e4df6
|
removed redundant condition
|
2008-08-12 09:27:42 +00:00 |
Arvid Norberg
|
c725d44ced
|
fixed serious issue with 'disconnect redundant peers' where seeds would be disconnected while downloading
|
2008-08-12 08:18:05 +00:00 |
Arvid Norberg
|
a8562a9f19
|
small optimization of expensive invariant check
|
2008-07-30 06:42:08 +00:00 |
Arvid Norberg
|
7607034ab6
|
exposed upload_only in peer_info
|
2008-07-19 07:57:43 +00:00 |
Arvid Norberg
|
4597de74df
|
removed incorrect assert
|
2008-07-19 07:35:24 +00:00 |
Arvid Norberg
|
429a118dd2
|
keep track of interest more tightly. better support for upload_only
|
2008-07-18 10:03:42 +00:00 |
Arvid Norberg
|
5bf38323c1
|
removed invariant check that can get triggered in peer_connection::snub_peer
|
2008-07-13 08:06:24 +00:00 |
Arvid Norberg
|
1ed583011c
|
made the invariant checks cheaper and more useful. The full invariant checks are still available as an option
|
2008-07-12 17:51:59 +00:00 |
Arvid Norberg
|
535aaf8182
|
fix to previous parole fix
|
2008-07-11 09:25:03 +00:00 |
Arvid Norberg
|
589e098002
|
fixed parole mode with timeouts and made it optional
|
2008-07-11 09:23:22 +00:00 |
Arvid Norberg
|
96ca475652
|
added redundant and failed byte counters to session
|
2008-07-11 07:30:04 +00:00 |
Arvid Norberg
|
680dab5a67
|
make 'snubbed' more sticky by only giving one request_timeout back when a new block is being received
|
2008-07-10 19:31:22 +00:00 |
Arvid Norberg
|
1bdb6afebd
|
fixes to previous connection timeout check-in
|
2008-07-10 10:58:30 +00:00 |
Arvid Norberg
|
d51bdc0ec0
|
rare request optimization
|
2008-07-09 18:01:00 +00:00 |
Arvid Norberg
|
22da6b5901
|
fixed bug where FAST pieces were cancelled when choking
|
2008-07-09 17:45:37 +00:00 |
Arvid Norberg
|
74fd7eea71
|
fixed alert posting typo
|
2008-07-09 17:40:03 +00:00 |
Arvid Norberg
|
fc3bb01587
|
ignore zero size piece messages
|
2008-07-09 17:37:38 +00:00 |
Arvid Norberg
|
2d099b090f
|
peer snubbing fix
|
2008-07-09 11:11:06 +00:00 |
Arvid Norberg
|
63d4e0d4a3
|
invariant check fix
|
2008-07-08 21:33:36 +00:00 |
Arvid Norberg
|
55a944c014
|
added a unwanted_block_alert
|
2008-07-08 18:41:04 +00:00 |
Arvid Norberg
|
5c749bcb3c
|
added base class for peer_alerts and turned more alerts into peer_alerts with more information about the peer that generated it
|
2008-07-08 09:30:10 +00:00 |
Arvid Norberg
|
8d4bea9f95
|
fixed invariant check that could be triggered since peer snubbing was introduced
|
2008-07-08 08:13:45 +00:00 |
Arvid Norberg
|
a20f1a8fa0
|
keeps track of the number of requests waiting in the send buffer and adjusts bandwidht priority accordingly in the bandwidth limiter
|
2008-07-08 00:03:08 +00:00 |
Arvid Norberg
|
f7042ca84a
|
improved piece timeout and peer snubbing logic
|
2008-07-07 12:04:06 +00:00 |
Arvid Norberg
|
e576babbb8
|
changed the alerts to have categories and to be filtered with a bitmask instead of having a severity and be filtered by a severity level.
|
2008-07-06 12:22:56 +00:00 |
Arvid Norberg
|
66a7f98d84
|
fixed missing torrent error state
|
2008-07-02 21:27:16 +00:00 |
Arvid Norberg
|
0e1d2ede70
|
fix invariant-check bug in peer_connection
|
2008-06-30 07:58:50 +00:00 |
Arvid Norberg
|
8f1abd9dbe
|
fix bug in previous check-in
|
2008-06-29 18:03:38 +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
|
ae9f1e0465
|
fixed typo
|
2008-06-29 06:01:20 +00:00 |
Arvid Norberg
|
d1b2cd558e
|
moved peer time out logic to second tick
|
2008-06-29 05:35:48 +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
|
964e8b93d0
|
added option to deliberately corrupt data from certain peers, to test the case when hash fails occurs
|
2008-06-23 15:37:24 +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
|
9a8fc4f713
|
self connection fixes
|
2008-06-16 13:54:14 +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
|
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
|
68c31e48dc
|
replaced vector<bool> with a custom bitfield type
|
2008-05-28 02:35:02 +00:00 |
Arvid Norberg
|
c460704a5f
|
streamlined class footprint by reducing padding
|
2008-05-19 02:52:32 +00:00 |
Arvid Norberg
|
111f5faecb
|
upload only extension
|
2008-05-18 05:59:47 +00:00 |
Arvid Norberg
|
91d6099a55
|
fixed issue with torrents with 0 pieces. Fixes #306
|
2008-05-15 02:29:26 +00:00 |
Arvid Norberg
|
f259e34f86
|
peer_connection fix for incoming connections
|
2008-05-12 10:10:39 +00:00 |
Arvid Norberg
|
2fbe53f880
|
assert fix
|
2008-05-12 06:31:54 +00:00 |
Arvid Norberg
|
971ead4a44
|
made redundant connction closing optional (defaults to on)
|
2008-05-12 06:25:53 +00:00 |
Arvid Norberg
|
068adcd9a9
|
indentation fix
|
2008-05-12 06:03:31 +00:00 |
Arvid Norberg
|
eabe9cad2d
|
improved plugin support
|
2008-05-12 03:05:27 +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
|
c7e6c04705
|
switched over to asio from boost-1.35
|
2008-05-03 16:05:42 +00:00 |
Arvid Norberg
|
441aacae32
|
fixed download bug affecting web seeds
|
2008-04-29 03:12:14 +00:00 |
Arvid Norberg
|
a4b69e5b2d
|
logging improvements
|
2008-04-20 17:17:58 +00:00 |
Arvid Norberg
|
d4cfa126aa
|
storage fixes
|
2008-04-12 22:08:07 +00:00 |
Arvid Norberg
|
42f55adcce
|
support for country lookup through GeoIP
|
2008-04-11 08:46:43 +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
|
2c77ae8307
|
fixed typo
|
2008-04-10 05:40:54 +00:00 |
Arvid Norberg
|
62daedeae0
|
fixed race condition when a torrent is removed while one of the connections is still in the connection queue
|
2008-04-09 20:12:52 +00:00 |
Arvid Norberg
|
5a6e21f484
|
peer_connection disconnect cleanup
|
2008-04-09 04:09:40 +00:00 |
Arvid Norberg
|
e329403619
|
removed exceptions from peer_connection
|
2008-04-07 08:39:01 +00:00 |
Arvid Norberg
|
04a9dd77b5
|
assert fix
|
2008-04-07 08:15:31 +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
|
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
|
e1eadab1b4
|
fixed memory leak on disk io failures
|
2008-03-24 02:33:42 +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
|
ab2354c9b4
|
small optimization to previous fix
|
2008-03-14 17:43:38 +00:00 |
Arvid Norberg
|
2cfbfd203f
|
made tests build and pass in trunk. fixed issues in trunk revealed by the tests. fixed failing torrent invariant check in trunk and rc0.13
|
2008-03-14 10:17:27 +00:00 |
Arvid Norberg
|
8132c6aad6
|
added option to control TOS byte in peer traffic
|
2008-03-12 16:58:23 +00:00 |
Arvid Norberg
|
5173c7fe31
|
more invariant check in peer connection
|
2008-03-12 08:36:22 +00:00 |
Arvid Norberg
|
a97be6937a
|
unchoker counts bytes instead of rates
|
2008-03-10 03:30:01 +00:00 |
Arvid Norberg
|
35c113c0cb
|
piece request fix + better logging of throttling
|
2008-02-27 20:37:41 +00:00 |
Arvid Norberg
|
333839c9b4
|
piece picker update
|
2008-02-18 03:07:14 +00:00 |
Arvid Norberg
|
f1ceb44dc4
|
fixed assert. #271
|
2008-02-17 20:40:21 +00:00 |
Arvid Norberg
|
cecd0dfcd2
|
added rtt estimation for outgoing connections
|
2008-02-09 22:42:56 +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
|
5d4d08b7ce
|
fix problem introduced with new piece picker
|
2008-02-05 05:57:32 +00:00 |
Arvid Norberg
|
1c82ef36d8
|
improved support for out-of-memory conditions
|
2008-02-05 05:51:05 +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
|
8b455be1d9
|
better exception handling and more invariant checks
|
2008-01-19 19:00:54 +00:00 |
Arvid Norberg
|
127d3e6ad5
|
bandwidth limiter fixes. proper priority that cannot starve connections
|
2008-01-17 17:40:46 +00:00 |
Arvid Norberg
|
c69fa07e2d
|
error handling fixes
|
2008-01-16 21:07:04 +00:00 |
Arvid Norberg
|
b19bf337bf
|
generalized peer read/write state
|
2008-01-13 23:46:43 +00:00 |
Arvid Norberg
|
f48ded8a54
|
fast extension fix
|
2008-01-13 09:33:00 +00:00 |
Arvid Norberg
|
616a48b591
|
fix to count loopback connections as local peers
|
2008-01-11 05:40:19 +00:00 |
Arvid Norberg
|
471d81394d
|
added invariant check
|
2008-01-10 22:44:32 +00:00 |
Arvid Norberg
|
3a727e99ff
|
expose more info through peer_info
|
2008-01-10 22:13:23 +00:00 |
Arvid Norberg
|
4420473b88
|
made send buffer watermark configurable
|
2008-01-08 01:16:30 +00:00 |
Arvid Norberg
|
1d6e0f5bf6
|
bandwidth request block size optimization
|
2008-01-07 04:47:20 +00:00 |
Arvid Norberg
|
0dfb129b57
|
another failcount update fix
|
2008-01-07 04:07:31 +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
|
4271eda751
|
correctly increase the failcounter when appropriate
|
2008-01-07 00:33:20 +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
|
9d2c0e370e
|
fixed broken assert
|
2007-12-31 10:11:10 +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
|
cfe5c8962e
|
more asserts around send buffers and fixes potential race condition
|
2007-12-27 21:43:11 +00:00 |