Commit Graph

10668 Commits

Author SHA1 Message Date
Jordan Lee 6a38a368d6 (trunk libT) CPU improvement in peer-mgr.c's getPeerCandidates()
getPeerCandiates() used to read through all the torrents to determine the global peer connections, and then again to determine the global peer candidates. Now this is done in one loop instead of two.
2011-05-10 01:51:12 +00:00
Jordan Lee 3c3fda5c66 (trunk libT) CPU optimization in tr_bandwidthClamp().
Don't call tr_time_msec() if it's not necessary. This was one of the top CPU sinks in profiling, so removing it is a nice improvement in cases when it's not necessary, such as when speed limiting is disabled.
2011-05-09 04:16:49 +00:00
Jordan Lee c0e1cd8007 (trunk libT) torrent-get CPU optimization.
Move the tr_torrentStat() call outside of the addField() loop so that it's only called once instead of N times.
2011-05-09 04:13:14 +00:00
Mitchell Livingston 56d56a2e19 #4232 Extend tooltip support to disabled files in Inspector->Files 2011-05-09 02:13:39 +00:00
Jordan Lee 3269d99287 (trunk libT) experimental fix for the unterminated announce URLs reported by blacklion in the forums 2011-05-05 20:41:09 +00:00
Jordan Lee 45669fed08 (trunk libT) #4227 "invalid URLs aren't filtered out of .torrents' webseed lists"
If we can't parse a URL provided in the .torrent files' webseed list, that URL should be discarded.
2011-05-05 03:10:51 +00:00
Jordan Lee f8f02fe7c3 (trunk libT) #2338 "Add uTP support" -- increase the block bandwidth to 3000 bytes in phase 1 as suggested by jch in comment:120.
The rationale is that by using 3000 bytes we'll send one full-size frame straight away, and leave enough buffered data for the next frame to go out in a timely manner.
2011-05-04 21:38:01 +00:00
Mitchell Livingston a0fd938fae #4002 Update to jQuery 1.6 2011-05-03 21:52:37 +00:00
Mitchell Livingston ab08085280 update the mac libevent config files 2011-05-03 21:50:04 +00:00
Jordan Lee 45bdc18210 (trunk gtk) use ngettext() instead of gtr_dngettext() to address https://bugs.launchpad.net/ubuntu/+source/transmission/+bug/760761 2011-05-02 17:58:27 +00:00
Jordan Lee f5a0276332 (trunk libT) the functions tr_peerMsgsSetChoke() and tr_peerMsgsSetInterested() have bool arguments whose types never got switched from "int" to "bool" when "bool" was adopted. 2011-05-01 19:10:34 +00:00
Jordan Lee 7069534abf (trunk, gtk) #4218 "open url should set focus on the open button by default" -- fix r12409 oops 2011-05-01 05:04:09 +00:00
Jordan Lee a9b379777f (trunk gtk) #4218 "open url should set focus on the open button by default" -- done. 2011-05-01 04:14:50 +00:00
Juliusz Chroboczek 09c67f749a Include dht-0.19.
This fixes a bug with parsing of announce messages, noticed by cjdelisle.
2011-04-30 23:03:25 +00:00
Jordan Lee 0cff181c09 (trunk gtk) #4203 "gnome-network-properties doesn't exist in GNOME 3" -- fixed with patch from lesnoland 2011-04-30 16:22:03 +00:00
Jordan Lee 45af1b15ca (trunk) bump user-agent prefix to 2.30 beta 4 2011-04-30 00:57:15 +00:00
Jordan Lee 50ceaafeb8 (trunk libT) very minor copyediting: remove a little unwanted whitespace 2011-04-30 00:08:24 +00:00
Mitchell Livingston bb255f5e56 Don't allow the Add Magnet window to be resized vertically 2011-04-29 23:53:01 +00:00
Jordan Lee 841bfffff8 (trunk libT) simplify the code in peer-mgr.c's rechokeDownloads().
The new code has fewer calls to malloc/free and, more importantly, has less copy-and-pasted code to handle the different rechoke states.
2011-04-29 23:25:12 +00:00
Jordan Lee 92ad42e10c (trunk libT) #4215 "bug in unchoking algorithm" -- fixed. 2011-04-29 22:39:54 +00:00
Jordan Lee 9753aa6183 (trunk gtk) in the details dialog, use the GQuark versions of g_object_{get,set}_data() 2011-04-29 21:36:44 +00:00
Jordan Lee c1273a03a4 (trunk gtk) tweak to r12398: because most of the strings in category_filter_model_update() will be duplicates of each other, use g_string_chunk_insert_const() instead of g_string_insert(). 2011-04-29 20:22:11 +00:00
Jordan Lee 53fede89f6 (trunk gtk) in filter.c's category_filter_model_update(), use a string chunk for all those temporary strings that are allocated in a looop 2011-04-28 23:13:14 +00:00
Jordan Lee 513a3fcc1d (trunk libT) tr_torrentGetFileMTime(): if the file being looked at is aleady open in fdlimit's file cache, use that cached handle instead of deriving our own. 2011-04-28 18:40:46 +00:00
Jordan Lee b93bef2712 (trunk gtk) gtr_get_host_from_url(): avoid a couple of malloc() + free() calls. 2011-04-28 18:37:27 +00:00
Jordan Lee e514f93fd1 (trunk libT) in peer-mgr.c's refillUpkeep(), allocate the temporary array outside of the loop instead of inside... 2011-04-28 17:46:31 +00:00
Jordan Lee 1bddadf1c6 (trunk libT) #4212 "excessive UDP logfile entries in debug mode" -- fixed. 2011-04-28 02:51:07 +00:00
Jordan Lee 2ecca714f1 (trunk libT) heap pruning: use tr_bencToBuf() instead of tr_bencToStr() when building LTEP messages. This saves us from a handful of unnecessary malloc+memcpy+free calls in each instance where the change is made. 2011-04-27 21:38:45 +00:00
Jordan Lee c061390f65 (trunk libT) heap pruning: using the same mechanism as in r12388, avoid an unnecessary malloc+memcpy+free in tr_bencToFile() 2011-04-27 21:33:52 +00:00
Jordan Lee c9b54799e3 (trunk libT) tweak the ABI of tr_bencToBuf() to match the way it's being used 2011-04-27 21:22:08 +00:00
Jordan Lee 6e99c6cd69 (trunk libT) heap pruning: using the same mechanism as in r12388, avoid an unnecessary malloc+memcpy+free when building the URL for a webseed download request 2011-04-27 20:52:07 +00:00
Jordan Lee aa41779aaa (trunk libT) heap pruning: using the same mechanism as in r12388, avoid an unnecessary malloc+memcpy+free when TR_CURL_VERBOSE is logging HTTP messages 2011-04-27 20:50:43 +00:00
Jordan Lee 5681ea73e2 (trunk libT) heap pruning: avoid unnecessary malloc+memcpy+frees in announcer.
1. when creating announce URLs in announcer-http.c
2. when creating scrape URLs in announcer-http.c
3. when deep-logging what announces are in a torrent's queue in announcer.c
2011-04-27 20:41:47 +00:00
Jordan Lee 2f95dd54e8 (trunk libT) heap pruning: lazy-allocate the array in peer-mgr.c's getPeersToClose(). 2011-04-27 19:06:06 +00:00
Jordan Lee 118ea87fef (trunk libT) more heap pruning: avoid an unnecessary evbuffer_new() + evbuffer_free() in tr_peerIoWriteBytes() 2011-04-27 17:52:28 +00:00
Jordan Lee 2043356876 (trunk libT) constify the tr_scrape_request argument to scrape_request_delegate(). 2011-04-27 17:30:53 +00:00
Jordan Lee dfcc14c3d5 (trunk libT) more heap pruning: build the "cookie_filename" field once when creating the web thread, instead of each time a new tr_web_task is added. 2011-04-27 17:02:18 +00:00
Jordan Lee 4ecf0d36d1 (trunk libT) use tr_malloc() instead of malloc() in tr_loadFile() and in the fallback code for tr_valloc() 2011-04-27 16:12:17 +00:00
Jordan Lee 018b673acd (trunk libT) #4209 "Shortcut UDP tracker test" -- prioritize the UDP handler functions based on frequency (uTP, DHT, UTP tracker) as outlined by jch in comment:5. Also, don't call the uTP or DHT handlers when uTP or DHT is disabled in the system preferences.
To avoid the function call overhead described by jch, instead of calling tr_sessionIsUTPEnabled() and tr_sessionIsDHTEnabled(), we test for WITH_UTP to be defined and test the tr_session.isUTPEnabled and tr_session.isDHTEnabled flags directly.
2011-04-27 05:29:05 +00:00
Jordan Lee ea3fe42ca3 (trunk libT) #4209 "Shortcut UDP tracker test" -- the goal of #4209 is to minimize the cost of the UDP event callback function, so apply the heap pruning eye to that by removing an unnecessary malloc/free call there.
Previously we allocated a 4096 character buffer each time; now we allocate it on the stack. It seems all the distros and OS flavors that Transmission runs on have multi-MB default stack sizes, so a hardwired 4K array should be safe.
2011-04-27 05:03:10 +00:00
Jordan Lee e7c76b06ee #4206 "RPC Documentation missing defualt value for 'torrent-set-location' argument 'move'" -- fixed. 2011-04-25 21:11:08 +00:00
Jordan Lee 0d31a32d41 (trunk libT) #4204 "Availability is the same as the amount downloaded when there are no seeders" -- possible fix
It looks like we had the wrong test on the replication count array size.
2011-04-24 22:56:42 +00:00
Juliusz Chroboczek decbfef106 Optimise UDP dispatch (fixes #4209).
Make quick inline tests for the DHT and UDP tracker protocols, which
avoids calling tau_handle_message for each µTP packet.
2011-04-24 19:12:28 +00:00
Jordan Lee a802852fef (trunk daemon) #2338 "Add uTP support" -- added er13's patch from comment:115 to add uTP enable/disable commands to transmission-remote. Thanks er13! 2011-04-20 23:17:10 +00:00
Jordan Lee b125cf116e (trunk utils) add '-o' description to transmission-create's manpage. 2011-04-20 19:18:28 +00:00
Jordan Lee 6326003e73 (trunk gtk) very minor tweak in deciding which rows to update in the torrent model.
Since we only display speed to two decimal places, we don't need to compare previous and current torrent speed with more precision than that.
2011-04-20 01:16:16 +00:00
Jordan Lee de8944278d (trunk) revert r12372 based on feedback from er13: "Many embedded systems use uClibc++ (and not the gcc' libstdc++) as an implementation of Standard C++ Library. r12372 breaks the compilation of transmission for such systems." 2011-04-19 19:22:55 +00:00
Jordan Lee a8377b1b7a (trunk libt) #4164 "__FD_SETSIZE impact on open-file-limit and peer-limit-global" -- commit patch by romanr to take FD_SETSIZE into account before calling setrlimit() 2011-04-19 15:23:04 +00:00
Jordan Lee e51f2982f4 (trunk) fix "__gxx_personality_v0" when compiling Transmission on some versions of gcc/g++
The problem is coming from gcc getting confused by having a C program (Transmission) link against a C++ library (libutp). In gcc, C++ code has an implicit dependency on libstdc++ for the __gxx_personality_v0 function.

More info @ http://stackoverflow.com/questions/329059/what-is-gxx-personality-v0-for
2011-04-19 14:40:46 +00:00
Mitchell Livingston 346fd8df26 bump to 2.30 beta 3 2011-04-17 20:01:46 +00:00