Commit Graph

10791 Commits

Author SHA1 Message Date
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
Mitchell Livingston 89964c93e1 tweak to the reveal button in the inspector in the French localization 2011-04-17 15:59:27 +00:00
Mitchell Livingston 54dc8174c5 update Dutch localization for 2.30 2011-04-17 15:58:51 +00:00
Jordan Lee ab698d2fa4 (trunk libT) more heap pruning: don't allocate peer-msgs' incoming block buffer until it's needed. If we're seeding, we won't need it. 2011-04-17 06:13:22 +00:00
Jordan Lee 294c2d7113 (trunk libT) heap and event pruning: don't create evtimers for periodic pex messages if the torrent doesn't allow pex (such as, if it's on a private tracker).
Previously, we unconditionally created the evtimer, and then checked each time to see if pex was allowed.
2011-04-17 05:55:46 +00:00
Jordan Lee 244bd7bc1c (trunk libT) more heap pruning: use composition rather than aggregation for the tr_crypto object owned by tr_peerIo. 2011-04-17 05:22:50 +00:00
Jordan Lee bbc35bd546 (trunk libT) use FD_SETSIZE instead of __FD_SETSIZE 2011-04-16 22:41:14 +00:00
Jordan Lee f9d5e7a72c (trunk libT) #4165 "__FD_SETSIZE impact on open-file-limit and peer-limit-global" -- add safety guard in the file cache to prevent too many open files. 2011-04-16 22:33:29 +00:00
Mitchell Livingston 64b2cd64fa #4104 Drop Mac PPC support 2011-04-16 22:10:24 +00:00
Jordan Lee 9c3d12dae2 (trunk libT) changes to the bandwidth allocator's phaseOne step as suggested by Vincent in #2338 comment:108 2011-04-16 21:46:32 +00:00
Jordan Lee 20655ede63 (trunk qt) sync Qt client with r12355 2011-04-15 21:46:26 +00:00
Mitchell Livingston ab48f1ccb3 Ignore configuration files from Xcode 4. 2011-04-14 00:11:23 +00:00
Jordan Lee fdbe7dc2da (trunk gtk) more heap pruning, in tr_core
Tweak how we loop through the torrents in the model, again to avoid unnecessary GtkTreePath temporaries.
2011-04-13 22:16:50 +00:00
Jordan Lee 6cd1dcb574 (trunk gtk) Avoid unnecessary GtkComboBox queries.
Instead of calling gtk_combo_box_get_active_iter() on the filterbar's two comboboxes in every periodic update, keep the state information in a local struct and update it when the selection changes. That way the filter code doesn't even need to know about the GtkComboBox or the GtkTreeModel.
2011-04-13 22:04:31 +00:00
Jordan Lee 1d7a4eb528 (trunk gtk) more heap pruning: minor GtkTreeModel changes
Use gtk_tree_model_iter_nth_child() instead of gtk_tree_model_get_iter_first() to avoid an unnecessary gtk_tree_path object being created and destroyed. This is a very minor change and I'm not sure how useful it really is, but it doesn't hurt.
2011-04-13 22:00:55 +00:00
Jordan Lee 01461d0b4a (trunk gtk) more heap pruning:
querying gconf2 each time the curl callack function is called is expensive, so query it once -- then again later, if the proxy settings change -- and remember the values in a local struct.
2011-04-13 06:18:30 +00:00
Jordan Lee 4a15899499 (trunk gtk) transmission-gtk requires GTK+ 2.8 or higher, so remove the `#if GTK_CHECK_VERSION(2,8,0)' checks because we already know the answer. 2011-04-12 11:13:41 +00:00
Jordan Lee b1459c5d3b (trunk gtk) more heap pruning: give DetailsImpl an internal GString buffer so that it doesn't have to create and free so many temporary strings 2011-04-12 10:51:52 +00:00
Jordan Lee b797f51144 (trunk gtk) more heap pruning: give torrent-cell-renderer an internal GString buffer so that we don't have to create & free so many short-term strings 2011-04-12 10:04:05 +00:00
Mitchell Livingston 9054e44394 update French localization for 2.30 2011-04-11 22:21:55 +00:00
Jordan Lee 96c180fd73 (trunk libT) fix 2.30b1 memory corruption bug when editing trackers.
The problem was that the new number of trackers was not being kept and the old count was retained. So if the count changed, tr_torrentTrackers() could return dangling pointers to the caller.
2011-04-11 19:44:16 +00:00
Jordan Lee 4ce3555786 (trunk gtk) minor janitorial: const correctness in tr-core's compare_by_name() 2011-04-11 16:27:41 +00:00
Mitchell Livingston d25735dd9f #4182 Remember filter search text between runs 2011-04-11 02:44:05 +00:00
Mitchell Livingston 2b79fd7186 #4175 fix typo 2011-04-10 16:26:55 +00:00
Jordan Lee e825bd66c7 (trunk libT) #4175 "very bizarre and unwieldly logfile in 2.30b2" -- fixed. 2011-04-10 14:15:52 +00:00
Jordan Lee e2b7728637 6789ABCDE 2011-04-10 05:27:14 +00:00
Jordan Lee d6dbf87652 (trunk libT) remove unneeded assert()ion 2011-04-10 05:22:18 +00:00
Jordan Lee 05b75e6e9f (trunk libT) use a better data struct for the tr_datatype list in peer-io 2011-04-10 05:21:51 +00:00