Commit Graph

732 Commits

Author SHA1 Message Date
Charles Kerr 519b4d3f5e (trunk libT) if an individual torrent's speed limit is set, don't pay attention to the global speed limit 2008-12-09 15:09:26 +00:00
Charles Kerr 76ce949419 (libT) fix a minor memory leak. 2008-12-06 02:21:50 +00:00
Charles Kerr bdffa5ce20 (libT) #1454: List of files selection/priority resetting 2008-12-02 23:27:45 +00:00
Charles Kerr d4ee0d714a (libT) #1379: support "partial seeds" BEP 22 2008-12-02 19:46:51 +00:00
Charles Kerr 9d39ed2540 (libT) misc cleanup 2008-12-02 18:24:26 +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 ff651209c8 (libT) remove debugging statement that got checked in by accident 2008-11-26 05:58:10 +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 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 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 04d10183e1 (libT) fix r7055 oops. Also, the comment on that last commit should read "in the values returned by the public API's speed functions, only give the piece data transfer speeds -- don't include the protocol overheads" 2008-11-06 03:04:21 +00:00
Charles Kerr 8e4fa83c77 update NEWS 2008-11-06 02:56:51 +00:00
Charles Kerr 10566eece9 (libT) #849: preallocate files when possible to prevent disk fragmentation 2008-11-05 05:56:06 +00:00
Charles Kerr 5d35dfaeca (libT) micro-optimizations suggested by cachegrind 2008-11-03 17:01:08 +00:00
Charles Kerr f2a933fb77 #1308: Transmission forgets it's verifying data 2008-10-28 15:13:07 +00:00
Charles Kerr 11f240365e fix tab damage 2008-10-27 17:35:22 +00:00
Charles Kerr 5ad58ea83e fix r6965 oops 2008-10-27 04:39:30 +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 0c4f300f1b #1369: clarify the different torrent status & callbacks' APIs and typenames 2008-10-20 17:54:56 +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 e3a5524189 have tr_buildPath() allocate memory from the heap rather than using an input buffer 2008-10-14 03:03:29 +00:00
Charles Kerr 4fab4c9e9b (libT) finish killing tr_errno. 2008-10-03 04:49:06 +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 4fe1e1dae3 first draft at having more accurate speed controls 2008-09-17 19:44:24 +00:00
Charles Kerr 419242e36f (libT) change benc's integral type from int to size_t, squashing a couple of minor warnings 2008-09-04 14:42:32 +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 c6026a3b66 #1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero#1143: crash in 1.30 when adding torrents: div by zero 2008-08-06 11:39:30 +00:00
Charles Kerr 74dd613895 #1135: crashes when adding torrent, with "assert( ( info->pieceSize % tor->blockSize ) == 0 );" 2008-08-05 20:27:40 +00:00
Charles Kerr b860119cd3 minor text cleanup 2008-08-01 16:43:22 +00:00
Charles Kerr 2eb89eb2a7 (libT) fix some minor warnings foudn by clang's scan-build and reported by m1b 2008-07-17 20:33:34 +00:00
Charles Kerr 16e3803082 small tr_torrentStat() speedup suggested by BentMyWookie 2008-06-17 14:25:23 +00:00
Charles Kerr 6cce27bf54 (rpc) simplify the rpc accessors 2008-06-16 03:47:50 +00:00
Charles Kerr effb78d674 unify the daemon and gtk client's config files so that you can easily swap back and forth between clients and keep the same torrents and preferences. 2008-06-12 16:25:36 +00:00
Charles Kerr 13424ed977 (libT) add NULL pointer checks to tr_torrentStart(), tr_torrentStop() 2008-06-10 19:25:18 +00:00
Charles Kerr 393ebbc24a more webseed work. 2008-06-10 02:36:52 +00:00
Charles Kerr 837f997e6c (libT) new API for webseed statistics: tr_torrentGetWebSpeeds() 2008-06-10 01:38:12 +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 9f2d7c2c67 (libT) if there are webseeds, update the available amount accordingly 2008-06-09 02:38:27 +00:00
Charles Kerr 044bfbad39 add tr_torrentSetDoneDate() too 2008-06-03 19:42:54 +00:00
Charles Kerr 870c4d7650 add tr_torrentSetAddedDate() and tr_torrentSetActivityDate() 2008-06-03 19:22:22 +00:00
Charles Kerr e1a23350d4 (1) add a doneDate to tr_torrent and tr_stat. (2) save tr_torrent.doneDate and tr_torrent.activityDate between sessions in the .resume file. 2008-06-03 19:16:12 +00:00
Charles Kerr 5db4ca7fa3 #981: add tr_stat.dateAdded to libT; add "sort by age" to gtk+ client 2008-06-02 04:41:55 +00:00
Charles Kerr 07c1b28e9e #838 (Adding trackers to existing torrents): add a backend API for this (tr_torrentSetAnnounceList) and implement a GUI for it in the gtk+ client. 2008-06-01 01:40:32 +00:00
Charles Kerr 0a023367b6 fix r5985 oops. I shouldn't make commits when I'm in a hurry. 2008-05-31 15:15:54 +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 f3db37ab1b add a couple of more ways to short-circuit the tr_stat.desiredAvailable test in tr_torrentStat(), as suggested by BentMyWookie 2008-05-30 16:49:03 +00:00
Charles Kerr 0705eaa1c0 minor speedups in tr_torrentStat() and in bitfield manipulation 2008-05-30 15:40:46 +00:00
Charles Kerr ad2146cc24 #972 (partial) Transmission fails to compile with Sun Studio due to funky C code 2008-05-28 13:03:34 +00:00
Charles Kerr 7bfe7cc471 remove unused functions tr_torrentSetActiveCallback() and tr_torrentClearActiveCallback() 2008-05-23 20:33:54 +00:00
Charles Kerr 53d8574b11 * change tr_stat.activityDate's and tr_stat.startedDate's type to time_t, since that's how everyone uses them anyway
* add a little more documentation to tr_stat and tr_ctor in transmission.h
2008-05-23 20:04:41 +00:00
Charles Kerr d18fb68fbc sine we now have two public ports (peer and rpc), rename "publicPort" as "peerPort" 2008-05-23 16:18:58 +00:00
Charles Kerr 0621c67c41 more cleanup work:
(1) kill the pointless "tr_tracker_stat" struct.
(2) kill the unused "tr_torrentRemoveSaved()" function.
(3) kill the redundant "nextManualAnnounceTime" variable.
(4) make the TR_ERROR_IS_* macros private.
2008-05-22 23:11:21 +00:00
Charles Kerr 26b5a16630 (libt) more janitorial work on cleaning up tr_session*() and tr_torrent*() functions: session stats, torrent count, and manual update. 2008-05-22 20:44:41 +00:00
Charles Kerr dceabc5661 make tr_stat identical in transmission.h and rpc-spec.txt. 2008-05-22 16:59:51 +00:00
Charles Kerr e406dcc2ab rename tr_torrentClose() as tr_torrentFree() and make it private. change client code to use tr_torrentRemove() instead. This fixes the confusion between the two methods that led to #954 2008-05-21 17:14:58 +00:00
Charles Kerr c7b9c8c043 (#954) rpc: add "torrent-remove" method. rename tr_torrentDelete() as tr_torrentRemove() for consistency with various parts of the code. 2008-05-20 23:58:59 +00:00
Charles Kerr 2c79888a93 RPC/IPC redesign 2008-05-18 16:44:30 +00:00
Charles Kerr be9427931a ipc: add session accessor/mutators.
transmission.h: make the session API more consistent.
2008-05-12 16:33:17 +00:00
Charles Kerr 63b82714f8 partial implementation of json-ipc backend: torrent start/stop/close/verify/stat/info, as are getting & setting per-torrent peer limits, upload speeds, and download speeds. this is a work in progress. 2008-05-12 00:41:55 +00:00
Charles Kerr 33839f77be new utility for iterating through torrents: tr_torrentNext() 2008-05-10 00:19:00 +00:00
Charles Kerr e19149bbb7 #751: tear down some of the scaffolding used in tracking down this bug. 2008-05-08 20:30:27 +00:00
Charles Kerr ed4e902482 #912: Resume file parsed twice on startup 2008-05-06 01:43:24 +00:00
Charles Kerr 2cd2b35238 fix multitracker problem reported by BentMyWookie 2008-05-05 20:11:03 +00:00
Charles Kerr d561187227 when one of the trackers in a multitracker list is successful, bump it to the top of the tier. 2008-05-05 19:51:53 +00:00
Charles Kerr c5eed39275 add #include <limits.h> to pick up INT_MAX 2008-05-05 19:33:29 +00:00
Charles Kerr 643716c6f0 randomize the announce addresses within multitracker tiers 2008-05-05 18:54:19 +00:00
Charles Kerr 2f3eba4b01 #899: Hangs when clicking verify data twice 2008-04-27 06:34:34 +00:00
Charles Kerr 52ea125c45 #894: wont start - cp->doneHave <= cp->completeHave 2008-04-24 15:25:01 +00:00
Charles Kerr 19fbb3ef2c string folding 2008-04-21 15:22:54 +00:00
Charles Kerr 08b27749ba #890: be smarter about noticing seeds from tracker & pex 2008-04-19 15:07:59 +00:00
Charles Kerr 87a77ea331 more hacking on the bencoded resume files 2008-04-15 17:00:44 +00:00
Charles Kerr 35502f0559 add more debugging messages for loading progress from the bencoded resume file 2008-04-14 20:30:43 +00:00
Charles Kerr e4f6b9592d get tr_ctorSetMetainfoFromHash() working again. 2008-04-14 14:39:13 +00:00
Charles Kerr afde752dc0 'resume' cleanup 2008-04-14 11:52:50 +00:00
Charles Kerr c8c84d6bd1 #872: crash in bitfield code when loading resume files 2008-04-13 14:29:11 +00:00
Charles Kerr fc866f51f3 minor tr_torrentStat cleanup 2008-04-12 15:56:21 +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
Mitchell Livingston f34cd7299f fix incorrect eta value 2008-04-07 05:00:07 +00:00
Mitchell Livingston 2a8b6f8b1f fix marking the eta of torrents with peers as unavailable 2008-04-07 03:01:57 +00:00
Charles Kerr 69eaaed409 remove a debugging printf 2008-04-06 17:12:15 +00:00
Charles Kerr 9f3f0c03e6 #843: download eta should consider availability 2008-04-06 14:42:47 +00:00
Charles Kerr b71a2985b3 #684: Use XDG basedir spec for configuration and cache files in $HOME 2008-04-05 20:12:11 +00:00
Charles Kerr eb24ad760d (1) make tr_torrentRates() faster.
(2) new function: tr_torrentGetStatus() for when you need the status but not the overhead of tr_stat
2008-04-01 02:35:04 +00:00
Charles Kerr 3e4168025b experimental commit to save 1888 bytes from each tr_torrent 2008-03-31 19:34:20 +00:00
Charles Kerr 51a82e70c1 remove `TR_STATUS_DONE' from libtransmission's public API. It's useful as an internal state but not for code calling libtransmission. 2008-03-31 17:59:16 +00:00
Charles Kerr b3663db916 #811: fix r5329 error in trunk. 2008-03-24 16:10:04 +00:00
Charles Kerr 2ca35e1ea7 allow NULL as the second argument to tr_torrentFiles() 2008-03-22 18:27:29 +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 531dd851ad more string work before the freeze. (1) use %'d to get thousands' grouping in end-user strings (2) follow HiG capitalization, quotation guidelines (3) fold a few more strings 2008-03-19 20:07:27 +00:00
Charles Kerr 05c6938f5a changes to message logging: (1) bring back "Torrent hasn't responded yet", but only in the message log. (2) make PEX messages debug. (3) log a message when a torrent reaches completion. 2008-03-18 16:56:01 +00:00
Charles Kerr 913f2843b2 #740: back out the previous "fix" because it caused an regression in the mac client 2008-03-18 16:26:45 +00:00
Charles Kerr 146b9df023 meh, too early in the morning :) 2008-03-13 11:59:19 +00:00
Charles Kerr 18ab99970b fix r5243 typo reported by BentMyWookie 2008-03-13 11:57:42 +00:00
Charles Kerr 29f092197f #138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages#138: per-torrent messages 2008-03-13 03:53:18 +00:00
Charles Kerr e3c1d221fb #781: experimental commit on the "failed data" issue. 2008-03-13 00:38:16 +00:00
Charles Kerr 909cb89b43 even more i18n string work, w/more feedback and reading through the transmission.pot file. 2008-03-08 01:43:20 +00:00
Charles Kerr 7200b27a18 lots more i18n string work -- making strings more consistent, folding redundant strings together, etc. 2008-03-07 20:48:36 +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 84a8592d1d first cut at adding i18n hooks into libtransmission. 2008-03-04 02:02:25 +00:00
Charles Kerr 6b1001600b remove scaffolding that was accidentally committed in r5183 a few minutes ago 2008-03-02 19:55:04 +00:00
Charles Kerr d712545433 don't crash in makemeta when trying to build a torrent from files you don't have read access to. (wereHamster) 2008-03-02 19:42:45 +00:00
Charles Kerr f00dd3cbd3 possibly-better patch for #740. 2008-02-27 20:44:46 +00:00
Charles Kerr 82d0cd852a #740 fix tr_torrentParse() leak when adding duplicate torrents. 2008-02-27 20:16:01 +00:00
Charles Kerr 9ee96fd0dc add `verify' command to ipc. 2008-02-27 17:38:39 +00:00
Charles Kerr 8cc587a66f more housekeeping: benc_val_t --> tr_benc 2008-02-26 21:58:58 +00:00
Charles Kerr 58b655338a libT: add tracker information to tr_stat. gtk: add `tracker' tab to inspector 2008-02-21 07:29:39 +00:00
Charles Kerr cfe068876e remove unnecessary #includes 2008-02-19 18:39:49 +00:00
Charles Kerr 4456c2dd90 (gtk) #544: remove fast-resume cache when appropriate 2008-02-19 05:03:56 +00:00
Charles Kerr 6fb57dcd59 modify "verify local data" to not lose the blocks in incomplete pieces 2008-02-15 16:00:46 +00:00
Charles Kerr d360607a02 fix a possible crash when deleting a torrent. 2008-02-13 01:22:55 +00:00
Charles Kerr 7cf9f8cc35 #417: add the libtransmission bits for telling users when they can "Ask Tracker for More Peers" 2008-02-09 17:07:30 +00:00
Charles Kerr 88cfec047f #666: pausing in the middle of "verify local data" makes T forget about the nonverified portion 2008-02-01 01:38:55 +00:00
Charles Kerr 0f981db778 #665: Ratio calculations aren't strictly accurate when re-seeding a torrent 2008-01-29 16:33:29 +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 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 5965d8d1ae handle tr_torrentClose( NULL ) gracefully. 2008-01-16 17:57:13 +00:00
Charles Kerr 549778dc7e #589 fix crash that occurred when the next-to-last file in a torrent ended on a piece boundary and the last file had a size of 0 bytes. 2008-01-08 03:08:36 +00:00
Charles Kerr 3cfbb199af remove unnecessary assertion 2008-01-05 19:01:51 +00:00
Charles Kerr 15ffb4232e tr_stat.ratio now returns TR_RATIO_INF when appropriate 2008-01-04 19:13:30 +00:00
Charles Kerr d417fe8a79 speedup calculatePiecePriority(). This should give faster startup for torrents w/lots of files. 2008-01-02 20:37:22 +00:00
Charles Kerr 2b7a82b9a8 fix r4425 oops 2008-01-02 20:34:20 +00:00
Charles Kerr 0e56fa0baf test code for #575 (m1b's bug) 2008-01-02 18:05:05 +00:00
Charles Kerr 288e2ca814 don't stop the torrent just because of a tracker error 2008-01-01 23:37:50 +00:00
Charles Kerr ce6c33b7bf set copyright info to 2008 2008-01-01 17:20:20 +00:00
Charles Kerr aacb21fdc4 silence a debug message gone wild 2007-12-27 22:33:24 +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 16e273ed05 fix torrent parsing bug reported by m1b, SoftwareElves, and BentMyWookie 2007-12-25 01:23:07 +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 b13d8d1dd6 save a copy of the torrent's metadata in tr_torrentInit(), not tr_torrentParse(). remove dead code from metainfo.c. 2007-12-22 18:00:47 +00:00
Charles Kerr c946168b1e (1) fix peer limits in fastresume (2) possible fastresume corruption (3) add `save' field to torrent ctor 2007-12-22 17:30:31 +00:00
Charles Kerr 2764f9a140 fix indentation errors in r4278.
fix consistency errors between ctor and the new functions in r4278.
2007-12-22 04:11:17 +00:00
Mitchell Livingston 3449e2d15c separate getting/setting # connections and # unchoked 2007-12-22 04:00:19 +00:00
Charles Kerr 7542573044 brush away the last remnants of tr_torrentInit() 2007-12-22 03:51:12 +00:00
Charles Kerr 93f69d2b5c (gtk) add options to set global & per-torrent peer connection limits 2007-12-22 00:06:38 +00:00
Charles Kerr 8c7434dded fix a different r4267 bug, also reported by John_Clay 2007-12-21 22:38:01 +00:00
Charles Kerr 69f1ee48c1 remove some stubbed code that should've been removed in the last checkin 2007-12-21 22:24:37 +00:00
Charles Kerr 287975caf5 the torrent ctor is here. 2007-12-21 22:18: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 75d4a2b8c2 fix an obscure bug in tr_torrentStat() where (% verified + % unverified + % unavailable) could be > 1.0 2007-12-19 05:57:55 +00:00
Charles Kerr e9ca72237f if tr_torrentStat() is called again in the same second for a torrent, return the cached value. 2007-12-19 02:44:21 +00:00
Charles Kerr d58d5210d0 fix tr_stat error: fields desiredSize and desiredAvailable could be too large. 2007-12-18 05:01:00 +00:00
Charles Kerr 0e1e7efd3b take inspiration from Solomon when handling odd tracker errors that confuse tracker's request queue: stop the torrent.
when the tracker gives us errors that confuse the tracker work queue,
2007-11-30 23:37:44 +00:00
Charles Kerr e354b82452 disable SWIFT on private trackers, because they are typically ratio-based sites where you *want* to upload as much as possible to deadbeats 2007-11-26 04:05:12 +00:00
Charles Kerr 3b04f824e0 fix libT crash reported in the forums 2007-11-23 02:14:21 +00:00
Charles Kerr 260033847f fix ticket #451 (Files remain in use after removal) 2007-11-21 16:16:59 +00:00
Charles Kerr 172efd42fa fix "manual update" crash reported by Gimp_ and BentMyWookie 2007-11-20 16:50:48 +00:00
Charles Kerr 37969406b2 Add "Status" column to tr_peer_stat. 2007-11-17 23:43:33 +00:00
Charles Kerr a1805875ee try to fix the platform.c:278 issue reported by dave in http://transmission.m0k.org/forum/viewtopic.php?t=2949 2007-11-16 20:41:41 +00:00
Charles Kerr 1464dc7962 fix r3830 bug reported by Gimp_ 2007-11-16 05:43:47 +00:00
Charles Kerr d89d6faad4 don't require clients to call tr_torrentClearStatusCallback() before tr_torrentClose(). 2007-11-11 03:14:01 +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 96351b93ef part 1 of the data corruption fix: plug the leaky abstraction in fdlimit 2007-10-30 18:35:06 +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 515d04de1a Ticket #395 (ensure file exists when starting) 2007-10-27 14:17:51 +00:00
Charles Kerr e6fbcaeae6 Quick & dirty fix to crasher ticket #415. 2007-10-26 03:02:23 +00:00
Charles Kerr 814a56046d fix ul/dl speed wart reported by BentMyWookie 2007-10-21 15:47:26 +00:00
Charles Kerr b7258fbf33 try to better sync up the tr_stat fields, as requested by BentMyWookie 2007-10-20 21:07:11 +00:00
Charles Kerr 4acfe5e1b5 have gtk+ use the batch form of setFilePriorities(). remove saveFastResumeSoon(). 2007-10-19 23:44:01 +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 6a3a61716b when seeding, instead of giving the the ratio as N/A, give uploaded/torrent_size (Waldorf_) 2007-10-18 20:42:39 +00:00
Charles Kerr 9da5aaef2c huge tracker cleanup for the "no response from tracker" issue 2007-10-17 18:59:58 +00:00
Charles Kerr e698756c98 remove unused flags 2007-10-15 20:58:39 +00:00
Charles Kerr c65d6a20c3 remove dead code tr_file_stat::completionStatus 2007-10-15 18:45:25 +00:00
Charles Kerr 159f1de576 remove dead code tr_stat::cpStatus 2007-10-15 18:28:49 +00:00
Charles Kerr 57eaa27970 Fix bug that could initiate pex in private torrents. 2007-10-14 17:21:24 +00:00
Charles Kerr 38d6b03a8e report a speed of 0 when no peers are connected. 2007-10-13 23:57:13 +00:00
Charles Kerr bd01906f0c more banging on the fastresume-destination-directory thing. this permuation makes the fastresume destination a fallback, to be used only if the client didn't pass in a directory to tr_torrentInit*() 2007-10-13 15:29:15 +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 05bcd5e01c fix r3379 bug that forced us to recheck the torrents every startup 2007-10-13 03:58:54 +00:00
Charles Kerr ff36475fad Add an option for saving a torrent's destination path in its file. This can be overridden by clients with the `destination' argument in tr_torrentInit*() 2007-10-12 19:45:51 +00:00
Charles Kerr 568e97d220 recheck the completeness stats after `recheck torrent' 2007-10-07 04:32:37 +00:00
Charles Kerr 17743d8d04 tweak the `start torrent' code based on feedback from BentMyWookie 2007-10-04 23:47:49 +00:00
Charles Kerr 53aef0a48c Simplify the tracker/pause/close/recheck/start code. 2007-10-04 19:58:30 +00:00
Charles Kerr 77d7cf76a1 fix looong-standing potential dangling pointer bug reported by BMW 2007-10-02 03:33:17 +00:00
Charles Kerr 6ed2d25af7 threads. gotta love 'em. 2007-10-02 02:59:07 +00:00
Charles Kerr e4fec9eefd add tr_stat.peersKnown to indicate how many peers exist in the peer `pool' 2007-10-01 15:51:54 +00:00
Charles Kerr 5c11c58113 simplify libT locks now that it's (more-or-less) single-threaded. fix deadlocks. make tr_locks nestable. 2007-10-01 15:17:15 +00:00
Charles Kerr b3d6391413 test to see if the new locking code can fix the old `stop' bug 2007-09-29 14:25:52 +00:00
Charles Kerr f0c9f9a99a add a callback to notify clients when a torrent's state changes 2007-09-28 14:51:34 +00:00
Charles Kerr d3077bbce1 round 2 of minor revisions to tr_stat 2007-09-27 03:30:22 +00:00
Charles Kerr 439c1f38c1 some experimental code. (1) try to improve throughput to peers. (2) add first draft of new tr_stat fields requested by BentMyWookie (3) raise the per-torrent peer limit to 100 to match LibTorrent's defaults 2007-09-27 03:03:38 +00:00
Charles Kerr ee6a0b8945 modify the tr_stat struct as hashed out by charles_ and BentMyWookie. sync gtk, ipc, and wx clients. 2007-09-26 01:55:04 +00:00
Charles Kerr 904359a049 * fix oops from last checkin
* remove some unused fields from internal structures
2007-09-25 22:37:23 +00:00
Charles Kerr 7a15abaf7a better handling of tracker error messages. 2007-09-25 18:39:58 +00:00
Charles Kerr b402687c93 * add sanity checks to incoming piece data requests. This may solve the inout.c:99 assertion failure.
* rename the gtk client from `transmission-gtk' to `transmission' for parity with the mac client.
2007-09-23 23:38:39 +00:00
Charles Kerr 4834dc4b13 fix crash-on-shutdown 2007-09-23 19:24:06 +00:00
Charles Kerr b3fde0b43b tweak responsivenes on switching between `uploading' and `downloading' when a user changes a file's do-not-download state 2007-09-23 14:17:39 +00:00
Charles Kerr 89da2294b1 * when a torrent's done downloading, have it switch to seeding mode.
* tweak the gtk+ client's torrent inspector's display of transfer rates
2007-09-23 13:53:44 +00:00
Charles Kerr 56b0e5d1ac * remove some console messages.
* scrape sooner when peers are added.
* added stub code for the connection manager code
2007-09-22 00:22:10 +00:00
Charles Kerr 9248143ce8 fix recursive crash when stopping a torrent, reported by plantain. silence a few more console messages. 2007-09-21 14:20:55 +00:00
Charles Kerr 4d15bbdc2a slightly less broken handling of cases where we can't bind to our listening port. 2007-09-21 05:31:29 +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 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 64faed5c47 better saving of run/stopped state. 2007-08-20 23:36:18 +00:00
Charles Kerr 4e82903313 better fix for the leak in r2870 2007-08-19 04:03:06 +00:00
Charles Kerr b0919dca34 ...and, yet another memory leak, this time when trying to add a torrent that can't be added 2007-08-19 03:42:58 +00:00
Charles Kerr 43bfc5cd7f update version.sh to exclude third-party. add $Id:$ to the new files s.t. version.sh will find them. 2007-08-18 17:05:51 +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
Charles Kerr 7254a96ce8 let fastresume remember which torrents are stopped and which are running. 2007-08-13 16:43:33 +00:00
Charles Kerr f2daeb242d (trunk) add tweak to boost the priority of the first and last piece of a file so that early previewing is possible. Suggested by mtolman in http://transmission.m0k.org/forum/viewtopic.php?t=2110 2007-08-08 15:07:06 +00:00
Charles Kerr 82311abfbe (trunk) fix assertion bug in torrent.c::fileByteCompleted() 2007-08-07 14:17:37 +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 d209052051 add portability wrapper for in_port_t... 2007-07-30 18:04:10 +00:00
Charles Kerr 1be185aacd (libT) get "update tracker" working again.
(gtk) add "update tracker" button.
2007-07-30 17:11:00 +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 530507760b fix r2531 bug reported by Lacrocivious 2007-07-28 16:31:08 +00:00
Charles Kerr 29367fda62 add a temporary debugging statement for Lacrocivious 2007-07-28 15:58:59 +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 a180698e8a save a little bit of memory per-torrent. 2007-07-27 23:07:26 +00:00
Charles Kerr 8f4fb4efbe speed improvements to tr_torrentStat() by folding two expensive & redundant functions together. 2007-07-27 01:22:49 +00:00
Charles Kerr 3e40e06938 avoid null pointer dereferencing in tr_torrentInit*() as reported by wereHamster 2007-07-25 18:43:21 +00:00
Charles Kerr e8fb29ea44 fix compiler warnings reported by wereHamster 2007-07-25 17:27:19 +00:00
Charles Kerr 66883e72a9 fix double-free crash on opening a corrupt torrent file. reported by wereHamster 2007-07-25 17:19:29 +00:00
Charles Kerr 95313e077a fix off-by-one in r2488 reported by BentMyWookie. Hooray for assert()! 2007-07-25 02:28:25 +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 339005346c remove unused function tr_cpMostMissingBlockInPiece() 2007-07-24 17:08:45 +00:00
Charles Kerr e1c18610be remove unused function _tr_blockPosInPiece() 2007-07-24 16:04:43 +00:00
Charles Kerr dd55805012 much faster rechecking of incomplete torrents. added tr_stat_t.recheckProgress field. 2007-07-24 01:33:59 +00:00
Charles Kerr c7d97e5f0a get "recheck files" working properly again. 2007-07-24 00:09:23 +00:00
Charles Kerr eaca893b4c set default torrent ul/dl speed limits from global ul/dl speed. as a side effect, totally decouples fastresume from inout. 2007-07-23 03:00:20 +00:00
Charles Kerr a9526adbdd put information messages in tr_inf(), not fprintf() 2007-07-21 18:31:08 +00:00
Charles Kerr 50f407933b when closing torrents, don't try to re-stop torrents that are already stopped. 2007-07-21 18:03:24 +00:00
Charles Kerr 1d932b07c7 fix looooong-standing bug that choked tracker connections 2007-07-21 17:35:47 +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 459b8958cb simplify xml.c and utils.c's dependencies 2007-07-19 11:54:37 +00:00
Charles Kerr 615afaa445 add extra state change checks 2007-07-19 03:48:27 +00:00
Charles Kerr dbe96a9e82 fold per-torrent ul/dl speed cap settings into libtransmission. synchronize gtk+ client with this change. breaks os x client. 2007-07-18 05:27:45 +00:00
Charles Kerr d182f5b4b6 test fix tr_getDone() for BentMyWookie 2007-07-17 00:31:38 +00:00
Charles Kerr 9c7a913cdc r2377 cleanup 2007-07-16 23:52:05 +00:00
Charles Kerr 2f173fd4d4 fix overlap bug in file-selection where files adjacent to a "do not download" file could end up missing a few bytes. 2007-07-16 19:57:34 +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
Charles Kerr 82fbfb4c47 disambiguate some of the tr_stat_t variables' names 2007-07-16 00:50:43 +00:00
Charles Kerr 7229f6c56b remove more functions made obsolete by tr_torrentFile(). 2007-07-15 20:29:57 +00:00
Charles Kerr 59459feb26 replace tr_torrentGetFileStatus() with tr_torrentFiles() for BMW 2007-07-15 20:05:32 +00:00
Charles Kerr 321b01d430 make tr_torrentStat() const.
malloc, rather than calloc, the buffer in strndup.
2007-07-15 19:12:54 +00:00
Charles Kerr 4a0c4b6fbc make tr_torrentGetFileStatus() more accurate 2007-07-15 18:47:43 +00:00
Charles Kerr ad6ae58e06 fix the bugs outlined by cluthi81 in ticket #255. 2007-07-15 17:36:56 +00:00
Charles Kerr 73ca83a455 split tr_stat_t's peersTotal into peersTotal and peersConnected 2007-07-15 17:19:07 +00:00
Mitchell Livingston 975e066919 whoops 2007-07-15 15:45:08 +00:00
Mitchell Livingston 1facf22f58 move towards fixing activity display bug 2007-07-15 15:43:31 +00:00
Charles Kerr a572902dae make tr_stat_t and tr_peer_stat_t more accurately reflect ul/dl rates 2007-07-15 05:18:18 +00:00
Charles Kerr 8bf8cb4c47 if a torrent's status changes due to a manual recheck while a torrent is stopped, update the torrent's seeding/downloading state appropriately. 2007-07-15 04:19:39 +00:00
Charles Kerr 4311b160b5 add tr_torrentGetFileStatus() for BentMyWookie 2007-07-15 03:26:22 +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 e6e6d574db second draft of a fix for the tracker communication bug reported by TMT 2007-07-13 01:34:14 +00:00
Charles Kerr b667ad3037 ... and do the same for tr_torrentGetFileDL() 2007-07-13 01:17:21 +00:00
Charles Kerr a3eb718162 revise tr_torrentSetFilePriorities() for BMW 2007-07-13 00:27:47 +00:00
Charles Kerr 5e4a49be16 first draft of a fix for the tracker communication bug reported by TMT 2007-07-12 20:48:13 +00:00
Charles Kerr f86cf5449d fix rate control bug reported by John_Clay 2007-07-10 17:07:18 +00:00
Charles Kerr adb3d2399b fix dnd-setting bug created while splitting DND and priorities into two separate entities 2007-07-10 03:41:16 +00:00
Charles Kerr 0c39aa6565 minor cleanups of last checkin 2007-07-10 03:23:07 +00:00
Charles Kerr ed226a32ac splitting dnd and priorities apart, and moving the file storage for those fields into fastresume 2007-07-10 03:12:46 +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 b79beeff66 clean up #includes a bit. 2007-07-09 20:10:42 +00:00
Charles Kerr 18aa394019 when creating a torrent, initialize its cpStatus field before passing it to the torrent's worker thread 2007-07-02 01:29:05 +00:00
Charles Kerr bfee506ff4 Move the initial fastresume check into the thread that creates the torrent, rather than in the torrent's worker thread 2007-07-01 19:10:14 +00:00
Charles Kerr 4784289921 fix bug that caused libtransmission to think private torrents were public. 2007-06-30 21:29:49 +00:00
Charles Kerr b6819d6a12 fix r2247 oops 2007-06-30 15:16:08 +00:00
Charles Kerr 3e0cac55fd (1) check a torrent's `fast resume' state as soon as it's added. (2) in gtk, show % done even when torrent is stopped 2007-06-30 13:53:10 +00:00
Charles Kerr 6c6732ed39 make tr_torrentInfo() a const function 2007-06-30 13:36:58 +00:00
Charles Kerr ec12220404 make decrementing the torrent count the last thing we do when destroying a torrent. 2007-06-30 13:19:57 +00:00
Charles Kerr 2b1cf88ea9 fix crash reported by persept 2007-06-30 12:46:45 +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 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 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 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 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
Mitchell Livingston a4d5dfa328 avoid ridiculously rate divide-by-0 2007-06-19 00:08:06 +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
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 c8ac8e312b make stalled check work for minutes, not seconds 2007-05-28 16:40:56 +00:00
Mitchell Livingston 0f9766145b patch from Charles Kerr: perform file checking one at a time (fixes #124) 2007-05-28 15:23:28 +00:00
Mitchell Livingston b4d71e2e9a store date of last activity 2007-05-25 19:14:42 +00:00
Mitchell Livingston 07bc103001 this shouldn't have been committed 2007-05-24 16:01:20 +00:00
Mitchell Livingston 13ab13d0d0 fix bug where when a file location was changed the valid download amount would double 2007-05-24 15:57:04 +00:00
Josh Elsasser 81a6d96d6e Remove tr_handle_t argument from tr_torrentClose(). 2007-05-23 04:45:20 +00:00
Mitchell Livingston 3f2861f0c7 determine upload/download rates the old way, which is not the most accurate way at a few points, but should have a positive overall impact 2007-05-16 02:03:18 +00:00
Mitchell Livingston 3af24be44e separate code for determining if there is a download with same name and location 2007-05-11 18:56:59 +00:00
Mitchell Livingston 7e19df5444 only allow one active transfer with the same name in the same location 2007-05-05 14:43:52 +00:00
Mitchell Livingston 305ccf1cd5 add ability to remove torrent cache 2007-04-28 01:34:39 +00:00
Mitchell Livingston 16aad395e2 streamline eta calculation 2007-04-21 13:57:30 +00:00
Mitchell Livingston 83a565b5f1 simplify ratio calculation a little 2007-04-21 13:48:05 +00:00
Mitchell Livingston d31d79b15b determine ratio by using download amount as the larger of amount downloaded by T and percent times file size 2007-04-21 06:38:37 +00:00
Mitchell Livingston ea839e8ca9 expand the last commit a bit so that ratio is calculated with the actual downloaded amount if amount downloaded in T is 0. This should eliminate ever showing infinity for ratio. 2007-04-20 23:51:15 +00:00
Mitchell Livingston dbc1e1619e if seeding without ever downloading with T, calculate ratio by using the file size as amount downloaded 2007-04-20 23:31:49 +00:00
Josh Elsasser 498cbddb2e Add remaining file download to tr_stat_t. 2007-04-04 00:55:53 +00:00
Josh Elsasser 58333068e8 Cache peer client name.
Don't create an 'unknown client' name with nonprintable characters.
2007-04-03 18:22:58 +00:00
Josh Elsasser 7e03349f76 Merge r1634 to trunk. 2007-04-02 20:38:23 +00:00
Josh Elsasser b8d03e5958 Add API function to disable PEX for a torrent. 2007-03-31 19:19:09 +00:00
Josh Elsasser 66cb8d5835 Move debug message, we don't want to see it 30 times a second. 2007-03-29 01:09:03 +00:00
Josh Elsasser 367426b51b Show peers found and used when adding new peers.
Accept --without-foo in addition to --disable-foo in the configure script.
2007-03-29 00:19:09 +00:00
Josh Elsasser 3394f8d2a4 Revert unintended changes. 2007-03-26 19:21:25 +00:00
Josh Elsasser d390c4c871 Don't save or load cached peers for private torrents. 2007-03-26 19:19:33 +00:00
Josh Elsasser 09c87aad84 Merge PEX branch, I hope this works. 2007-03-23 08:28:01 +00:00
Josh Elsasser 92637d591e Optionally return the info hash after attempting to load a duplicate torrent. 2007-03-22 18:07:22 +00:00
Josh Elsasser 494ca91fd6 Append a frontend-specific tag to saved torrents.
This prevents one frontend from deleting a saved torrent used by another.
2007-03-13 06:56:50 +00:00
Josh Elsasser 5a62e83689 Don't use sprintf, strcpy, or strcat. 2007-03-12 00:04:11 +00:00
Josh Elsasser 0e79140f26 Don't clobber the private flag during torrent initialization.
Display if the private flag is set in transmissioncli -i
2007-03-06 01:58:14 +00:00
Josh Elsasser 67826df085 Use a tr_tracker_info_t * directly in tr_info_t and tr_tracker_t. 2007-02-27 04:00:38 +00:00
Josh Elsasser 963a4fdc81 Clamp file progress to 0.0-1.0
Clear focus when opening files dialog.
2007-02-23 11:49:18 +00:00
Josh Elsasser efdc43ebb7 Add function to return the progress of each file in a torrent. 2007-02-23 11:26:48 +00:00
Mitchell Livingston 5d2ae4eb61 simplify options for download limits in inspector with 3 check states: mixed for system defaults, checked for override with limit, and no check for no limit 2007-02-02 17:33:32 +00:00
Mitchell Livingston 370e9ab355 do the same calculation one time per loop 2007-01-31 16:23:07 +00:00
Eric Petit ddcfa59c96 Always take the global lock when accessing the torrent list (fixes a race condition crash) 2007-01-29 08:24:09 +00:00
Josh Elsasser 263bf6ff0c Check for private flag in main dict too. 2007-01-27 22:37:10 +00:00
Josh Elsasser adfd4e7ca7 Rework the port handling a bit to allow different bound and advertised ports. 2007-01-27 21:17:10 +00:00
Eric Petit 1634595bb0 Compile before you commit 2007-01-21 07:32:31 +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 14aa4e5ab0 Officially give up on making libT reentrant, and simplify our code instead 2007-01-21 07:16:18 +00:00
Eric Petit e63e4ab38f Reorganizes a few things, don't accept two connections from the same IP 2007-01-21 06:42:05 +00:00
Eric Petit da84461d9c Don't let tr_torrentStop return until files are closed, so that the UI can trash them safely if requested (fixes #186) 2007-01-19 15:24:20 +00:00
Eric Petit 4a567871bb clean up 2007-01-19 11:19:20 +00:00
Eric Petit 918c083618 Fix warnings 2007-01-19 08:40:06 +00:00
Eric Petit 09c096731c Another split 2007-01-19 08:36:49 +00:00