]>
granicus.if.org Git - transmission/log
Jordan Lee [Sat, 19 Feb 2011 12:30:18 +0000 (12:30 +0000)]
(trunk libT) closeBadPeers() part 2 of 2: this function was serving two purposes, which wasn't clear from its name. refactor slightly to make the purpose and name match.
Jordan Lee [Sat, 19 Feb 2011 12:24:00 +0000 (12:24 +0000)]
(trunk libT) closeBadPeers() part 1 of 2: don't bother sorting these peers by activity -- we're closing -all- of them, so sorting them is pointless.
Jordan Lee [Sat, 19 Feb 2011 09:30:06 +0000 (09:30 +0000)]
(trunk gtk) Don't display uTP checkbox in non-uTP builds.
Tweak to r11976 s.t. the "Edit GNOME Proxy Settings" button doesn't get grouped in the "Peer Limits" section when uTP is disabled. :)
Jordan Lee [Sat, 19 Feb 2011 09:02:39 +0000 (09:02 +0000)]
(trunk gtk) #4038 "Prefs dialog's blocklist section allows the 'update' button to be clicked when no blocklist is specified" -- fixed.
Mitchell Livingston [Sat, 19 Feb 2011 05:49:52 +0000 (05:49 +0000)]
don't make "No Torrents Selected" in the inspector selectable
Juliusz Chroboczek [Fri, 18 Feb 2011 22:22:02 +0000 (22:22 +0000)]
Don't display uTP checkbox in non-uTP builds (gtk).
Reported by Rolcol.
Juliusz Chroboczek [Fri, 18 Feb 2011 21:55:42 +0000 (21:55 +0000)]
Remove obsolete UNUSED marker.
Jordan Lee [Fri, 18 Feb 2011 19:31:18 +0000 (19:31 +0000)]
(trunk libT) #4047 "timeChecked for the last piece is not saved to a resume file" -- fixed.
A garden variety off-by-one error. good patch by jusid and revision by me.
Jordan Lee [Fri, 18 Feb 2011 17:09:46 +0000 (17:09 +0000)]
remove a couple of #includes that we don't need anymore after the previous commit.
Jordan Lee [Fri, 18 Feb 2011 17:05:17 +0000 (17:05 +0000)]
(trunk daemon) simplify the code in the fallback implementation of daemon() for systems that don't have this function themselves.
Juliusz Chroboczek [Fri, 18 Feb 2011 16:01:52 +0000 (16:01 +0000)]
Stub out UTP_Create in non-uTP builds.
Mitchell Livingston [Fri, 18 Feb 2011 04:28:59 +0000 (04:28 +0000)]
display protocol information (TCP or µTP) in the peer table's tooltip
Jordan Lee [Fri, 18 Feb 2011 04:07:43 +0000 (04:07 +0000)]
(trunk libT) add a bool to tr_peer_stat and the RPC peer list to denote whether or not a peer's connected via µTP
Mitchell Livingston [Fri, 18 Feb 2011 03:50:19 +0000 (03:50 +0000)]
move µTP pref to the Network tab
Mitchell Livingston [Fri, 18 Feb 2011 03:26:54 +0000 (03:26 +0000)]
add µTP to the Prefs window
Mitchell Livingston [Fri, 18 Feb 2011 01:40:13 +0000 (01:40 +0000)]
enable the utp flag when compiling on Mac in Release
Mitchell Livingston [Fri, 18 Feb 2011 01:37:57 +0000 (01:37 +0000)]
enable the utp flag when compiling on Mac
Mitchell Livingston [Fri, 18 Feb 2011 01:27:46 +0000 (01:27 +0000)]
Mac build compiles again
Jordan Lee [Fri, 18 Feb 2011 01:25:32 +0000 (01:25 +0000)]
(trunk libT) explicitly use the libevent2 header files, instead of the deprecated backwards-compatibility one
Jordan Lee [Fri, 18 Feb 2011 01:18:51 +0000 (01:18 +0000)]
(trunk libT) add stubs for UTP_Drained() and UTP_Write() to remove a few #ifdefs from peer-io.c
Jordan Lee [Fri, 18 Feb 2011 01:06:42 +0000 (01:06 +0000)]
(trunk libT) add a stub for UTP_Close() s.t. peer-mgr.c doesn't need the #ifdefs from r11960
Jordan Lee [Fri, 18 Feb 2011 00:45:44 +0000 (00:45 +0000)]
add configure script switch to enable/disable utp
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:56 +0000 (00:43 +0000)]
Resynchronise with libutp 2011-02-09 15:29:29.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:54 +0000 (00:43 +0000)]
Reinstate a variable removed by r11810.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:49 +0000 (00:43 +0000)]
Don't attempt uTP connexions to peers learned from PEX that didn't signal support.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:47 +0000 (00:43 +0000)]
Use large kernel buffers for the UDP socket when uTP is enabled.
Since we're using a single UDP socket to implement multiple uTP sockets,
and since we're not always timely in servicing an incoming UDP packet,
it's important to use a large receive buffer. The send buffer is probably
less critical, we increase it nonetheless.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:45 +0000 (00:43 +0000)]
Don't call tr_utpClose in toggle_utp.
The uTP timer needs to run even when uTP has been disabled, or else the
uTP sockets will never time out.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:43 +0000 (00:43 +0000)]
Don't mark atoms as non-uTP unless we failed to connect.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:39 +0000 (00:43 +0000)]
Clear utp_failed flag upon seeing an announcement for ut_holepunch.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:37 +0000 (00:43 +0000)]
Try uTP connections by default.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:34 +0000 (00:43 +0000)]
When failing to connect over uTP, fall back to TCP.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:31 +0000 (00:43 +0000)]
Implement atom->utp_failed and peerMgrSetUpFailed.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:27 +0000 (00:43 +0000)]
When uTP is disabled, don't call UTP_CheckTimeouts too often.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:24 +0000 (00:43 +0000)]
When uTP is enabled, open uTP connections to some peers.
Since we don't implement falling back to TCP yet, we're very
conservative: we only use uTP when we have good reasons to believe
the peer speaks uTP.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:43:21 +0000 (00:43 +0000)]
Fix typo.
Jordan Lee [Fri, 18 Feb 2011 00:41:32 +0000 (00:41 +0000)]
when sending PEX messages, unset the holepunch flag because we don't support holepunch.
Jordan Lee [Fri, 18 Feb 2011 00:41:06 +0000 (00:41 +0000)]
if we successfully finish a handshake using uTP, mark the peer as supporting uTP
Jordan Lee [Fri, 18 Feb 2011 00:40:53 +0000 (00:40 +0000)]
silence compiler warning
Jordan Lee [Fri, 18 Feb 2011 00:40:38 +0000 (00:40 +0000)]
call UTP_RBDrained when our read buffer is empty
Jordan Lee [Fri, 18 Feb 2011 00:40:22 +0000 (00:40 +0000)]
add dbgmsg statements to peer-io's uTP code
Jordan Lee [Fri, 18 Feb 2011 00:40:01 +0000 (00:40 +0000)]
uTP peers need tr_peerIoFlush() to work during the handshake phase.
Jordan Lee [Fri, 18 Feb 2011 00:39:33 +0000 (00:39 +0000)]
implement bandwidth limiting for uploads to uTP peers
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:36 +0000 (00:36 +0000)]
Remove more debugging messages.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:33 +0000 (00:36 +0000)]
Call didWriteWrapper in utp_on_write.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:31 +0000 (00:36 +0000)]
Don't propagate information about ut_holepunch over PEX.
It's not useful, says Greg.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:27 +0000 (00:36 +0000)]
Don't use read_enabled in get_rb_size.
We're no longer maintaining read_enabled, as there are simpler ways of
doing the same. Additionally, we used RBDrained incorrectly.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:24 +0000 (00:36 +0000)]
Revert "Maintain information about enabled/disabled I/O."
This reverts commit
604f8fd10db747e57d8710cc53326c0e114ad32c .
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:21 +0000 (00:36 +0000)]
Remove debugging messages.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:19 +0000 (00:36 +0000)]
Implement outgoing uTP connections.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:16 +0000 (00:36 +0000)]
Export uTP send_to callback.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:12 +0000 (00:36 +0000)]
Fix peerIoReconnect for uTP sockets.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:09 +0000 (00:36 +0000)]
Implement pacing of reads.
This should cause uTP sockets to respect read bandwidth limits. I'm not so
sure about the values we return for the read buffer size -- perhaps we
should allow some slack for network latency?
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:07 +0000 (00:36 +0000)]
Maintain information about enabled/disabled I/O.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:05 +0000 (00:36 +0000)]
Set the read buffer of UTP sockets to a well-defined value.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:36:02 +0000 (00:36 +0000)]
Compute accurate overhead for uTP packets.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:35:56 +0000 (00:35 +0000)]
Push testig for UTP enabled further down.
There's no need to test for DHT/uTP being enabled in tr-udp. The DHT
will silently discard any packets directed at the wrong session (see the
beginning of dhtCallback). As to uTP, we need to grok uTP packets
to close any remaining connections after we disabled uTP, so it's better
to participate in uTP, just reject any incoming connections.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:35:54 +0000 (00:35 +0000)]
Fix typo.
Jordan Lee [Fri, 18 Feb 2011 00:33:54 +0000 (00:33 +0000)]
make a note that we need to implement UTP_GetGlobalUTPBytesSent in libtransmission
Jordan Lee [Fri, 18 Feb 2011 00:33:29 +0000 (00:33 +0000)]
(trunk T) add preliminary enable/disable toggles in daemon, gtk, and qt clients. 'preliminary' because this may be widened to a tri-state of inabled, disabled, and incoming only
Jordan Lee [Fri, 18 Feb 2011 00:33:11 +0000 (00:33 +0000)]
(trunk libT) add C and RPC API for getting/setting uTP enabled flag
Jordan Lee [Fri, 18 Feb 2011 00:32:39 +0000 (00:32 +0000)]
(trunk libT) silence compiler warnings
Jordan Lee [Fri, 18 Feb 2011 00:32:19 +0000 (00:32 +0000)]
automake/autoconf; #includes in libtransmission
Jordan Lee [Fri, 18 Feb 2011 00:31:49 +0000 (00:31 +0000)]
import libutp into third-party/ and plug it in to autoconf, automake
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:48 +0000 (00:24 +0000)]
Propagate uTP and ut_holepunch information over PEX.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:45 +0000 (00:24 +0000)]
Use dummy callbacks in peerIoReconnect.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:40 +0000 (00:24 +0000)]
Tweak dummy callbacks.
Don't abort, just log a message and continue.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:36 +0000 (00:24 +0000)]
Don't call UTP_Close multiple times.
Greg says it's evil.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:33 +0000 (00:24 +0000)]
(gtk) Add tooltip for uTP peers.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:30 +0000 (00:24 +0000)]
Shutdown UTP socket on short write.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:28 +0000 (00:24 +0000)]
Schedule a uTP write in peerIoWriteBuf.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:22 +0000 (00:24 +0000)]
Complete the uTP callbacks.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:18 +0000 (00:24 +0000)]
Add dummy UTP callbacks.
Libutp will sometimes call our callbacks after we called UTP_Close,
notably to notify us of the UTP_STATE_DESTROYING state change, but
also, for some reason, to ask us about our read buffer. The simplest
way to avoid issues with that is to switch to a second set of callbacks.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:15 +0000 (00:24 +0000)]
Add assertions to libevent callbacks.
They should never be called with a UTP socket.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:13 +0000 (00:24 +0000)]
First pass at uTP callbacks.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:11 +0000 (00:24 +0000)]
Update tr-utp.c to be compatible with libevent2.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:09 +0000 (00:24 +0000)]
Fix io_dtor for uTP sockets.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:24:04 +0000 (00:24 +0000)]
Check for UTP timeouts every 50ms or so.
Greg says that works for them.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:23:58 +0000 (00:23 +0000)]
Accept UTP connexions.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:23:51 +0000 (00:23 +0000)]
Modify peer-io to work with UTP sockets.
This is not supposed to work yet -- it just adds new fields to the data
structures to get the UTP code to compile.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:23:49 +0000 (00:23 +0000)]
Fix incorrect use of tr_timerAdd.
Juliusz Chroboczek [Fri, 18 Feb 2011 00:23:47 +0000 (00:23 +0000)]
Participate in UTP.
This adds code to participate in the UTP protocol, but without doing anything
useful yet -- we just shut down immediately any incoming connexion request.
Jordan Lee [Thu, 17 Feb 2011 13:00:11 +0000 (13:00 +0000)]
(trunk libT) #3767 "rarest first policy" -- disable the assertReplicationCountIsExact() assertion
Jordan Lee [Thu, 17 Feb 2011 12:57:36 +0000 (12:57 +0000)]
(trunk libT) #3767 "rarest first policy" -- possible fix for assertion error reported by rolcol
Resolve the problem described @ https://trac.transmissionbt.com/ticket/3767#comment:38
Jordan Lee [Thu, 17 Feb 2011 07:10:20 +0000 (07:10 +0000)]
(trunk libT) #3767 "rarest first policy" -- remove some debugging code.
My initial thinking was to let nightly users test this out, but it's not necessary.
Jordan Lee [Thu, 17 Feb 2011 05:14:53 +0000 (05:14 +0000)]
(trunk libT) #3767 "rarest first policy" -- fixed.
This commit, started by a patch from athy, implements a rarest first policy when deciding which pieces to request from peers. It keeps a count of how many peers have each piece, and updates the count when getting bitfields, have, have all, and have none messages, as well as decrementing the counts when peers disconnect.
This running total is generated only for downloading torrents. Seeds don't have this overhead.
Jordan Lee [Thu, 17 Feb 2011 02:26:24 +0000 (02:26 +0000)]
(trunk) #4032 "Better error detection / reporting in http announces" -- added to trunk.
This patch adds two new flags to the callback function -- did_connect and did_timeout -- that are calculated inside of web.c using information from libcurl. This allows the announcer to detect timeouts more accurately and also to distinguish between unresponsive peers (which get the preexisting "Tracker did not respond" error message) and unconnectable peers (which get a new error message, "Could not connect to tracker").
Jordan Lee [Tue, 15 Feb 2011 19:51:31 +0000 (19:51 +0000)]
revert r11894
Jordan Lee [Tue, 15 Feb 2011 19:48:57 +0000 (19:48 +0000)]
(trunk dht) apply patch from jch to increase the number of token_bucket_tokens.
Juliusz Chroboczek [Tue, 15 Feb 2011 19:10:56 +0000 (19:10 +0000)]
Make the initial DHT bootstrap more persistent.
We now try to contact the bootstrap nodes up to six times.
A better solution might be to reattempt bootstrap every half hour
or so. This might be beneficial to people whose connectivity
changes while Transmission is running.
Jordan Lee [Tue, 15 Feb 2011 16:04:56 +0000 (16:04 +0000)]
(trunk libT) #3656 "endgame could be faster" -- fixed. Patch by harrydb.
Jordan Lee [Tue, 15 Feb 2011 15:21:22 +0000 (15:21 +0000)]
(trunk gtk) #3866 "popup menu for file list manipulation" -- remove unused code in file-list.c
This code can be pulled back out of svn and readded if it's needed in the future.
Jordan Lee [Tue, 15 Feb 2011 15:18:51 +0000 (15:18 +0000)]
(trunk) make tr_torrentName() a public function.
This has been a private function in libtransmission for awhile now but it makes more sense as a public function.
Mitchell Livingston [Sun, 13 Feb 2011 20:50:29 +0000 (20:50 +0000)]
adjust the spacing between the "Add" and "Cancel" buttons in the Add windows
Jordan Lee [Sun, 13 Feb 2011 16:14:31 +0000 (16:14 +0000)]
(trunk libT) #4016 "blocklists don't handle overlapping/unsorted rules" -- fixed.
Jordan Lee [Sun, 13 Feb 2011 16:04:54 +0000 (16:04 +0000)]
(trunk) #4022 "please update .gitignore" -- done.
Mitchell Livingston [Sun, 13 Feb 2011 03:25:06 +0000 (03:25 +0000)]
rename "Clear Completed" to "Cleanup Completed"
Mitchell Livingston [Sun, 13 Feb 2011 02:14:21 +0000 (02:14 +0000)]
remove selected transfers when removing completed transfers, removing through RPC, etc. (whenever removing transfers that aren't the selected transfers)
Mitchell Livingston [Sun, 13 Feb 2011 02:02:13 +0000 (02:02 +0000)]
Add option to remove completed transfers
Jordan Lee [Sat, 12 Feb 2011 23:54:33 +0000 (23:54 +0000)]
(trunk gtk) #4012 "Cannot set individual seeding time in GTK+ client" -- fixed.
The code in gtk/details.c was still using the pre-release RPC key "seedInactiveLimit" when it should have been using "seedIdleLimit" instead.
Jordan Lee [Sat, 12 Feb 2011 21:20:19 +0000 (21:20 +0000)]
(trunk libT) rename "tr_ip_range" as "tr_ipv4_range" in blocklist.c