Arvid Norberg
|
7f3aac3959
|
fix issue with unchoke_slots_limit not preserving its value correctly
|
2011-12-19 05:53:11 +00:00 |
Arvid Norberg
|
8e8f798905
|
get rid of read-recurse hack
|
2011-11-30 20:07:18 +00:00 |
Arvid Norberg
|
cab1f3d207
|
fix issue when peer list is full, previously we would sometimes reject new connections
|
2011-11-24 17:50:57 +00:00 |
Arvid Norberg
|
fdc5e7e8b2
|
keep track of where redundant downloads come from. make the timing out of block requests more reasonable in an attempt to actually complete pieces from other peers when stuck on a slow one
|
2011-11-16 02:29:59 +00:00 |
Arvid Norberg
|
c4232065d8
|
introduced a more scalable API for torrent status updates (post_torrent_updates())
|
2011-11-15 02:34:00 +00:00 |
Arvid Norberg
|
3eb1b1839d
|
add verbose peer logging for setting TOS byte
|
2011-11-10 09:18:55 +00:00 |
Arvid Norberg
|
9a49372368
|
fix invariant check now that interest is calculated lazily
|
2011-11-03 09:20:16 +00:00 |
Arvid Norberg
|
ec80a85bdb
|
fixed connection setup and teardown issues
|
2011-10-28 23:34:55 +00:00 |
Arvid Norberg
|
dfda3c9a95
|
another channel state fix
|
2011-10-28 22:56:23 +00:00 |
Arvid Norberg
|
85ff124503
|
one more channel stat fix
|
2011-10-28 21:38:45 +00:00 |
Arvid Norberg
|
becd714bc8
|
channel state fix
|
2011-10-27 08:42:51 +00:00 |
Arvid Norberg
|
602e0089f9
|
fixed silly typo
|
2011-10-26 01:00:53 +00:00 |
Arvid Norberg
|
e58e27e83a
|
change peer_states to be a bitmask (bw_limit, bw_network, bw_disk)
|
2011-10-25 17:34:42 +00:00 |
Arvid Norberg
|
9afd09d797
|
optimize sending buffers on peer sockets by corking and uncorking
|
2011-10-24 04:22:53 +00:00 |
Arvid Norberg
|
d3fb55e1da
|
optimize socket send buffers a bit
|
2011-10-19 02:40:37 +00:00 |
Arvid Norberg
|
a9b51e1579
|
fix overflow issue when determining number of outstanding bytes
|
2011-10-18 16:22:36 +00:00 |
Arvid Norberg
|
8b6522a763
|
log buffer sizes passed to read() and write() at the socket layer (to identify performane problems)
|
2011-10-17 06:54:02 +00:00 |
Arvid Norberg
|
aab4cb6937
|
log number of asio messages passed through the queue per second (to track down performance issue)
|
2011-10-17 05:17:21 +00:00 |
Arvid Norberg
|
451c31828f
|
changed semantics of send_buffer_watermark_factor to be specified as a percentage
|
2011-09-23 21:12:28 +00:00 |
Arvid Norberg
|
61ceacca9b
|
fix non-openssl logging build
|
2011-09-21 03:51:07 +00:00 |
Arvid Norberg
|
469414d486
|
initial BitTorrent over SSL support
|
2011-09-12 03:51:49 +00:00 |
Arvid Norberg
|
92bcb9ebfd
|
feature to encrypt peer connections with a secret AES-256 key stored in .torrent file
|
2011-09-05 05:50:41 +00:00 |
Arvid Norberg
|
51c10cc76f
|
on disk errors, only set upload-only for some errors. For all others, pause the torrent. Also fixed some release asserts
|
2011-08-22 01:37:56 +00:00 |
Arvid Norberg
|
1d40d7aad9
|
fixing up some asserts and verbose logging
|
2011-08-13 18:46:52 +00:00 |
Arvid Norberg
|
d4958c9286
|
support for dont-have extension message
|
2011-08-07 00:41:13 +00:00 |
Arvid Norberg
|
6a4708ef15
|
fix potential infinite loop in request_time_critical_pieces
|
2011-08-05 17:35:09 +00:00 |
Arvid Norberg
|
57f24128a9
|
add more default reporting about the request and download queue of peers to track end-game stall issue
|
2011-06-06 04:24:12 +00:00 |
Arvid Norberg
|
ae76e77065
|
fix up some cases where we shouldn't be in end-game mode
|
2011-06-01 09:14:21 +00:00 |
Arvid Norberg
|
88fa0b9393
|
optimize send buffer allocation and deallocation by not allowing requiring contiguous buffers
|
2011-05-19 02:41:28 +00:00 |
Arvid Norberg
|
6e23b9f5a6
|
allow torrents to keep running when they encounter an error (such as disk full) but still report the error in the torrent's error string
|
2011-05-16 07:47:21 +00:00 |
Arvid Norberg
|
e946ba654f
|
release assert fixes
|
2011-05-08 23:52:06 +00:00 |
Arvid Norberg
|
a73960aa5a
|
support release asserts
|
2011-05-08 09:04:59 +00:00 |
Arvid Norberg
|
449733d518
|
logging fixes
|
2011-05-01 08:58:45 +00:00 |
Arvid Norberg
|
eaea22be71
|
make torrent priority stricly prefer unchoking peers on high priority torrents
|
2011-04-30 20:33:35 +00:00 |
Arvid Norberg
|
90719bf77d
|
fixed bug when receiving a have message before having the metadata
|
2011-04-29 02:45:02 +00:00 |
Arvid Norberg
|
bbde8f772a
|
fix bug in seed mode when a piece fails hash check
|
2011-04-28 06:36:44 +00:00 |
Arvid Norberg
|
ebd116cce3
|
clean up disk callbacks a bit with regards to whether the torrent is still alive
|
2011-04-28 03:23:14 +00:00 |
Arvid Norberg
|
1723e2d4f7
|
don't time out peers as long as we can upload to them
|
2011-04-27 08:05:37 +00:00 |
Arvid Norberg
|
573a291495
|
first step to remove recursion in bandwidth channel
|
2011-04-21 03:13:53 +00:00 |
Arvid Norberg
|
6a9865b7c9
|
fix invariant check for graceful pause
|
2011-04-11 02:57:32 +00:00 |
Arvid Norberg
|
3435da235d
|
make is_upload_only() be accurate and deal with super seeding special case only where necessary. Fix pointless assert in invariant check
|
2011-04-09 23:57:56 +00:00 |
Arvid Norberg
|
65943e7ff7
|
fixed reconnect delay when leaving upload only mode
|
2011-03-25 05:14:14 +00:00 |
Arvid Norberg
|
7e07f7469f
|
fixed bug in web_connection_base when receiving chunked encoding and made sure the unit tests pass
|
2011-03-24 16:46:26 +00:00 |
Arvid Norberg
|
057dab11e0
|
fix bug in recent performance warning
|
2011-03-17 04:56:02 +00:00 |
Arvid Norberg
|
6db11079c8
|
add performance warning when disk write queue exceeds half of the write cache size
|
2011-03-16 07:45:51 +00:00 |
Arvid Norberg
|
f9f5e3138c
|
fix suggest piece bug
|
2011-03-15 01:58:48 +00:00 |
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 |