Charles Kerr
9c9c94a81d
(trunk libT) discard peers from the tracker or pex that have a port of 0 or a multicast address.
2009-01-17 23:14:35 +00:00
Charles Kerr
7a91840639
(trunk libT) Remove tr_peerMgrHasConnections, it isn't used anywhere
2009-01-14 01:37:24 +00:00
Charles Kerr
486c55c1ed
(trunk libT) peerMgr: operate directly on tr_torrent and not peerMgr+torrentHash
2009-01-13 21:00:05 +00:00
Charles Kerr
8b72408948
(trunk libT) Get rid of peer-mgr-private.h (from wereHamster)
2009-01-13 16:32:43 +00:00
Charles Kerr
a13e0755f0
(trunk libT) close open files immediately after they're done downloading
2009-01-12 21:59:53 +00:00
Charles Kerr
2f6b56671f
(trunk libT) win32 portability patch from Alexey
2009-01-11 17:02:04 +00:00
Charles Kerr
fe816d8135
(trunk) update the GPL code's copyright dates
2009-01-10 23:09:07 +00:00
Charles Kerr
2702fc289a
(trunk libT) finally get around to making upload-slots-per-torrent a settings.json option, thanks to friendly prodding from ful in #transmission
2009-01-09 15:45:44 +00:00
Charles Kerr
73d32850ed
(trunk libT) fix refcount error in the new peer-io refcount code
2009-01-06 03:21:22 +00:00
Charles Kerr
3ff145f058
(trunk libT) two bugfixes in one: (1) fix leaking tr_handshake objects reported by BentMyWookie (2) fix yet another permutation of the tr_isBandwidth() assertion failure -- maybe the last one? -- reported by Waldorf
2009-01-06 00:24:44 +00:00
Charles Kerr
30a989f1df
(trunk libT) fix the new-code errors reported by ZogG and Rolcol and Spaham
2009-01-05 18:20:47 +00:00
Charles Kerr
1b527610dd
(trunk libT) yet another step in the debugging cycle, crash report from ZogG and Rolcol
2009-01-05 07:57:10 +00:00
Charles Kerr
124658791a
(trunk libT) probably fix r7618 reported in #transmission by Rolcol
2009-01-05 06:45:08 +00:00
Charles Kerr
5ccd5a7700
(trunk libT) fix the much-hated "Assertion failed: (tr_isPeerIo( io ))". Also, repeated calls to tr_date() were taking up about 78% of the time in tr_stat(), so instead of calling multiple times, call it once in tr_stat() and pass that value around to the functions that need it.
2009-01-05 04:27:54 +00:00
Charles Kerr
ca6dd89e10
(trunk libT) minor tr_ptrArray API cleanup
2009-01-04 16:59:15 +00:00
Charles Kerr
78cf80d3c0
(trunk libT) experimental code to get more peers faster
2009-01-03 07:23:26 +00:00
Charles Kerr
0d2d375125
(trunk libT) inline a few more torrent methods
2009-01-03 00:25:27 +00:00
Charles Kerr
d756d6b58f
(trunk libT) commit some debugging messages that were added to trackdown the multicast filter issue
2009-01-02 21:50:51 +00:00
Charles Kerr
d202c5ecea
(trunk libT) inline the ptrarray one-liners
2009-01-02 20:19:10 +00:00
Charles Kerr
b41cf9f231
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_bandwidth, contain the it directly rather than a pointer to one allocated elsewhere on the heap.
2009-01-02 19:56:06 +00:00
Charles Kerr
199e38dd66
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_completion, contain the it directly rather than a pointer to one allocated elsewhere on the heap.
2009-01-02 17:01:55 +00:00
Charles Kerr
82c5aca513
(trunk libT) Remove UNUSED attribute, the function argument is being used
2009-01-01 18:36:58 +00:00
Charles Kerr
5381e20e9b
(trunk libT) improve piece verification speed by providing a larger buffer, and add a mechanism to reuse it when verifying an entire torrent at once.
2008-12-31 18:08:13 +00:00
Charles Kerr
71864c18e2
(trunk libT) blockIteratorNew() was overallocating much more memory than it used.
2008-12-30 21:18:30 +00:00
Charles Kerr
2b4193b200
(trunk libT) remove obsolete tr_peerMgr.c's getConnectedPeers()
2008-12-30 08:20:16 +00:00
Charles Kerr
427f639664
(trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_ptrArray, contain the tr_ptrArray directly rather than a pointer to one allocated elsewhere on the heap.
2008-12-29 08:54:36 +00:00
Charles Kerr
6f8e5352ab
(trunk libT) fix connectivity error reported by Stargazer. Also, add more debug statements to track down errors like this in the future
2008-12-24 02:50:08 +00:00
Charles Kerr
dfcc9173e5
(trunk libT) #include "session.h" cleanup from wereHamster
2008-12-23 17:27:15 +00:00
Charles Kerr
acdd8c860c
(trunk libT) minor cleanups found while diffing for backport to 1.4x in r7455
2008-12-22 00:52:44 +00:00
Erick Turnquist
38efb62100
add some debugging stuff to track down where some bogus addresses are coming from
2008-12-21 19:13:52 +00:00
Charles Kerr
72ded3b272
try to rework the bandwidth code yet again s.t. it satisfies all three: (1) fairly distributes bandwidth across all peers, (2) scales well in high-bandwidth situations, (3) is good at hitting and staying at bandwidth limits/goals
2008-12-20 22:19:34 +00:00
Charles Kerr
d4b4f39754
test commit for vraa
2008-12-18 03:22:08 +00:00
Charles Kerr
de24179d05
(trunk libT) fix assertion error reported by Rolcol earlier today in #transmission
2008-12-17 03:38:02 +00:00
Charles Kerr
1a7ab297ea
(trunk libT) more runtime safety checks
2008-12-16 23:31:05 +00:00
Charles Kerr
69b8caa93b
(trunk libT) yet another assertion commit
2008-12-16 22:52:04 +00:00
Charles Kerr
15ecde281b
(trunk libT) fix jhujhiti's pex crash
2008-12-16 22:28:19 +00:00
Charles Kerr
31e49df302
(trunk libT) add a similar check to the peer->addr in the place where crash is occurring
2008-12-16 21:12:14 +00:00
Charles Kerr
3739f5c72c
(trunk libT) fix oops: accidentally committed an fprintf() debug message. hi, titer.
2008-12-16 06:35:51 +00:00
Charles Kerr
9594112d27
updated email address
2008-12-16 00:20:44 +00:00
Charles Kerr
e813ea69ab
(trunk libT) probable fix for the "greedy peer" bug
2008-12-15 21:22:08 +00:00
Charles Kerr
54be88dec3
(trunk libT) add ipv6 support by jhujhiti. I think this is the largest user-contributed patch we've ever used... thanks jhujhiti :)
2008-12-15 00:17:08 +00:00
Charles Kerr
0272708d32
(trunk libT) remove a couple of redundant and/or unused fields from struct peer_atom and tr_peermsgs.
2008-12-12 02:44:21 +00:00
Charles Kerr
451058d5cd
(libT) add some documentation about the three separate peer structs and how they are related.
2008-12-11 17:02:34 +00:00
Charles Kerr
65fe66c470
(trunk libT) fix bug which caused libtransmission to hold onto nonproductive peers for longer than it should've
2008-12-11 07:04:46 +00:00
Charles Kerr
9e98dcd248
(libT) minor cleanup: using tr_bool, fixing up bad code indentation, using %zu on size_t instead of casting to int...
2008-12-05 22:56:19 +00:00
Charles Kerr
761d7dba8e
(libT) when picking peers to connect to, all other things being equal, pick peers from more reliable sources
2008-12-03 01:22:24 +00:00
Charles Kerr
166c6e5f3c
(libT) add tr_peer_stat.isSeed
2008-12-02 23:16:01 +00:00
Charles Kerr
d4ee0d714a
(libT) #1379 : support "partial seeds" BEP 22
2008-12-02 19:46:51 +00:00
Charles Kerr
c414377c1a
(libT) fix r7234 bug reported by John_Clay
2008-12-02 19:06:08 +00:00
Charles Kerr
f927ea5d63
(libT) #1549 : support fast exensions' "reject" and "have all/none" messages
2008-12-02 17:10:54 +00:00
Charles Kerr
0d5fed6442
(libT) re-apply jhujhiti's IPv6 patch. This merges in my tr_port cleanup, so any new bugs are mine :/
2008-12-02 03:41:58 +00:00
Charles Kerr
a14621c363
(libT) janitorial: use the tr_port type whenever we have a `port' as a function argument or as a field in a struct.
2008-12-01 20:51:01 +00:00
Charles Kerr
7fa9813955
(libT) #252 : revert r7195 (jhujhiti's IPv6 test patch). It seems to be the culprit in a `thrashing' issue reported by Waldorf and m1b in irc -- the behavior appeared between r7183 and r7187 -- so this commit is to trigger off a nightly build w/o the patch to test with in irc.
2008-12-01 20:21:06 +00:00
Charles Kerr
c910993b68
#1379 lay some very early groundwork for "partial seeds" -- change tr_completion's enum to use the partial seed terminology
2008-11-30 01:52:45 +00:00
Charles Kerr
a2ad4f6543
(libT) patch from jhujhiti to add ipv6 support.
2008-11-30 00:47:18 +00:00
Charles Kerr
40b5fc5351
(libT) #1532 : patch from jhujhiti to remove (unused) fast extensions
2008-11-29 20:37:34 +00:00
Charles Kerr
d12af295c1
use tr_bool instead of C bitfields. ( http://blogs.msdn.com/oldnewthing/archive/2008/11/26/9143050.aspx )
2008-11-28 22:11:41 +00:00
Charles Kerr
9de7ccf7da
(libT) slightly more accurate reporting of piece data vs. raw data
2008-11-26 15:58:26 +00:00
Charles Kerr
f44248a7d7
(libT) yet another stab at getting bandwidth management under control. this version may suck less than previous attempts. It also breaks the mac build until someone adds iobuf.[ch] to xcode...
2008-11-25 21:35:17 +00:00
Charles Kerr
24deca88e4
oops, turn off a debugging message
2008-11-24 04:35:34 +00:00
Charles Kerr
be5e6774ad
(libT) #1468 : another stab at getting the peer transfer speeds both fast and a little more consistent.
2008-11-24 04:21:23 +00:00
Charles Kerr
9571f3b714
(libT) #1468 : speed display is very jumpy
2008-11-23 16:31:28 +00:00
Charles Kerr
d7b3024dbc
(libT) #1488 : peer port missing in json rpc interface
2008-11-20 20:39:19 +00:00
Charles Kerr
f172e8f96e
(libT) another possible fix for #1468 : Speed display is very jumpy
2008-11-20 03:07:26 +00:00
Charles Kerr
a0fd42c5c3
(libT) better possible fix for #1468 : Speed display is very jumpy
2008-11-17 04:00:57 +00:00
Charles Kerr
1619652997
revert 7120; it was not a fix
2008-11-16 21:15:37 +00:00
Charles Kerr
f385cd4e02
(libT) possible fix for #1468 : Speed display is very jumpy
2008-11-16 17:47:42 +00:00
Charles Kerr
d42fae7dce
(libT) fix r7109 oops spotted by BentMyWookie
2008-11-15 01:07:08 +00:00
Charles Kerr
930b94a4de
(libT) some people have complained that Transmission doesn't upload enough until after downloading is complete. This commit ought to fix that.
2008-11-15 00:46:51 +00:00
Charles Kerr
73197c53f3
tweak the bandwidth manager code a little more to try & prevent oscillation
2008-11-08 15:39:48 +00:00
Charles Kerr
9e6b768f3d
(libT) fix minor r7069 oops: remove a console debug message
2008-11-08 02:54:17 +00:00
Charles Kerr
42fe27c067
more fucking around with the speed measurements.
2008-11-08 02:49:04 +00:00
Charles Kerr
58ea9e4be8
(libT) revise r7065
2008-11-07 05:37:59 +00:00
Charles Kerr
c8b51fb734
#1429 (libT) cleaner handling of the special case where the upload or download speed limit is zero
2008-11-07 04:10:27 +00:00
Charles Kerr
c8a07d7ca6
(libT) fix r7055 bug reported by BentMyWookie. Also, narrow the bandwidth allocator's `clamp' range to lessen oscillation
2008-11-06 04:16:53 +00:00
Charles Kerr
8e4fa83c77
update NEWS
2008-11-06 02:56:51 +00:00
Charles Kerr
17b8624ca7
(libT) #1417 : revert r7039
2008-11-04 21:33:24 +00:00
Charles Kerr
9859578a7d
(libT) #1417 : overhead should be counted in the global stats
2008-11-04 17:37:51 +00:00
Charles Kerr
631d9d9a8f
(libT) fold together some redundant sanity tests that were taking up 6.6% in softwareelves' profile
2008-10-27 04:27:55 +00:00
Charles Kerr
06939cafa6
(libT) low-hanging fruit discovered from softwareelves' shark profile.
2008-10-26 15:39:04 +00:00
Charles Kerr
d03f0283dd
(libT) minor code cleanup for r6954
2008-10-25 15:19:46 +00:00
Charles Kerr
e15114e2aa
new & improved fix for #617 : Transmission goes above the set bandwidth limits
2008-10-25 02:20:16 +00:00
Charles Kerr
84dcaab5f4
remove dead code
2008-10-22 13:57:30 +00:00
Charles Kerr
aba2849375
#1302 : possible fix
2008-10-21 19:27:57 +00:00
Charles Kerr
ea668ca9ff
(libT) possible fix for the up/down display inconsistency reported by BentMyWookie.
2008-10-20 03:47:48 +00:00
Charles Kerr
b5c2f14387
(libT) dead code removal
2008-10-14 20:44:41 +00:00
Charles Kerr
e660acc669
fix oops
2008-10-14 01:29:33 +00:00
Charles Kerr
ef5bc3f150
(libT) more win32 work copied from spry's code:
...
(1) add #define for {read,write,strncasecmp} -> {_read,_write,_strnicmp}
(2) fix a couple more variadic macros that didn't get fixed in the last commit
(3) use evutil_strtoll() instead of strtoll()
2008-10-14 01:00:15 +00:00
Charles Kerr
f00c8ff34d
possible fix for #1305 "Transmission losing data - Session Transfer significantly higher than actual download". This patch may need more user testing and will definitely make webseeds slower. suck it up.
2008-10-11 04:07:50 +00:00
Charles Kerr
413211288b
#1338 : fix win32 build errors
2008-10-10 02:14:51 +00:00
Charles Kerr
964d7e193c
(libT) #1338 : EMSGSIZE and EPROTO not found on Windows
2008-10-10 00:38:37 +00:00
Charles Kerr
178008650e
(libT) remove dead code
2008-10-06 19:44:38 +00:00
Charles Kerr
5391f768f4
fix a null pointer dereference
2008-10-05 22:51:18 +00:00
Charles Kerr
4fab4c9e9b
(libT) finish killing tr_errno.
2008-10-03 04:49:06 +00:00
Charles Kerr
79d8a5cdf3
(libT) eliminating tr_errno, part 1: make tr_ioTestPiece return an int instead of a tr_errno.
2008-10-02 20:30:29 +00:00
Charles Kerr
b1ef118e3f
(libT) housekeeping: tr_torrent.handle --> tr_torrent.session
2008-10-02 15:53:33 +00:00
Charles Kerr
cc89872dd4
run libT, cli, daemon, gtk through the source-code formatter "uncrustify" as promised/threatened
2008-09-23 19:11:04 +00:00
Charles Kerr
9c2c4ca08d
fix at least one possible cause for the new crash reported by persept
2008-09-19 17:03:25 +00:00
Charles Kerr
b5efa86ad7
add new compile-time throttle options suggested by persept
2008-09-18 03:55:31 +00:00
Charles Kerr
4fe1e1dae3
first draft at having more accurate speed controls
2008-09-17 19:44:24 +00:00
Charles Kerr
5184119948
(libT) possible solution to the peer hammering problem reported by Switeck
2008-09-05 05:14:49 +00:00
Charles Kerr
64e08510f0
(libT) maybe fix the hangs reported by users in the recent nightlies.
2008-08-27 18:50:21 +00:00
Charles Kerr
82815a74d2
#1214 : add RPC support for per-peer status,ul,dl,address info
2008-08-22 17:59:31 +00:00
Mukund Sivaraman
318ca1fb7e
Don't use memmove() for simple assignment
2008-08-22 16:34:16 +00:00
Mukund Sivaraman
c10a612f90
Use stricter type for enums
2008-08-22 16:30:07 +00:00
Mukund Sivaraman
196ae72a85
Don't move all the rest of peers if current peer is choked
...
Only move the last peer into place.
2008-08-22 16:30:02 +00:00
Mukund Sivaraman
75d2e74a64
Use stricter type for enums
2008-08-22 16:13:52 +00:00
Mukund Sivaraman
b79e6561c0
Remove unused missingBlockCount
2008-08-22 16:03:49 +00:00
Charles Kerr
c32491ab3a
(libT) remove a little more dead code
2008-08-22 15:33:55 +00:00
Mukund Sivaraman
7f749d1284
Sort piece_data_time in descending order.
...
Also fix code style in some places.
2008-08-22 02:34:22 +00:00
Mukund Sivaraman
59351991f6
Further fix/cleanup compare code
2008-08-22 02:15:37 +00:00
Charles Kerr
d323a99cdd
undo part of r6616 to address the assertion failure reported by andersos and Waldorf
2008-08-22 01:27:00 +00:00
Charles Kerr
ca45125259
(libT) more dead code removal: tr_compareTime() and tr_compareDouble()
2008-08-21 20:39:57 +00:00
Charles Kerr
1105dc0038
(libT) remove some dead functions: tr_calloc(), tr_compareUint16(), tr_compareUint32()
2008-08-21 19:03:56 +00:00
Mukund Sivaraman
2ed1e6ee9d
Use signed integers for storing the random values
2008-08-20 16:19:47 +00:00
Mukund Sivaraman
d712f22b21
Rename function to indicate its stupidity
2008-08-20 14:55:23 +00:00
Mukund Sivaraman
e84275e429
Replace the random number generator inside peer-mgr with a
...
stupid faster one.
2008-08-20 14:36:15 +00:00
Mukund Sivaraman
4796e40d27
Inline tr_compareUint16() in this case
2008-08-20 13:54:31 +00:00
Mukund Sivaraman
ed7685dd1a
Make tr_bitfieldHas() a macro
2008-08-20 13:45:52 +00:00
Charles Kerr
93898401fb
more connection management changes
2008-08-16 16:00:49 +00:00
Charles Kerr
c3eb56a6e0
(libT) some more peer connection management: (1) reset `numFails' to zero after a successful connect (2) tweak the reconnect intervals a bit
2008-08-16 06:07:11 +00:00
Charles Kerr
52efe10ec5
a few attempts to reduce the "router death" load: lower the total number of connections made per second. increase the intervals for reconnecting to some peers. simplify the code a bit.
2008-08-16 05:12:55 +00:00
Mukund Sivaraman
de62de3e19
Replace random number generation code
2008-08-14 11:11:25 +00:00
Charles Kerr
2e6443a53d
#1168 : reading past the end of KTorrent's pex added.f strings
2008-08-10 14:58:11 +00:00
Charles Kerr
822238ca33
that's the trouble with quick fixes.
2008-08-09 23:44:31 +00:00
Charles Kerr
58fb922ac1
silence the logspam described in http://forum.transmissionbt.com/viewtopic.php?f=4&t=5588&
2008-08-09 16:17:59 +00:00
Charles Kerr
6937164c93
back out the changes from r6415.
2008-08-08 22:44:32 +00:00
Charles Kerr
eec87200e1
possible fix for #1149
2008-08-07 05:55:40 +00:00
Charles Kerr
b860119cd3
minor text cleanup
2008-08-01 16:43:22 +00:00
Charles Kerr
61258969c2
dead code removal
2008-08-01 04:05:22 +00:00
Charles Kerr
28db5be802
#1123 : unreachable peers need to be handled better
2008-07-29 00:52:02 +00:00
Charles Kerr
72880446d8
(daemon) #1107 : transmission-remote -t[n] -i should display webseeding info
2008-07-27 14:10:32 +00:00
Charles Kerr
fd06d85aee
part 1 of Aloisius' performance patch
2008-06-27 02:42:44 +00:00
Charles Kerr
cda886028d
fix `HAVE' error that broke during the webseed-piece changes last week. Reported by Aloisius in http://forum.transmissionbt.com/viewtopic.php?t=5175
2008-06-21 01:03:31 +00:00
Charles Kerr
81b510bfd1
#1034 : fix optimistic unchoke bug reported by Aloisius
2008-06-17 15:19:12 +00:00
Charles Kerr
25a20d172d
tr_peerMgrHasConnections(): take webseeds into account, as suggested by BentMyWookie
2008-06-12 16:28:39 +00:00
Charles Kerr
f8314b364b
fix an oops from the previous commit. hi, titer
2008-06-11 19:04:48 +00:00
Charles Kerr
85c26e9f7d
fix a pair of webseed bugs reported by BentMyWookie
2008-06-11 19:01:16 +00:00
Charles Kerr
f0229ed8ad
(libT) allow custom blocklists... now all you need to do is place a file in the blocklists/ folder and Transmission will automatically use it the next time it starts.
2008-06-11 16:15:45 +00:00
Charles Kerr
393ebbc24a
more webseed work.
2008-06-10 02:36:52 +00:00
Charles Kerr
61b41adf1a
have idle webseeds return a speed of -1 instead of 0 so that we can differentiate between stalled and idle. document this in transmission.h.
2008-06-10 01:46:36 +00:00
Charles Kerr
837f997e6c
(libT) new API for webseed statistics: tr_torrentGetWebSpeeds()
2008-06-10 01:38:12 +00:00
Charles Kerr
adbbf82302
(libT) make tr_torrentAmountFinished() look at the same pieces as tr_torrentAvailability() for consistency's sake as requested by BentMyWookie
2008-06-09 23:58:31 +00:00
Charles Kerr
51f1126a6d
(libT) make tr_torrentAvailability() a lot faster in the case where the torrent is complete, and a little faster in the genral case too.
2008-06-09 23:11:15 +00:00
Charles Kerr
dce24eb1f0
libT: first cut at implementing the internal peers' request queues as pieces rather than blocks, as discussed with erdgeist and denis, to avoid a couple of nasty CPU bottlenecks.
2008-06-09 22:53:45 +00:00
Charles Kerr
7f8ef25acc
whoops, left some test scaffolding code in r6073
2008-06-07 21:28:47 +00:00
Charles Kerr
e3e3bee8b5
#800 initial support for GetRight-style fetching of data through http and ftp servers specified in the .torrent's "url-list" tag
2008-06-07 21:26:41 +00:00
Charles Kerr
041561f232
minor refactoring of tr_bitfield to (a) simplify the tests and (b) make things easier to read
2008-06-07 01:44:54 +00:00
Charles Kerr
2878d0d32e
bitfield speedups written by denis__. Thanks!
2008-06-05 20:21:56 +00:00
Charles Kerr
547056b50b
#988 : Optimistic unchoke can unchoke uninterested peers
2008-06-03 04:29:56 +00:00
Charles Kerr
cdf5cb87d6
another tweak for calculating tr_stat.desiredAvailable faster, suggested by BentMyWookie
2008-05-31 05:22:10 +00:00
Charles Kerr
e9c7e76c07
#980 optimistic unchoking is broken
2008-05-30 12:58:55 +00:00
Charles Kerr
70fcc56beb
(libT) (1) shave a few bytes from tr_peer and tr_ratecontrol's footprints. (2) remove some dead code.
2008-05-26 12:14:35 +00:00
Charles Kerr
2c79888a93
RPC/IPC redesign
2008-05-18 16:44:30 +00:00
Charles Kerr
7b25d0476c
remove occurrences of "if( 1 )"
2008-05-06 20:31:05 +00:00
Charles Kerr
86c3ae4fa4
#917 : Another minor speedup suggested by BentMyWookie. He enjoys giving new suggestions right *after* I hit "svn commit" :)
2008-05-06 19:49:25 +00:00
Charles Kerr
d047c1175d
#917 : small speedup to r5759 suggested by BentMyWookie
2008-05-06 19:39:16 +00:00
Charles Kerr
0f9ca34848
#917 : when seeding, drop peers that have everything you have (instead of just dropping seeds)
2008-05-06 19:06:46 +00:00
Charles Kerr
a362df0a14
#905 : update peer_id client lists. add a dozen or so new clients from Azureus (thanks amc1!)
2008-04-29 16:57:16 +00:00
Charles Kerr
47021f1a12
fold most of the "deep logging" functions into a single function
2008-04-25 02:57:33 +00:00
Charles Kerr
3445817a80
peer-msgs: faster upload speeds in situations with few peers. this patch needs wider testing for side-effects wrt speed limits.
2008-04-19 19:37:05 +00:00
Charles Kerr
08b27749ba
#890 : be smarter about noticing seeds from tracker & pex
2008-04-19 15:07:59 +00:00
Charles Kerr
ea9e0b260f
(1) fix choke/unchoke error. (2) if a peer keeps trying to reconnect to us, hang up during the handshake.
2008-04-17 03:48:56 +00:00
Charles Kerr
f12ac60d0a
update a couple of the tr_stat fields based on feedback from BMW
2008-04-11 23:05:14 +00:00
Charles Kerr
5890eaef34
encapsulate the blocklist a little better so that we can add more blocklists in the future if necessary
2008-04-01 19:20:21 +00:00
Charles Kerr
def9d1a492
better logging of blocked IP addresses.
2008-03-30 00:57:55 +00:00
Charles Kerr
a20bb8d569
get the blocklist code working & add a unit test for it.
2008-03-29 21:05:51 +00:00
Charles Kerr
c63b548195
fix bug that caused very large torrents to crash Transmission
2008-03-22 18:10:59 +00:00
Charles Kerr
5e3dcb5f6f
#751 : more digging to try to figure out where the problem is.
2008-03-06 13:24:44 +00:00
Charles Kerr
e00d8bf849
fix some gcc 4.2 warnings
2008-02-28 19:33:11 +00:00
Charles Kerr
f2f24e936d
tear out the "fast peer" code from refillPulse() altogether
2008-02-25 01:35:20 +00:00
Charles Kerr
b9a9e1f1a8
disable some fastpeer code that's too expensive.
2008-02-25 01:29:30 +00:00
Charles Kerr
cfe068876e
remove unnecessary #includes
2008-02-19 18:39:49 +00:00
Charles Kerr
8d14a789cb
#698 : `have' gets too far ahead of `verified'
2008-02-10 04:03:19 +00:00
Charles Kerr
f72ba4b8d8
#663 : connection limits don't work correctly.
2008-01-28 21:05:50 +00:00
Charles Kerr
b1cd6ecccc
remove unused "max unchoked peers" feature. fix obsolete TR_FLAG_SAVE comment.
2008-01-23 17:06:36 +00:00
Charles Kerr
1b7706e101
finish the trunk/1.0x libT merge: router death & portability
2008-01-21 02:11:57 +00:00
Charles Kerr
de21d77af2
test code to test a "router death" theory in the nightlies
2008-01-20 03:21:51 +00:00
Charles Kerr
3a47dfdb23
(router death) dial down the max number of new sockets per second even lower
2008-01-19 03:44:44 +00:00
Charles Kerr
de515ee339
if the torrent's download path doesn't exist, don't create it -- it's might be a removeable disk that got unplugged.
2008-01-18 19:13:32 +00:00
Charles Kerr
52c3243b4b
more test code to address "router death". Based on maxintech's feedback in the forums, try making the peer manager's reconnect intervals and volume more like 1.00
2008-01-17 03:43:08 +00:00
Charles Kerr
377c00a826
a test: if we set the reconnect period to any given peer to > 900 seconds, will that make "router death" go away? 900 seconds is the usual router setting for timing out bad sockets.
2008-01-16 20:24:18 +00:00
Charles Kerr
61fc032dc1
sync peersSendingToUs with isDownloadingFrom, reported by BentMyWookie
2008-01-16 17:52:47 +00:00
Charles Kerr
a1e20dd7e9
more work on "router death": if we can't connect to a given peer, retry it fewer times and wait much longer between retries.
2008-01-16 15:13:02 +00:00
Charles Kerr
ca70ef18bb
drive the throttle even lower.. max of 16 connections per second.
2008-01-15 06:02:47 +00:00
Charles Kerr
2c7a7c4253
throttle the number of new connections per second down even further from 48 to 32 because of the continuing "kills my router" reports
2008-01-13 21:05:38 +00:00
Charles Kerr
90f5c61327
tweak the conncetions a little bit
2008-01-11 19:44:45 +00:00
Charles Kerr
876cd4c413
test patch for the "router death" bug: throttle the number of connections made per second
2008-01-11 18:13:09 +00:00
Charles Kerr
39b1db460d
follow the spec's suggestion that new connections be 3x as likely for optimistic unchoke
2008-01-11 02:09:20 +00:00
Charles Kerr
6f6adb1d53
try to ramp up fast connections more quickly.
2008-01-11 00:38:26 +00:00
Charles Kerr
3a6396a3cb
mingw portability fixes
2008-01-10 18:52:46 +00:00
Mitchell Livingston
bedfab2ccc
clarify peer upload and download
2008-01-10 00:52:02 +00:00
Charles Kerr
591f7f8b10
* improve the unchoking algorithm.
...
* when deciding which peers to connect to, take peer's previous speeds into account
* longer delay interval before reconnecting to peers that didn't give us data
* added uTorrent-inspired "flags" column in tr_peer_stat and gtk's torrent details' "peer" tab
2008-01-09 17:33:43 +00:00
Charles Kerr
4f0f6e150e
fix another OpenBSD alignment bug reported by naddy
2008-01-08 01:57:48 +00:00
Charles Kerr
35f73c097c
lazy "allowed set" generation. add regression test for "allowed set" generation.
2008-01-06 21:56:30 +00:00
Charles Kerr
6c3eab0a92
#585 : 1.00 could be sped up by elminating reconnect intervals for some peers
2008-01-05 18:17:56 +00:00
Charles Kerr
893b0c10a3
to try to prevent router overloads, make (MAX_RECONNECTIONS_PER_PULSE * RECONNECT_PERIOD_MSEC) smaller.
2008-01-03 05:30:45 +00:00
Charles Kerr
ce6c33b7bf
set copyright info to 2008
2008-01-01 17:20:20 +00:00
Charles Kerr
71efb5c74b
add per-priority-level endgame mode
2007-12-26 07:25:50 +00:00
Charles Kerr
819b83d90d
fix another file priority bug.
2007-12-25 06:37:21 +00:00
Charles Kerr
f8bc11e094
fix a couple of related file priority bugs.
2007-12-25 05:42:33 +00:00
Charles Kerr
473907d891
a little housekeeping: move tr_torrent stuff into its own header
2007-12-25 05:37:32 +00:00
Charles Kerr
401cfbdb6b
replace the per-torrent PEX setting with a global one, as per discussion with SoftwareElves and BentMyWookie
2007-12-24 05:03:40 +00:00
Charles Kerr
5c4f841c7e
added tr_torrentSetPeerLimits(), tr_torrentGetPeerLimits(), tr_setGlobalPeerLimit(), tr_getGlobalPeerLimit()
2007-12-20 21:44:16 +00:00
Charles Kerr
10b6e8ff8f
lessons learned from 0.82:
...
* if we can't bind a socket to a peer, take that peer out of the retry pool.
* also, try to connect with more peers up-front.
2007-12-15 04:26:31 +00:00
Charles Kerr
332019593d
speed tweaks based on whitty's feedback
2007-11-29 02:56:31 +00:00
Charles Kerr
a720545256
fix peer-mgr.c shear between 0.9x and trunk
2007-11-25 17:07:12 +00:00
Charles Kerr
d735989aec
fix clientIsSnubbedBy() to work correctly when we're a seed
2007-11-25 16:57:08 +00:00
Charles Kerr
b0f5ff96f3
back to the "router death" issue: throttle how many connections T will try to open at any one time
2007-11-18 17:35:28 +00:00
Charles Kerr
ed72b1b795
fix choking bug that could penalize good peers.
2007-11-18 06:15:13 +00:00
Charles Kerr
e371009606
this should improve download speeds. test it!
2007-11-18 03:18:26 +00:00
Charles Kerr
9a81cd7637
reintroduce the "SWIFT" algorithm
2007-11-18 01:00:49 +00:00
Charles Kerr
37969406b2
Add "Status" column to tr_peer_stat.
2007-11-17 23:43:33 +00:00
Charles Kerr
257eaee631
more of the same
2007-11-15 05:47:23 +00:00
Charles Kerr
ea3a1387f2
more of the same.
2007-11-15 05:20:38 +00:00
Charles Kerr
8019f8cd2c
raise the number of unchoked peers per torrent
2007-11-15 05:04:21 +00:00
Charles Kerr
a14fe99e00
another download speed tweak
2007-11-15 04:59:37 +00:00
Charles Kerr
c4f15263a0
since many people seem to be having a hard time holding onto good peers, be a little more lenient on how quickly we hang up on peers that have transferred piece data with us.
2007-11-14 05:02:03 +00:00
Charles Kerr
a9e5fff2e6
* fix the `req->length == (uint32_t)( ((block)==((msgs->torrent)->blockCount-1))' bug.
...
* there seems to be a pattern for peers that were (intentionally?) giving incomplete data to trigger the bug above. when a peer does this, give them a strike on its three-strikes-and-you're-banned count
2007-11-13 05:36:43 +00:00
Charles Kerr
8516860fec
fix a bug in tr_stat's availability numbers, reported by BentMyWookie
2007-11-11 16:33:04 +00:00
Charles Kerr
adeee3d886
silence some Fast Peer console messages
2007-11-10 22:29:55 +00:00
Charles Kerr
c32f893038
commit tiennou's fast-peers-final patch from ticket 149
2007-11-10 16:06:00 +00:00
Charles Kerr
fd430fde90
undoing the r3773-r3774 experiment.
2007-11-09 20:07:52 +00:00
Charles Kerr
67b719c2de
on Darwin, use NSCParameterAssert() instead of assert().
2007-11-09 19:50:40 +00:00
Charles Kerr
e168cf3f69
don't let incoming peer connections sneak past MAX_CONNECTED_PEERS_PER_TORRENT.
2007-11-09 15:19:12 +00:00
Charles Kerr
0d819bd67e
more work on the "router death" issue.
2007-11-08 19:43:48 +00:00
Charles Kerr
bc3eff899f
* some work on lessening the way we hammer the router.
...
* move strlcpy and strlcat out of their own files and into utils.c
2007-11-08 04:11:09 +00:00
Charles Kerr
71f4efcbad
update our #includes now that libevent has cleaned up event.h
2007-11-07 18:26:19 +00:00
Charles Kerr
a6206b036c
"corruption" fix part 2: lots of assertions, and try to complete pieces & ban bad peers sooner
2007-10-31 04:23:51 +00:00
Charles Kerr
4cde721475
fix oops
2007-10-30 20:17:49 +00:00
Charles Kerr
aace9469bb
fix compile warning
2007-10-30 20:11:23 +00:00
Charles Kerr
caa4170271
#426 0.91rc1: if pex is disabled on a stopped torrent, pressing "resume" causes pex to be re-enabled. (reported by pea)
2007-10-28 19:42:47 +00:00
Charles Kerr
92ac49d9c4
compatability with older C copmilers (ticket #422 , patch by fizz)
2007-10-27 21:29:41 +00:00
Charles Kerr
8c0e2434f5
fix OpenBSD build error.
2007-10-25 13:59:46 +00:00
Charles Kerr
52261d88fd
Fix 0.90 socket connection leak.
2007-10-25 13:38:34 +00:00
Charles Kerr
a5946e396c
tweak the logging a bit.
2007-10-22 18:52:36 +00:00
Charles Kerr
814a56046d
fix ul/dl speed wart reported by BentMyWookie
2007-10-21 15:47:26 +00:00
Charles Kerr
25fa56d294
* don't fire the "status changed" event if the status changes while a torrent's being started for the first time.
...
* cleaner setting of the DND flags in the gtk+ client.
* cpStatus cleanup.
2007-10-19 23:23:21 +00:00
Charles Kerr
00a425a7d3
further tweaks to the peer connection weights after reading the overnight runlog
2007-10-16 15:05:05 +00:00
Charles Kerr
fa200efd09
more tweaks
2007-10-16 03:14:07 +00:00
Charles Kerr
c9359d8bde
There are only 16 days left for something to replace this as October's stupidest bug.
2007-10-16 03:00:53 +00:00
Charles Kerr
ec30180d76
tweak the weights that decide to reconnect to crappy peers less often.
2007-10-16 02:37:34 +00:00
Charles Kerr
30418e34b8
fix crash reported by John_Clay in http://pastebin.ca/738133
2007-10-16 02:16:57 +00:00
Charles Kerr
8feeb9ee6b
when deciding which peers to try to connect to, add some weights to punish peers that don't transfer piece data with us. We'll still give them another, but at longer intervals than better peers get.
2007-10-16 00:55:17 +00:00
Charles Kerr
6eb7edf007
fix choke fibrillation bug in new connections
2007-10-15 16:01:42 +00:00
Charles Kerr
57eaa27970
Fix bug that could initiate pex in private torrents.
2007-10-14 17:21:24 +00:00
Charles Kerr
3e878aeba9
tweak the debugging messages a bit.
2007-10-13 14:02:10 +00:00
Charles Kerr
9211c57ad2
merge in the parts of peerutils' peer pruning code that still make sense
2007-10-13 13:54:05 +00:00
Charles Kerr
7e0faec4db
more debugging messages
2007-10-11 03:12:48 +00:00
Charles Kerr
ef4ec75532
Try out some of SoftwareElves' suggestions for faster startup connections
2007-10-11 02:50:05 +00:00