Commit Graph

438 Commits

Author SHA1 Message Date
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 9b65364dcc fix divide by zero bug in makemeta code, calculating number of pieces for a zero-sized file. (SoftwareElves) 2007-06-29 02:53:12 +00:00
Charles Kerr 3d7f38fa68 get the bencoded text compliant with the bittorrent spec w.r.t. dictionaries: "keys must be strings and appear in sorted order (sorted as raw strings, not alphanumerics)." 2007-06-29 02:27:00 +00:00
Josh Elsasser a09a9c9157 Add client/server name to IPC version handshake. 2007-06-29 02:21:29 +00:00
Charles Kerr 6890359001 Make tr_torrentParseHash() public 2007-06-28 23:35:02 +00:00
Charles Kerr 73ee59a21f * (libT) stopped torrents shouldn't use CPU cycles.
* (gtk) if a torrent is stopped when you exit, keep it stopped when restarting.
2007-06-28 17:43:53 +00:00
Charles Kerr 37234a3e34 Make tr_trackerAnnouncePulse() just return safely if there's no tracker initialized. 2007-06-28 04:28:23 +00:00
Charles Kerr 81dfe09b5e make it safe to pass a bzero()ed struct into tr_metainfoFree() 2007-06-28 02:02:30 +00:00
Charles Kerr 831cd4a3da better documentation on tr_torrentParse()'s behavior 2007-06-28 01:20:10 +00:00
Charles Kerr 8aa002b25e * fix memory leak when adding torrents.
* zero out tr_torrentParse()'s tr_info_t before filling it
2007-06-28 01:12:16 +00:00
Charles Kerr ae40410b4e Fix tr_getComplete() and tr_getDone() bug reported by BentMyWookie 2007-06-28 00:09:59 +00:00
Charles Kerr 995c1cdbb1 fix r2210 oops 2007-06-28 00:04:42 +00:00
Charles Kerr 63fce9cf06 simplify tr_torrentParse() based on BWM's feedback 2007-06-27 23:22:09 +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 47a5ff4120 add tr_torrentCanAdd() as per BentMyWookie's request... clear tracker error string when restarting... fix r2202 "completed" announce bug. 2007-06-27 05:14:38 +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 21cf51e3f7 Add tr_stat_t.downloadedValid hook to IPC for Gimp_ 2007-06-26 17:52:45 +00:00
Charles Kerr 6011450518 building up our threading tools: implement RW locks 2007-06-25 21:52:18 +00:00
Charles Kerr 9d139eefe4 possible fix for the -0.0 percent done bug 2007-06-23 02:24:03 +00:00
Charles Kerr ab85deaf51 add color-coded lines to the gtk debug window -- info is black, debug is grey, errors are red... 2007-06-22 20:59:23 +00:00
Charles Kerr 5401979ffa misc cleanup.. ansification; fix my own typos, etc... 2007-06-22 04:30:39 +00:00
Charles Kerr e087ac395a Maybe fix the bug of progress-for-done not including non-checked files even if they're finished 2007-06-22 00:44:26 +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
Charles Kerr bda9067ee7 more improvements to makemeta's piece size heuristics (SoftwareElves & charles_) 2007-06-19 16:36:15 +00:00
Charles Kerr d4e1c19e32 better algorithm to decide on a good piece size. (SoftwareElves & charles_) 2007-06-19 06:01:30 +00:00
Charles Kerr 5128d0a434 fix terribly nasty bencode corruption bug from r2024 regarding the sorting of dictionary keys in tr_bencDictAdd(). this corrupts all the pointers that are already floating out there to existing values in the dictionary... if BitTornado really needs these to be sorted, then we should sort a temporary copy in tr_bencSave(), not here in our internal structures. 2007-06-19 03:01:57 +00:00
Charles Kerr 64ce2edbfb * makemeta: don't add dotfiles to the torrents
* bencode: trying to chase down a memory leak
2007-06-19 01:49:56 +00:00
Charles Kerr 4eea50e991 ugly code removal: we were calling stat() three times on each file! (BMW: builder struct changed slightly... this shouldn't affect the mac client but you might want to recompile to confirm) 2007-06-19 00:08:39 +00:00
Mitchell Livingston a4d5dfa328 avoid ridiculously rate divide-by-0 2007-06-19 00:08:06 +00:00
Charles Kerr 9791bb6f22 better error message (BigBossman) 2007-06-18 21:03:10 +00:00
Charles Kerr 64c21325e8 make the torrent file parser errors more useful. (John_Clay) 2007-06-18 20:56:04 +00:00
Charles Kerr 7afba516ff fix platform.c oops reported by BigBossman 2007-06-18 20:36:25 +00:00
Charles Kerr 06e761d950 * fix error checking large files reported by Gimp_
* portability changes to pathname/filename building
* small gratuitous changes
2007-06-18 19:39:52 +00:00
Charles Kerr 932438eba5 Fix very large file error reported by Gimp_ 2007-06-18 05:05:16 +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
Eric Petit 1636fc70d2 BeOS fixes 2007-06-14 11:41:09 +00:00
Josh Elsasser cf6994f559 Fix upnp verbose logging to show outgoing http requests. 2007-06-10 23:12:43 +00:00
Josh Elsasser 0eaedc2fe3 Return bad-format message when appropriate.
Fix supported message to be more accurate.
2007-06-10 22:56:18 +00:00
Josh Elsasser 1315161ae4 Add some code for verbose UPnP logging which can be enabled at compile-time. 2007-06-10 22:26:59 +00:00
Josh Elsasser de7287a829 Add a missing quote and fix UPnP regressions. 2007-06-10 22:01:46 +00:00
Josh Elsasser b19a3ec7d9 Add bad-format message. 2007-06-10 20:31:52 +00:00
Eric Petit ba5bb320ca Bencoded dictionaries are now sorted alphabetically, this should fix
compatibility with some clients, incl. BitTornado-based ones.
(Reported by roee88 from LH-ABC)
2007-06-10 15:38:58 +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
Mitchell Livingston 4ada334f57 patches from Charles Kerr to update the Inspector in GTK and fix some memory leaks 2007-06-06 00:30:13 +00:00
Mitchell Livingston f7501a0dd6 attempt to kill an io bug 2007-05-31 23:40:56 +00:00
Mitchell Livingston 16627cc209 patch to avoid unneeded io checking when starting 2007-05-30 05:16:43 +00:00
Mitchell Livingston 3852bbb6e6 some rewriting of the filter bar so it can dynamically place the buttons, and some extra, yet-to-be-used code 2007-05-29 02:00:23 +00:00
Mitchell Livingston 73c6c3324e when pausing and then resuming a checking transfer, recheck from the start 2007-05-28 22:32:39 +00:00
Mitchell Livingston 78afc2f205 swap a condition in the io code 2007-05-28 16:51:18 +00:00