Charles Kerr
c28a94d04c
fix a couple of memory corruption errors while trying to track down tiennou's report on peer-msgs.c:pulse() -> inout.c:163 assertion failure.
2007-09-28 14:27:56 +00:00
Charles Kerr
fb70a9cca0
remove the backwards compatability typedefs at BentMyWookie's suggestion. update libT, gtk, daemon, and cli accordingly...
2007-09-20 20:14:13 +00:00
Mitchell Livingston
76da1185ca
merge encryption branch to trunk (xcode project is still out of date)
2007-09-20 16:32:01 +00:00
Charles Kerr
b0505157a4
(0.8x) take denis_' suggestion for improving the peer debug message
2007-09-09 00:45:08 +00:00
Josh Elsasser
d422d6dbc7
Enable the azureus/libtorrent extension negotiation reserved bits.
2007-08-26 16:16:41 +00:00
Charles Kerr
bae07d471e
added support for `corrupt' announce tag s.t. corrupted bytes don't count towards your download ratio
2007-08-21 15:17:02 +00:00
Charles Kerr
5f5a743790
the new tracker code seems to be working, so now it's time for me to learn yet again how much better users are at noticing bugs than I am. :)
2007-08-16 20:00:06 +00:00
Josh Elsasser
3d65dcd13e
I'm an idiot. Base 2 is not the same thing as base 16.
2007-08-16 18:34:44 +00:00
Josh Elsasser
3d0e98b2c7
Save client name from azureus or extended handshake, overriding name deduced from peer id.
2007-08-15 23:03:50 +00:00
Josh Elsasser
8f6b8020bc
Implement proposed extension to indicate which of azrueus or extended messaging are preferred.
...
This is disabled for now.
2007-08-15 21:26:24 +00:00
Josh Elsasser
4c1c2667b6
Use macros instead of magic numbers when creating and parsing handshake.
...
Make it trivial to disable extended messaging or azureus protocol at compile-time, for debugging.
2007-08-15 19:44:13 +00:00
Charles Kerr
26dabf816e
make list less error-prone by changing the API s.t. we're guaranteed to update the list's pointer correctly.
2007-08-14 14:18:54 +00:00
Charles Kerr
0f85cc3297
continue whittling away at internal.h to reduce the global #include dependencies
2007-07-31 14:26:44 +00:00
Charles Kerr
11752dae78
remove unused macros
2007-07-31 01:21:10 +00:00
Charles Kerr
d209052051
add portability wrapper for in_port_t...
2007-07-30 18:04:10 +00:00
Charles Kerr
e07d0220a9
this looks bug but it's not: just janitorial cleanup, moving #includes from headers into source file
2007-07-29 18:11:21 +00:00
Charles Kerr
79a0081092
a nice patch that makes the three most CPU-hogging functions (as reported by Shark) essentially free and reduces memory overhead by 8 bytes per piece per torrent. Lots of asserts for extra testing fun.
2007-07-28 15:43:34 +00:00
Charles Kerr
31ac4e604a
a better fix for the tr_rand() crash experienced earlier today
2007-07-26 03:57:45 +00:00
Charles Kerr
daf26881b7
avoid using tr_rand() in peerPulse(); it's giving both me and SWE some odd behavior
2007-07-25 20:55:39 +00:00
Charles Kerr
abbcc72154
fix misassertion from a couple of revisions ago when trying to smoke out SoftwareElves' bug
2007-07-25 19:01:36 +00:00
Charles Kerr
fd7c112151
fix endgame bug reported again and again and again by SoftwareElves ;)
2007-07-25 18:30:00 +00:00
Charles Kerr
d84c2bd44a
some assertions to smoke out the error that SoftwareElves is seeing
2007-07-25 17:46:00 +00:00
Charles Kerr
d259e7b65a
Fix peer destructor bug from ticket #270 . This bug dates back to r1419 in January... I'm surprised it hasn't been reported before now.
2007-07-25 16:33:22 +00:00
Charles Kerr
730d6df742
* fix overflow error from earlier today. (this was the crash talked about in IRC)
...
* fix long-standing error that occurred when pieceSize isn't evenly divisible by blockSize
* speed up and macro-ize piece-to-block conversions
2007-07-25 01:59:46 +00:00
Charles Kerr
e352d56925
fix the high CPU load during endgame.
2007-07-24 18:59:37 +00:00
Charles Kerr
339005346c
remove unused function tr_cpMostMissingBlockInPiece()
2007-07-24 17:08:45 +00:00
Charles Kerr
bbac082af5
finish splitting the rate control from one state into two states as requested by BMW
2007-07-20 08:33:59 +00:00
Charles Kerr
4ef1592e6b
more work on the speed limits as hammered out w/BentMyWookie
2007-07-20 03:24:04 +00:00
Charles Kerr
05d88f2c48
remove the TR_HTONL macro
2007-07-19 10:49:44 +00:00
Charles Kerr
1d95bcc689
re-randomize peer_id each time we start a torrent. (ticket #257 )
2007-07-16 11:19:44 +00:00
Josh Elsasser
1ecbe8da65
Change a couple functions to take an in_addr pointer instead of an in_addr.
...
Forward declare struct in_addr and include the relevant headers in the .c files where it's used.
2007-07-14 16:29:21 +00:00
Charles Kerr
f0d97e1a02
fix bug that gave the wrong peer count when uploading.
2007-07-13 22:22:46 +00:00
Charles Kerr
790476ac23
clean up #includes a bit.
2007-07-12 17:51:45 +00:00
Charles Kerr
9c73ecbf63
more assertion tests to tr_peerGotBlockFromUs() and tr_peerSentBlockToUs() to smoke out any remaining spurious ul/dl bytecounts
2007-07-09 23:27:57 +00:00
Charles Kerr
bcb3cf99ab
Revert version back to 079 as per BentMyWookie's suggestion
2007-07-09 23:09:00 +00:00
Charles Kerr
caf68deb8f
don't calculate swift largesse for torrents we're seeding.
2007-07-09 20:26:16 +00:00
Charles Kerr
b79beeff66
clean up #includes a bit.
2007-07-09 20:10:42 +00:00
Charles Kerr
08f787291a
remove the "peer is asking for too many blocks!" warning reported by Gimp_ by changing from a fixed-size array to a linked lists of incoming requests
2007-07-09 04:37:16 +00:00
Charles Kerr
26660b0594
fix broken rate control.
2007-07-07 04:13:13 +00:00
Charles Kerr
a166914a27
fix endgame bugs
2007-07-06 16:17:37 +00:00
Charles Kerr
3fda85725c
fix peer memory leak.
2007-07-06 15:51:06 +00:00
Charles Kerr
2b1cf88ea9
fix crash reported by persept
2007-06-30 12:46:45 +00:00
Charles Kerr
781c557e52
use tr_new(), not g_new(). I've been hacking in glib too long
2007-06-29 17:29:02 +00:00
Charles Kerr
59388ed0ba
fix some ugliness from last night's hackfest
2007-06-29 17:24:14 +00:00
Charles Kerr
3a73f6790e
Fix endgame bug that caused the last 2-3% to drag out forever in recent nightlies. Thanks SoftwareElves
2007-06-29 06:24:55 +00:00
Charles Kerr
ab191885b5
revert one of last checkin's changes to better handle low peer situations. Thanks to SoftwareElves for the helpful explanation.
2007-06-29 06:03:54 +00:00
Charles Kerr
f0950d7390
lots of performance improvements. fun!
...
* dynamically resize the request queue on a per-peer basis based on its speed
* fix a huge bug that sabotaged the `swift' performance
* on startup, unchoke peers much sooner
* bump MAX_PEERS and PERCENT_PEER_WANTED
* do a better job of estimating speed on torrents less than 30 seconds old.
* getting an unrecognized extension ID, ignore it instead of stopping the torrent.
2007-06-29 05:45:17 +00:00
Charles Kerr
7e09d157cd
Thread safety improvements. Also, stopping/starting/rechecking/etc. torrents no longer blocks the calling thread. Since this a big commit, it will probably create some short-term pain via new bugs.
2007-06-26 18:45:03 +00:00
Charles Kerr
5401979ffa
misc cleanup.. ansification; fix my own typos, etc...
2007-06-22 04:30:39 +00:00
Charles Kerr
e161544761
adding experimental implementation of Tamilmani's `Swift' tit-for-tat algorithm for testing. To tweak or disable, change the values around line 50 of libtransmission/peer.c
2007-06-21 14:47:26 +00:00