Commit Graph

542 Commits

Author SHA1 Message Date
Charles Kerr 452cb27f9e (trunk libT) re-start work on making libT doxygen friendly. still a long ways to go on this. 2009-05-29 19:17:12 +00:00
Charles Kerr 73add1f2f9 (trunk) add hooks for disabling/enabling DHT in gtk client, qt client, and transmission-remote 2009-05-21 00:15:54 +00:00
Charles Kerr 7d844ec279 (trunk) #920 Add "Move Data" to libT so all clients can use it 2009-05-20 16:02:12 +00:00
Charles Kerr 3d7cc36424 (trunk) #7: DHT support. This is a work in progress... no gui/rpc support yet 2009-05-19 18:38:26 +00:00
Charles Kerr 29b1d3e2cc (trunk) #920: add "move data" to libT so all clients can use it 2009-05-13 15:54:04 +00:00
Charles Kerr 6559fbbd16 (trunk) support an X-Transmission-Session-Id header in the RPC server. Yesterday's approach of including the session_id in posted forms -- which is a typical approach -- isn't sufficient for Transmission, since it also allows remote access via JSON/RPC. (part 1 of 2. part 2 is kjg's web ui patch) 2009-05-08 14:56:11 +00:00
Charles Kerr 7f60d9db17 (trunk gtk) #1473: Properties dialog should let you edit/view multiple torrents at once 2009-04-24 01:37:04 +00:00
Charles Kerr 03fa0b3e7d (trunk) experimental support for tr_torrentSetPriority() 2009-04-18 23:17:30 +00:00
Charles Kerr e2b7b05e55 (trunk) remove obscure macro 2009-04-17 17:34:21 +00:00
Charles Kerr cdd779bb2a (trunk libT) fix long-standing wart of a few public API calls returning strdup'ed char*, rather than a const char* like all the others 2009-04-16 19:14:37 +00:00
Erick Turnquist 2719372bc6 (trunk) #1497 Options to listen on specific network sockets 2009-04-15 21:05:58 +00:00
Charles Kerr 03a7251054 (trunk) make it possible to #include "version.h" without having to add -I${TOP}/libtransmission/ to your CFLAGS 2009-04-13 19:04:21 +00:00
Charles Kerr 81766a8dcb (trunk libT) another possible fix for #1894: Crash when download finishes and seed ratio is already met 2009-04-09 14:10:31 +00:00
Charles Kerr 2e9546d70e fix oops 2009-04-04 05:32:37 +00:00
Charles Kerr a1adee368f (trunk)
1. add to the "recently-changed" torrent a list of recently-removed torrent ids.
2. make the day-of-week alt speed a bitfield of days or'ed together, so that you can have (say) speed limits on monday and wednesday
2009-04-04 05:29:08 +00:00
Mitchell Livingston f3cf4b4ef5 libT support for #1679 Schedule Speed Limit mode based on days, not just time 2009-04-04 02:17:39 +00:00
Mitchell Livingston aab0c1b87c #1969 separate picking a random port from choosing a random port at startup 2009-04-03 04:29:27 +00:00
Charles Kerr b6daa50ecf (trunk rpc) add the ability to set file priorities and download flags when adding a new torrent via rpc 2009-04-02 20:43:42 +00:00
Charles Kerr c3b24bc471 (trunk) modify tr_torrentParse() and tr_torrentNew() arguments s.t. they use the ctor's session instead of passing it in again. Allow a NULL session pointer for some cases of tr_torrentParse(). 2009-04-02 17:30:29 +00:00
Charles Kerr 2290c49898 (trunk) add a did-the-user-do-this flag to the "alt speed toggled" callback 2009-03-30 17:25:35 +00:00
Charles Kerr f1d92708e7 (trunk) more speedlimit work 2009-03-28 16:47:01 +00:00
Charles Kerr 93ffda5b5a (trunk) fix a bug with the new libT alt speed limit code 2009-03-27 01:39:35 +00:00
Charles Kerr cc1a4ec1e9 (trunk) rpc changes:
1. new field "blocklist-size" to session-info, so RPC clients can know how big the blocklist is
2. new method "torrent-reannounce" so RPC clients can ask the tracker for more peers
2009-03-26 18:06:54 +00:00
Charles Kerr b1fc4ed8c4 (trunk) #1950: Add off-peak hour bandwidth limiting to libtransmission, rpc 2009-03-25 19:18:00 +00:00
Erick Turnquist 81a01fe1d3 (trunk libT) re-add rpc password to settings benc dict 2009-03-25 00:36:11 +00:00
Mitchell Livingston 50c9385ceb #1276 encrypt the password to access web client interface using SHA-2 2009-03-17 21:50:20 +00:00
Charles Kerr 41b0cc8cdd (trunk) libT and gtk+ parts for #1889: per-torrent vs. global speed limit confusion 2009-03-04 19:52:57 +00:00
Mitchell Livingston 2dabe5ce34 move the percent to the stop ratio into libtransmission 2009-03-01 23:48:04 +00:00
Charles Kerr 52777f376f (trunk libT) make TR_DEFAULT_PEER_SOCKET_TOS_STR default to "0" based on a suggestion from sylware in #transmission 2009-02-20 17:34:35 +00:00
Mitchell Livingston 39b0108366 have the mac ui use libT's ratio settings (attempt 1); when seed ratio is reached in libT, set the seed ratio setting to "seed forever" 2009-02-14 21:15:57 +00:00
Mitchell Livingston fa3b9a12c5 eta will now indicate time remaining to reach seed ratio when seeding 2009-02-14 05:15:23 +00:00
Charles Kerr 3f9a1d090b (trunk) #1787: add support for seeding ratio limiting in libtransmission 2009-02-13 18:23:56 +00:00
Charles Kerr c99f941d16 (trunk libT) make file preallocation optional via settings.json. choices are: full, sparse, and none 2009-01-16 16:38:16 +00:00
Charles Kerr 08403324bd (trunk libT) Remove tr_torrentNext() from the public libT API (wereHamster) 2009-01-13 16:39:19 +00:00
Charles Kerr 2f6b56671f (trunk libT) win32 portability patch from Alexey 2009-01-11 17:02:04 +00:00
Charles Kerr c6a454d2e2 (trunk libT) win32 portability fixes, reported by Alexey 2009-01-10 02:22:13 +00:00
Charles Kerr 2702fc289a (trunk libT) finally get around to making upload-slots-per-torrent a settings.json option, thanks to friendly prodding from ful in #transmission 2009-01-09 15:45:44 +00:00
Charles Kerr 55aa6d834f (trunk libT) make the default number of open files 32 rather than 16, and make it configurable via settings.json. (Reported by Lucius Windschuh via denis_) 2009-01-08 19:20:24 +00:00
Charles Kerr b41cf9f231 (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_bandwidth, contain the it directly rather than a pointer to one allocated elsewhere on the heap. 2009-01-02 19:56:06 +00:00
Charles Kerr 199e38dd66 (trunk libT) avoid some unnecessary memory fragmentation... for composited objects that have a tr_completion, contain the it directly rather than a pointer to one allocated elsewhere on the heap. 2009-01-02 17:01:55 +00:00
Charles Kerr d6b4db4a78 (trunk libT) add "inline" hint to several one-liner functions 2009-01-02 06:28:22 +00:00
Charles Kerr 5e806dc816 * add autoconf test AC_C_INLINE to do the Right Thing for "inline", "__inline__", and "__inline".
* make tr_isAddress(), tr_isDirection(), and a bunch of the tr_torrent() macro functions into true inline functions
2009-01-02 05:11:50 +00:00
Charles Kerr 0cd572a0da (trunk libT) make tr_isAddress() and tr_isDirection() inline 2009-01-02 04:47:37 +00:00
Charles Kerr 694a980348 (trunk daemon) #1618: patch from er13 to make transmission-daemon's encryption, port, and peer limit command-line arguments similar to transmission-remote's 2008-12-30 18:18:34 +00:00
Charles Kerr dfcc9173e5 (trunk libT) #include "session.h" cleanup from wereHamster 2008-12-23 17:27:15 +00:00
Charles Kerr 303356d110 (trunk) #1029: When removing local data only remove data from the torrent 2008-12-23 16:04:11 +00:00
Charles Kerr 55f263312f (trunk) patch from wereHamster to finish off tr_handle 2008-12-22 19:14:43 +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
Charles Kerr 8556ce653f (trunk libT) comments, tr_bool correctness, better runtime tests. 2008-12-21 18:15:00 +00:00
Charles Kerr a9f8c517a0 (trunk) fix gtk bug of not remembering users' settings for per-torrent peer limits 2008-12-14 22:57:08 +00:00
Mitchell Livingston 02521f4bf8 simplify the "randomize port" text 2008-12-14 00:50:41 +00:00
Mitchell Livingston 2707962707 #1559 Simplify tr_sessionInitFull - Mac client 2008-12-14 00:31:33 +00:00
Charles Kerr 78a68337fd (trunk libT) remove unneeded key 2008-12-14 00:23:00 +00:00
Charles Kerr f1419a95c0 (trunk libT) semantic cleanup: int -> tr_bool 2008-12-13 23:39:12 +00:00
Charles Kerr 6b0d98a695 (trunk) #1559: Simplify tr_sessionInitFull 2008-12-13 23:17:36 +00:00
Charles Kerr 35f40bdfa6 (trunk libT) #1593: Setting upload to 0 kills all download 2008-12-13 22:52:15 +00:00
Mitchell Livingston 7b17087c70 #1157 ability to pick a random port in libtransmission; mac preference to pick a random port on launch and on button click 2008-12-11 04:41:23 +00:00
Charles Kerr 3a970c9fd9 (trunk libT) fix INET6_ADDRSTRLEN build error on cygwin, reported by stdisease in #transmission 2008-12-09 20:56:24 +00:00
Charles Kerr a33b78fc53 (daemon) #1510: kysucix's patch to give an option to delete local data via RPC when removing a torrent. 2008-12-09 17:01:49 +00:00
Charles Kerr 92dff35710 (libT) more tr_bool, tr_port junk 2008-12-03 07:10:09 +00:00
Charles Kerr aa9b1d2b8e (libT) misc cleanup: use tr_bool and tr_port where appropriate 2008-12-03 04:55:10 +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 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 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 a1cd6d85dc (libT) add #ifdefs to ensure that client apps don't #include private libtransmission headers. 2008-11-24 20:17:36 +00:00
Charles Kerr 0bcff74d52 minor code cleanup 2008-11-23 16:30:09 +00:00
Charles Kerr f8a7c4b347 #1406: need tr_getDefaultDownloadDir() for consistency between apps 2008-11-15 17:39:54 +00:00
Charles Kerr 42fe27c067 more fucking around with the speed measurements. 2008-11-08 02:49:04 +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 b263a5f0e2 (libT) tr_handle --> tr_session 2008-11-02 22:21:59 +00:00
Charles Kerr 188adb1d6a reverse patch #6948. one of the new gcc attributes seems to be causing trouble. 2008-10-23 02:37:21 +00:00
Charles Kerr f0eddb5c20 (libT) move the TR_GNUC macros from utils.h to a standalone header file so other libT headers can use them without getting an extra dependency tree. 2008-10-22 18:42:37 +00:00
Charles Kerr 674307add7 Add a new token, TR_DEFAULT_ENCRYPTION, and use it as the default in the various clients.
Add a new #define, TR_EMBEDDED.  When it's set, gettext is disabled and non-encrypted connections are the default.
2008-10-22 17:16:12 +00:00
Charles Kerr 6c96058d32 (libT) add tr_getMessageQueuing() for Spry 2008-10-21 19:40:12 +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 9d7ef3bf38 #1366: annotated the tr_info.torrent field to reflect its deprecated nature 2008-10-20 16:04:26 +00:00
Charles Kerr 2adcf84784 #1366: move tr_ctor{Set,Get}Save() to a package-private header. 2008-10-20 16:00:14 +00:00
Charles Kerr 67282cb794 further win32 portability fixes from Spry 2008-10-19 17:43:04 +00:00
Charles Kerr b04be5fb2e make MAX_PATH_LENGTH private to libtransmission. add tr_dirname() and tr_basename() utility / portability wrappers 2008-10-14 03:39:16 +00:00
Charles Kerr 24b75a7d74 maybe fix the mac build 2008-10-03 04:57:06 +00:00
Charles Kerr 4fab4c9e9b (libT) finish killing tr_errno. 2008-10-03 04:49:06 +00:00
Charles Kerr 6cba9305ae add a separate flag for enabling/disabling the rpc address whitelist 2008-10-01 22:59:29 +00:00
Charles Kerr bddf34d7a8 #1309: Web/RPC interface ACL ignored 2008-10-01 20:23:57 +00:00
Charles Kerr 8903960174 a little more cleanup of the rpc server stuff. 2008-09-26 04:41:13 +00:00
Charles Kerr 4c34b2bc89 rpc-server cleanups. add true wildmat control. break the Mac build a little harder. 2008-09-25 18:48:09 +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
Mitchell Livingston 7b62feac10 enable lazy bitfields 2008-08-26 21:44:51 +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 317281f87c Don't show an error when transmission is run twice
Instead, present the main window. This commit also auto-generates
the dbus bindings.
2008-08-17 12:39:26 +00:00
Charles Kerr d06f101e57 #220: lazy bitfields 2008-08-16 21:06:57 +00:00
Charles Kerr f4a5315ec4 #1156: make the RPC callbacks a little more flexible to make thread issues easier on the mac client 2008-08-14 02:12:29 +00:00
Charles Kerr c75c512ff1 readability improvments #1, #2, #3, #4. (muks) 2008-08-12 13:51:11 +00:00
Charles Kerr 51aff87443 lots of C correctness tweaks suggested by sparse/cgcc 2008-08-11 19:05:02 +00:00
Charles Kerr 7974a1e50a (libT) add proxy port arg as requested by BentMyWookie 2008-07-15 01:03:03 +00:00
Charles Kerr eb254b8a54 #1042: "Announce allowed: Never" 2008-07-11 11:51:15 +00:00
Charles Kerr 9fb3bf6412 sync the man pages with the cli/daemon/remote changes 2008-07-08 17:44:33 +00:00
Charles Kerr 1cd9f2351e have daemon and cli use tr-getopt too. 2008-07-08 16:50:34 +00:00
Charles Kerr 6cce27bf54 (rpc) simplify the rpc accessors 2008-06-16 03:47:50 +00:00
Charles Kerr af8e44a5e7 maybe *now* 1.30 is feature complete: by popular demand, add proxy support for SOCKS4/SOCKS5. This will break the mac build temporarily. 2008-06-11 20:45:53 +00:00
Charles Kerr 71c2cdd1ea #966: allow blocklist support in the daemon. add extra info in the man page explaining how to add blocklists. 2008-06-11 20:09:36 +00:00
Charles Kerr f0229ed8ad (libT) allow custom blocklists... now all you need to do is place a file in the blocklists/ folder and Transmission will automatically use it the next time it starts. 2008-06-11 16:15:45 +00:00
Charles Kerr b94893a4c9 wire up the backend proxy support. 2008-06-10 16:16:31 +00:00
Charles Kerr 393ebbc24a more webseed work. 2008-06-10 02:36:52 +00:00
Charles Kerr 61b41adf1a have idle webseeds return a speed of -1 instead of 0 so that we can differentiate between stalled and idle. document this in transmission.h. 2008-06-10 01:46:36 +00:00
Charles Kerr 837f997e6c (libT) new API for webseed statistics: tr_torrentGetWebSpeeds() 2008-06-10 01:38:12 +00:00
Charles Kerr e3e3bee8b5 #800 initial support for GetRight-style fetching of data through http and ftp servers specified in the .torrent's "url-list" tag 2008-06-07 21:26:41 +00:00
Charles Kerr ab17f553c4 get RPC password protections working in libT and the gtk+ client. mac, daemon, and cli need to be synced. 2008-06-05 16:23:03 +00:00
Charles Kerr c724a73fb4 RPC ACL: (1) add a new call for testing ACLs (2) add wildcard notation support (3) add regression tests for the ACL tester and wildcard handler 2008-06-04 17:14:58 +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 f8d40cdf00 (libT): added an ACL tester to tr_sessionSetRPCACL() and return an error string if the ACL can't be parsed. 2008-06-02 19:44:19 +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 f6dd06c367 r5987 tweak: silence a couple of console debugging messages that snuck into the commit 2008-06-01 01:55:05 +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 468a883f23 API cleanup: s/tr_torrentRates/tr_sessionGetSpeed/ 2008-05-30 15:19:07 +00:00
Charles Kerr eb02b3e494 #972: merge upstream version of Jean Gressmann's JSON_parser 2008-05-29 03:24:26 +00:00
Charles Kerr f5400da1bb (libT) shave a few bytes from tr_info and tr_torrent's memory footprints. 2008-05-26 12:52:38 +00:00
Charles Kerr 70fcc56beb (libT) (1) shave a few bytes from tr_peer and tr_ratecontrol's footprints. (2) remove some dead code. 2008-05-26 12:14:35 +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 9fdb8afdf0 (rpc) remove TR_RPC_TORRENT_CLOSING. formalize "torrent-list"'s response in the rpc spec. 2008-05-22 19:24:11 +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 7b209acc1b more janitorial cleanup on the "tr_session*" namespace. Today's victim: tr_handle_status. 2008-05-22 12:31:47 +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 2186d852f1 json ipc: implement torrent-add, torrent-set-file, torrent-get-file 2008-05-12 13:05:06 +00:00
Charles Kerr 33839f77be new utility for iterating through torrents: tr_torrentNext() 2008-05-10 00:19:00 +00:00
Charles Kerr 7ef2511ca8 #377: preliminary https support. this commit probably breaks mac and cli and is not for the faint of heart. 2008-04-24 01:42:53 +00:00
Charles Kerr 0c1599608d add statistics "reset" button 2008-04-22 14:07:42 +00:00
Charles Kerr 002ce54335 #848: UPnP users always have to wait for NAT-PMP to fail first 2008-04-12 21:47:10 +00:00
Charles Kerr fc866f51f3 minor tr_torrentStat cleanup 2008-04-12 15:56:21 +00:00
Charles Kerr 57c7fcb507 #857: DSCP support for Transmission 2008-04-12 00:29:49 +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
Charles Kerr 77abc21659 tidy up some libtransmission filenames. 2008-04-11 17:01:13 +00:00
Mitchell Livingston 8c5da6178b remove the ability to disable scraping - the demand for this feature is too low currently (this also reenables scraping on all clients) 2008-04-09 20:50:14 +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 16880cee99 #765, part 1: add backend support for disabling tracker scrapes 2008-04-05 16:49:26 +00:00
Charles Kerr fd0e71c00a hack on IPC a bit because it's been too long since I broke it 2008-04-03 21:38:32 +00:00
Charles Kerr 5890eaef34 encapsulate the blocklist a little better so that we can add more blocklists in the future if necessary 2008-04-01 19:20:21 +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 24d35e7098 added tr_blocklistGetRuleCount(). 2008-03-30 00:00:28 +00:00
Charles Kerr a09b43a4b4 add tr_blocklistIsEnabled(), tr_blocklistSetEnabled(). add a blocklist flag to tr_initFull(). 2008-03-29 23:12:34 +00:00
Charles Kerr e5b04e45d5 add tr_blocklistExists( const tr_handle * ); 2008-03-29 22:16:33 +00:00
Charles Kerr e7ba6b7b15 first (and incomplete) pass at peer blocking. this commit is to get the API into SVN so the mac client can access them 2008-03-29 18:37:07 +00:00
Charles Kerr 36689ca7c3 #809: reduce memory overhead in tr_info structure 2008-03-23 03:15:05 +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 56364f2ae8 add a tr_errno specifically for failed checksums so they can be differentiated from "Generic error" 2008-03-18 17:02:08 +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 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 24e05bf3fb harden the bitfield handling to handle corrupt messages from peers. This is in response to Ryoujin's crash report in the forums (http://forum.transmissionbt.com/viewtopic.php?p=20414#20414) 2008-03-02 23:44:34 +00:00
Charles Kerr 0c2f5ac1ce expanded description of the behavior of tr_torrentParse(). 2008-02-28 02:43:28 +00:00
Mitchell Livingston 7103fcb57e #741 typo in transmission.h comment 2008-02-27 20:11:04 +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 7f0a06b920 flesh out the possible values for the new tracker fields in tr_stat 2008-02-22 02:39:15 +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 4456c2dd90 (gtk) #544: remove fast-resume cache when appropriate 2008-02-19 05:03:56 +00:00
Charles Kerr 33f77798d3 #706: save a little more memory by doing the same for tr_info.comment and tr_info.creator 2008-02-14 01:12:00 +00:00
Charles Kerr f8b0763c30 #706: reduce memory by 25% by cutting tr_file struct 2008-02-14 00:52:58 +00:00
Charles Kerr e581d5228e add tr_ctor{Set,Get}DeleteSource() 2008-02-13 02:24:12 +00:00
Charles Kerr 5a7127a26b make TR_PATH_DELIMITER and TR_PATH_DELIMITER_STR private to libtransmission 2008-02-09 17:48:53 +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 b1cd6ecccc remove unused "max unchoked peers" feature. fix obsolete TR_FLAG_SAVE comment. 2008-01-23 17:06:36 +00:00
Charles Kerr 0dd150844a make tr_handleStatus() return a const 2008-01-21 18:24:37 +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 d48f7a0026 housekeeping. tweak comments, group API calls a bit. 2008-01-15 22:00:58 +00:00
Mitchell Livingston bedfab2ccc clarify peer upload and download 2008-01-10 00:52:02 +00:00
Charles Kerr 591f7f8b10 * improve the unchoking algorithm.
* when deciding which peers to connect to, take peer's previous speeds into account
* longer delay interval before reconnecting to peers that didn't give us data
* added uTorrent-inspired "flags" column in tr_peer_stat and gtk's torrent details' "peer" tab
2008-01-09 17:33:43 +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 ce6c33b7bf set copyright info to 2008 2008-01-01 17:20:20 +00:00
Charles Kerr e319a6ffe4 dead code removal 2007-12-26 20:45:08 +00:00
Charles Kerr 6db02c401b add message queueing flag to tr_initFull() too 2007-12-24 16:12:23 +00:00
Charles Kerr bc84156d4f add a messageLevel argument to tr_initFull() 2007-12-24 16:02:36 +00:00
Charles Kerr 35adeec1d0 (gtk) fix startup port issue by hitting it with a damn big hammer 2007-12-24 07:02:40 +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 287975caf5 the torrent ctor is here. 2007-12-21 22:18:40 +00:00
Charles Kerr f1baca587b add torrent-ctor so that xcode can be updated. it's not plugged in yet though. 2007-12-21 16:51:42 +00:00
Charles Kerr 5c4f841c7e added tr_torrentSetPeerLimits(), tr_torrentGetPeerLimits(), tr_setGlobalPeerLimit(), tr_getGlobalPeerLimit() 2007-12-20 21:44:16 +00:00
Mitchell Livingston 1b6a8a9504 display the infinity symbol in stats for ratio when there is upload but no download 2007-12-13 04:31:38 +00:00
Charles Kerr 73ee11f233 Use libnatpmp for port mapping. rewrite the upnp/natpmp manager.
NOTE: this will break the xpjets build until SoftwareElves or a volunteer patches the xcode project file to make a libnatpmp library just like was done for libminiupnp.
2007-12-08 19:34:15 +00:00
Charles Kerr 1e4b3a0577 make the peer stats a little easier to understand 2007-11-27 21:39:41 +00:00
Charles Kerr c3c4b699b9 stats 2007-11-26 20:20:46 +00:00
Charles Kerr 3aae5534bd work on the stats a little bit. 2007-11-26 18:55:36 +00:00
Charles Kerr 87d4bcd278 Change the default port from 9090 to 51413 to get in compliance with IANA's port number assignment scheme. (1024 through 49151 are reserved) 2007-11-22 04:15:22 +00:00
Charles Kerr 0a61e04757 now that libevent has a stable 1.4 release out with the features & fixes we wanted, aim third-party/libevent/ at libevent's 1.4 maintainance branch instead of their trunk. 2007-11-20 03:11:50 +00:00
Charles Kerr b61dcfdbff add "this session" stats stubs for BentMyWookie 2007-11-19 20:07:21 +00:00
Charles Kerr f6371c99a3 add "time running" to tr_global_stats 2007-11-19 19:30:24 +00:00
Charles Kerr 4cfa1ca6b5 added tr_global_stats prototypes for BentMyWookie 2007-11-19 17:29:17 +00:00
Charles Kerr a277382578 more download speed tweaks for situations where T is both uploading and downloading. 2007-11-18 04:24:17 +00:00
Charles Kerr 9a81cd7637 reintroduce the "SWIFT" algorithm 2007-11-18 01:00:49 +00:00
Charles Kerr 37969406b2 Add "Status" column to tr_peer_stat. 2007-11-17 23:43:33 +00:00
Charles Kerr 66c9119a84 tiennou's fix for #461 2007-11-12 15:15:51 +00:00
Charles Kerr 125bd34bbb added `plaintext preferred' encryption option. 2007-11-08 21:20:08 +00:00
Charles Kerr e625b10d6d "corruption" fix part 3: cleanup. remove unneeded possible points of failure. 2007-10-31 18:10:55 +00:00
Charles Kerr e6fbcaeae6 Quick & dirty fix to crasher ticket #415. 2007-10-26 03:02:23 +00:00
Charles Kerr e38311e64e fix two separate version.h errors 2007-10-24 18:36:53 +00:00
Charles Kerr f71319b90f get "make distcheck" working again 2007-10-24 17:20:50 +00:00
Charles Kerr c50cadbcaa remove dead code (TR_STATUS_ACTIVE, TR_STATUS_INACTIVE) 2007-10-20 22:07:21 +00:00
Charles Kerr 264f7ab8b3 Dead code removal (TR_STATUS_STOPPING) 2007-10-20 21:17:37 +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 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
Mitchell Livingston cc2db392f5 make libtransmission's pex accessor public, and eliminate a redundant variable in Torrent.[mh] 2007-10-14 22:01:55 +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 cba61802cf remove newly-unused field tr_peer_stat::isConnected 2007-10-01 15:41:42 +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 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 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 f158112ece clarify the speedlimit comments 2007-08-03 15:55:32 +00:00
Charles Kerr ba3dc008fc get the socket/net code working on win32 too 2007-07-31 16:55:47 +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 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 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 dd55805012 much faster rechecking of incomplete torrents. added tr_stat_t.recheckProgress field. 2007-07-24 01:33:59 +00:00
Charles Kerr 809ec63e95 new utility function for app startup: tr_loadTorrents() 2007-07-21 18:46:54 +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
Josh Elsasser 99e471f05d Replace nice readable bitshifts with ugly hex constants
to avoid the compiler warning about our weird error codes.
2007-07-18 18:09:03 +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 82fbfb4c47 disambiguate some of the tr_stat_t variables' names 2007-07-16 00:50:43 +00:00