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
d209052051
add portability wrapper for in_port_t...
2007-07-30 18:04:10 +00:00
Charles Kerr
ebb141b232
better encapsulation of platform-specific constructs: tr_thread_t, tr_cond_t, tr_lock_t
2007-07-30 15:27:52 +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
c24fc6e16a
de-inline some big functions.
2007-07-19 10:56:14 +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
b79beeff66
clean up #includes a bit.
2007-07-09 20:10:42 +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
8e401729cd
Modified tr_torrentCanAdd() to give the new functionality BMW suggests
2007-06-27 14:54:31 +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
Mitchell Livingston
0256f4616d
Merge file selection and torrent creation into the main branch.
...
The new code for these features is under a new license.
2007-06-18 03:40:41 +00:00
Charles Kerr
3b8d1e13c4
uninteresting minor stuff like adding const. this commit is just to reduce the shear between trunk and what lands in the file-selection branch.
2007-06-09 15:36:46 +00:00
Eric Petit
09c277257b
Mark a peer as uploading if we are unchoked *and* interested
2007-01-21 07:27:57 +00:00
Eric Petit
2a4be1b0cd
Don't use names that can conflict with system functions - Patch by Christian Weisgerber
2006-12-30 00:27:05 +00:00
Eric Petit
f199e0a9d9
Revert [619]
2006-07-16 19:39:23 +00:00
Mitchell Livingston
5d36721a15
Remove old Sparkle...
2006-07-16 19:28:19 +00:00
Eric Petit
f98fe6a1b0
Added $Id$ keywords and updated a few headers
2006-05-29 21:21:23 +00:00
Eric Petit
dfaa09ce40
Adds a real test for lrintf because some Linux systems, like BeOS, seem
...
to provide a non-working lrintf implementation
(Patch from Henner Sudek, modified)
2006-04-03 09:05:47 +00:00
Josh Elsasser
ee1428db43
Patch from Jeremy Messenger to build on FreeBSD 4.
2006-03-31 17:52:07 +00:00
Eric Petit
a1830a25bf
Merge from branches/new_api:r161
2006-03-23 12:39:39 +00:00
Eric Petit
6197b6665c
Added optimistic choking
2006-02-08 22:21:58 +00:00
Eric Petit
c2fc72b477
Randomly choke and unchoke peers who upload less than 0.1KB/s to us,
...
instead of trying to compare their upload rates
2006-02-08 21:26:27 +00:00
Eric Petit
9b2e8566dd
BeOS fixes
2006-02-07 09:34:30 +00:00
Eric Petit
f1b113ec5b
Cleaning and minor optims
2006-02-07 03:10:42 +00:00
Eric Petit
355fe1273f
Comments
2006-02-05 21:10:20 +00:00
Eric Petit
00ef8642bf
Fixes a crash (quite amazing that it didn't crash more often, actually...)
2006-01-31 07:11:28 +00:00
Eric Petit
aa6c52ef46
Fixed a lame typo so the algorithm may actually work
2006-01-31 04:58:28 +00:00
Eric Petit
cf392ea2c6
New choking algorithm (still needs work, it's inefficient, untested and
...
misses optimistic choking)
2006-01-30 06:54:31 +00:00
Eric Petit
8c733df6a6
Added a rate calculator for each peer
...
Set up files for the choking algorithm (does nothing yet)
2006-01-30 04:42:43 +00:00