{ 985, "no-honor-session", "Make the current torrent(s) not honor the session limits", "HL", 0, NULL },
{ 'u', "uplimit", "Set the max upload speed in "SPEED_K_STR" for the current torrent(s) or globally", "u", 1, "<speed>" },
{ 'U', "no-uplimit", "Disable max upload speed for the current torrent(s) or globally", "U", 0, NULL },
+ { 830, "utp", "Enable uTP for peer connections", NULL, 0, NULL },
+ { 831, "no-utp", "Disable uTP for peer connections", NULL, 0, NULL },
{ 'v', "verify", "Verify the current torrent(s)", "v", 0, NULL },
{ 'V', "version", "Show version number and exit", "V", 0, NULL },
{ 'w', "download-dir", "When adding a new torrent, set its download folder. Otherwise, set the default download folder", "w", 1, "<path>" },
case 'Y': /* no-lpd */
case 800: /* torrent-done-script */
case 801: /* no-torrent-done-script */
+ case 830: /* utp */
+ case 831: /* no-utp */
case 970: /* alt-speed */
case 971: /* no-alt-speed */
case 972: /* alt-speed-downlimit */
break;
case 'O': tr_bencDictAddBool( args, TR_PREFS_KEY_DHT_ENABLED, FALSE );
break;
+ case 830: tr_bencDictAddBool( args, TR_PREFS_KEY_UTP_ENABLED, TRUE );
+ break;
+ case 831: tr_bencDictAddBool( args, TR_PREFS_KEY_UTP_ENABLED, FALSE );
+ break;
case 'p': tr_bencDictAddInt( args, TR_PREFS_KEY_PEER_PORT, numarg( optarg ) );
break;
case 'P': tr_bencDictAddBool( args, TR_PREFS_KEY_PEER_PORT_RANDOM_ON_START, TRUE);
.Op Fl hl
.Op Fl HL
.Op Fl u Ar number | Fl U
+.Op Fl utp | no-utp
.Op Fl v
.Op Fl V
.Op Fl w Ar download-dir
If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.
.It Fl U Fl -no-uplimit
Disable upload speed limits.
+.It Fl -utp
+Enable uTP for peer connections.
+.It Fl -no-utp
+Disable uTP for peer connections.
If current torrent(s) are selected this operates on them. Otherwise, it changes the global setting.
.It Fl v Fl -verify
Verify the current torrent(s)
{
tr_sessionSetDHTEnabled( tr, gtr_pref_flag_get( key ) );
}
+ else if( !strcmp( key, TR_PREFS_KEY_UTP_ENABLED ) )
+ {
+ tr_sessionSetUTPEnabled( tr, gtr_pref_flag_get( key ) );
+ }
else if( !strcmp( key, TR_PREFS_KEY_LPD_ENABLED ) )
{
tr_sessionSetLPDEnabled( tr, gtr_pref_flag_get( key ) );
hig_workarea_add_section_divider( t, &row );
hig_workarea_add_section_title( t, &row, _( "Options" ) );
+ s = _( "Enable _uTP for peer communication" );
+ w = new_check_button( s, TR_PREFS_KEY_UTP_ENABLED, core );
+ s = _( "uTP is a tool for reducing network congestion." );
+ gtr_widget_set_tooltip_text( w, s );
+ hig_workarea_add_wide_control( t, &row, w );
+
w = gtk_button_new_with_mnemonic( _( "Edit GNOME Proxy Settings" ) );
g_signal_connect( w, "clicked", G_CALLBACK( onGNOMEClicked ), data );
h = gtk_hbox_new( FALSE, 0 );
hig->addRow( tr( "Maximum peers per &torrent:" ), spinBoxNew( Prefs::PEER_LIMIT_TORRENT, 1, 300, 5 ) );
hig->addRow( tr( "Maximum peers &overall:" ), spinBoxNew( Prefs::PEER_LIMIT_GLOBAL, 1, 3000, 5 ) );
+ hig->addSectionDivider( );
+ hig->addSectionTitle( tr( "Options" ) );
+
+ QWidget * w;
+ hig->addWideControl( w = checkBoxNew( tr( "Enable &uTP for peer connections" ), Prefs::UTP_ENABLED ) );
+ w->setToolTip( tr( "uTP is a tool for reducing network congestion." ) );
+
hig->finish( );
return hig;
}
{ TRASH_ORIGINAL, TR_PREFS_KEY_TRASH_ORIGINAL, QVariant::Bool },
{ PEX_ENABLED, TR_PREFS_KEY_PEX_ENABLED, QVariant::Bool },
{ DHT_ENABLED, TR_PREFS_KEY_DHT_ENABLED, QVariant::Bool },
+ { UTP_ENABLED, TR_PREFS_KEY_UTP_ENABLED, QVariant::Bool },
{ LPD_ENABLED, TR_PREFS_KEY_LPD_ENABLED, QVariant::Bool },
{ PORT_FORWARDING, TR_PREFS_KEY_PORT_FORWARDING, QVariant::Bool },
{ PREALLOCATION, TR_PREFS_KEY_PREALLOCATION, QVariant::Int },
TRASH_ORIGINAL,
PEX_ENABLED,
DHT_ENABLED,
+ UTP_ENABLED,
LPD_ENABLED,
PORT_FORWARDING,
PREALLOCATION,
PKGCONFIG = fontconfig libcurl openssl libevent
TRANSMISSION_TOP = ..
+INCLUDEPATH = $${EVENT_TOP}/include $${INCLUDEPATH}
INCLUDEPATH += $${TRANSMISSION_TOP}
LIBS += $${TRANSMISSION_TOP}/libtransmission/libtransmission.a
-LIBS += $${TRANSMISSION_TOP}/third-party/dht/libutp.a
+LIBS += $${TRANSMISSION_TOP}/third-party/libutp/libutp.a
LIBS += $${TRANSMISSION_TOP}/third-party/dht/libdht.a
LIBS += $${TRANSMISSION_TOP}/third-party/miniupnp/libminiupnp.a
LIBS += $${TRANSMISSION_TOP}/third-party/libnatpmp/libnatpmp.a
case Prefs :: TRASH_ORIGINAL:
case Prefs :: USPEED:
case Prefs :: USPEED_ENABLED:
+ case Prefs :: UTP_ENABLED:
sessionSet( myPrefs.keyStr(key), myPrefs.variant(key) );
break;