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