Arvid Norberg
|
be4f593ddf
|
fix warning
|
2011-03-13 08:07:33 +00:00 |
Arvid Norberg
|
209bee16bf
|
choker fix. some logic had made it into the bittyrant choker that would never be used
|
2011-03-02 07:26:09 +00:00 |
Arvid Norberg
|
83e8700615
|
minor fixes
|
2011-03-01 21:57:03 +00:00 |
Arvid Norberg
|
56937edf56
|
cleaned up some exception handling and introduced macros like BOOST_TRY/BOOST_CATCH to make the optional exception handling nicer
|
2011-02-25 17:00:36 +00:00 |
Arvid Norberg
|
141ada013f
|
fixed a whole bunch of build warnings on gcc and msvc, along with some fixes discovered along the way
|
2011-02-21 05:24:41 +00:00 |
Arvid Norberg
|
7f981ece6c
|
fixed incorrect assert
|
2011-02-15 10:11:36 +00:00 |
Arvid Norberg
|
c4c1773ceb
|
fixed some warnings
|
2011-02-15 10:05:25 +00:00 |
Arvid Norberg
|
7eba4cc310
|
fix verbose logging build
|
2011-02-15 07:39:25 +00:00 |
Arvid Norberg
|
7d300c807a
|
no handshake counts as a connect failure
|
2011-02-14 06:37:22 +00:00 |
Arvid Norberg
|
247ad31dc0
|
more disconnect granularity in stats logging
|
2011-02-14 05:38:59 +00:00 |
Arvid Norberg
|
b471e40064
|
log more details on the cause of disconnects
|
2011-02-14 04:48:02 +00:00 |
Arvid Norberg
|
8bb71da401
|
disk write queue watermark fix
|
2011-02-13 22:27:02 +00:00 |
Arvid Norberg
|
a42d42fd11
|
CPU optimization for end-game piece picker
|
2011-02-09 02:56:00 +00:00 |
Arvid Norberg
|
5df4e7edd9
|
added more piece picker stats
|
2011-02-07 00:51:20 +00:00 |
Arvid Norberg
|
3d616f894e
|
end-game mode optimizations
|
2011-02-06 23:40:21 +00:00 |
Arvid Norberg
|
adb250cf5c
|
fixed missing logging of peer disconnects
|
2011-02-04 07:14:00 +00:00 |
Arvid Norberg
|
fa40cf38aa
|
demoted some errors to regular disconnect messages
|
2011-02-04 06:55:39 +00:00 |
Arvid Norberg
|
88663bfbde
|
log more peer errors in stats log
|
2011-02-04 04:31:20 +00:00 |
Arvid Norberg
|
9715fbdb3a
|
only post peer error alerts for actual errors
|
2011-02-04 03:49:20 +00:00 |
Arvid Norberg
|
bf77ee4199
|
extended stats logging
|
2011-02-03 06:22:22 +00:00 |
Arvid Norberg
|
5456f2ac91
|
provide more stats with stats builds
|
2011-02-03 04:09:50 +00:00 |
Arvid Norberg
|
6ecf04137f
|
fix stats build
|
2011-02-01 17:25:06 +00:00 |
Arvid Norberg
|
012bfba3f7
|
fix disk queue counters
|
2011-02-01 16:55:32 +00:00 |
Arvid Norberg
|
d393bb4097
|
report number of peers blocked on disk in session_status
|
2011-01-30 10:04:15 +00:00 |
Arvid Norberg
|
0c16163e71
|
fix build with no extensions support
|
2011-01-29 12:13:49 +00:00 |
Arvid Norberg
|
b230c385d9
|
clean up logic around waiting for disk write queue to fall below low watermark. optimize peer disconnect. Fix integer overflow bug in uTP/TCP mixed mode algorithm. Fixed some invariant checks for closing connections issues
|
2011-01-25 08:03:35 +00:00 |
Arvid Norberg
|
021a774168
|
rate limit outstanding-disk performance warnings. don't throttle reading form peers because of disk congestion if the peer isn't downloading payload. Don't time out peers that are not waiting on the network
|
2011-01-23 02:09:54 +00:00 |
Arvid Norberg
|
8c851b4d34
|
move an assert
|
2011-01-16 22:22:33 +00:00 |
Arvid Norberg
|
8cec51fc47
|
fixes to make valgrind happy
|
2010-12-24 01:22:49 +00:00 |
Arvid Norberg
|
c4422cd34e
|
optimize test_transfer. fix set_upload_mode() bug for seeds. clean up some verbose logging. fix tests to not fail by EAGAIN on stdout
|
2010-12-24 00:37:01 +00:00 |
Arvid Norberg
|
76f1a9aad0
|
verbose logging cleanup
|
2010-12-19 19:40:32 +00:00 |
Arvid Norberg
|
20d4279177
|
optimized piece picking to not cause busy loops in some end-game modes
|
2010-12-18 10:19:34 +00:00 |
Arvid Norberg
|
f4746f4090
|
verbose logging cleanup
|
2010-12-01 04:22:03 +00:00 |
Arvid Norberg
|
e5f980d80d
|
merged uTP branch into trunk (yay)
|
2010-11-29 01:33:05 +00:00 |
Arvid Norberg
|
2e871382d7
|
add debug configuration to debug shutdown-stall bugs / outstanding async operations
|
2010-11-28 01:47:30 +00:00 |
Arvid Norberg
|
7cd628e78d
|
fix for unchoking optimistically unchoked peers
|
2010-11-23 20:36:27 +00:00 |
Arvid Norberg
|
dc639193db
|
don't time out peers for inactivity if it's caused by a download rate limit or blocking on disk
|
2010-11-02 06:44:25 +00:00 |
Arvid Norberg
|
24916ac908
|
fixed typo
|
2010-10-31 22:26:22 +00:00 |
Arvid Norberg
|
8737a339c8
|
refactored verbose peer logging to use format strings
|
2010-10-31 22:12:26 +00:00 |
Arvid Norberg
|
e4de1fc8b1
|
graceful disconnect mode which finishes transactions before disconnecting peers
|
2010-10-30 08:36:18 +00:00 |
Arvid Norberg
|
d737dd051d
|
added support for chunked encoding for web seeds
|
2010-10-27 06:39:18 +00:00 |
Arvid Norberg
|
cadd4f1b8d
|
anti-leach seeding unchoke mode
|
2010-10-21 05:53:13 +00:00 |
Arvid Norberg
|
eba657d8ad
|
reports redundant downloads to tracker, fixed downloaded calculation to be more stable when not including redundant. Improved redundant data accounting to be more accurate
|
2010-10-18 00:10:33 +00:00 |
Arvid Norberg
|
977c2d34dd
|
log ratelimits in peer bandwidth request entry
|
2010-10-17 17:39:11 +00:00 |
Arvid Norberg
|
e494cb219b
|
made seeding choking algorithm configurable
|
2010-10-09 21:11:03 +00:00 |
Arvid Norberg
|
21cbd1fac4
|
deprecated setters for max connections, max half-open, upload and download rates and unchoke slots. These are now set through session_settings
|
2010-10-09 19:09:38 +00:00 |
Arvid Norberg
|
087552f52a
|
fixed another assert in disconnect
|
2010-10-04 15:49:30 +00:00 |
Arvid Norberg
|
e1948fa203
|
make the invariant check less expensive
|
2010-10-04 03:26:42 +00:00 |
Arvid Norberg
|
7d94fff11a
|
fixed one more assert
|
2010-10-04 03:06:51 +00:00 |
Arvid Norberg
|
f11b1ce6a0
|
fixed failing invariant check in peer_connection's download queue
|
2010-10-03 22:06:53 +00:00 |
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 |