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