Changeset 5588


Ignore:
Timestamp:
Apr 12, 2008, 12:29:49 AM (14 years ago)
Author:
charles
Message:

#857: DSCP support for Transmission

Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/cli/transmissioncli.c

    r5544 r5588  
    146146
    147147    /* Initialize libtransmission */
    148     h = tr_initFull( tr_getDefaultConfigDir(),
    149                      "cli",                   /* tag */
    150                      1,                       /* pex enabled */
    151                      natTraversal,            /* nat enabled */
    152                      bindPort,                /* public port */
    153                      TR_ENCRYPTION_PREFERRED, /* encryption mode */
    154                      uploadLimit >= 0,        /* use upload speed limit? */
    155                      uploadLimit,             /* upload speed limit */
    156                      downloadLimit >= 0,      /* use download speed limit? */
    157                      downloadLimit,           /* download speed limit */
    158                      512,                     /* globalPeerLimit */
    159                      verboseLevel + 1,        /* messageLevel */
    160                      0,                       /* is message queueing enabled? */
    161                      0 );                     /* use the blocklist? */
     148    h = tr_initFull( TR_DEFAULT_CONFIG_DIR,
     149                     "cli",                         /* tag */
     150                     1,                             /* pex enabled */
     151                     natTraversal,                  /* nat enabled */
     152                     bindPort,                      /* public port */
     153                     TR_ENCRYPTION_PREFERRED,       /* encryption mode */
     154                     uploadLimit >= 0,              /* use upload speed limit? */
     155                     uploadLimit,                   /* upload speed limit */
     156                     downloadLimit >= 0,            /* use download speed limit? */
     157                     downloadLimit,                 /* download speed limit */
     158                     TR_DEFAULT_GLOBAL_PEER_LIMIT,
     159                     verboseLevel + 1,              /* messageLevel */
     160                     0,                             /* is message queueing enabled? */
     161                     0,                             /* use the blocklist? */
     162                     TR_DEFAULT_PEER_SOCKET_TOS );
    162163
    163164    if( sourceFile && *sourceFile ) /* creating a torrent */
  • trunk/gtk/tr-core.c

    r5536 r5588  
    495495                     pref_int_get( PREF_KEY_MSGLEVEL ),
    496496                     TRUE, /* message queueing */
    497                      pref_flag_get( PREF_KEY_BLOCKLIST_ENABLED ) );
     497                     pref_flag_get( PREF_KEY_BLOCKLIST_ENABLED ),
     498                     pref_int_get( PREF_KEY_PEER_SOCKET_TOS ) );
    498499
    499500    /* create the model used to store torrent data */
  • trunk/gtk/tr-prefs.c

    r5536 r5588  
    4343#endif
    4444
     45    pref_int_set_default    ( PREF_KEY_PEER_SOCKET_TOS, TR_DEFAULT_PEER_SOCKET_TOS );
     46
    4547    pref_flag_set_default   ( PREF_KEY_BLOCKLIST_ENABLED, FALSE );
    4648
    4749    pref_string_set_default ( PREF_KEY_OPEN_DIALOG_FOLDER, g_get_home_dir( ) );
    4850
    49     pref_int_set_default    ( PREF_KEY_MAX_PEERS_GLOBAL, 200 );
     51    pref_int_set_default    ( PREF_KEY_MAX_PEERS_GLOBAL, TR_DEFAULT_GLOBAL_PEER_LIMIT );
    5052    pref_int_set_default    ( PREF_KEY_MAX_PEERS_PER_TORRENT, 50 );
    5153
     
    7173
    7274    pref_flag_set_default   ( PREF_KEY_NAT, TRUE );
    73     pref_flag_set_default   ( PREF_KEY_PEX, TRUE );
     75    pref_flag_set_default   ( PREF_KEY_PEX, TR_DEFAULT_PEX_ENABLED );
    7476    pref_flag_set_default   ( PREF_KEY_ASKQUIT, TRUE );
    7577    pref_flag_set_default   ( PREF_KEY_ENCRYPTED_ONLY, FALSE );
  • trunk/gtk/tr-prefs.h

    r5480 r5588  
    3232#define PREF_KEY_START                  "start-added-torrents"
    3333#define PREF_KEY_TRASH_ORIGINAL         "trash-original-torrent-files"
     34#define PREF_KEY_PEER_SOCKET_TOS        "peer-socket-tos"
    3435#define PREF_KEY_PORT                   "listening-port"
    3536#define PREF_KEY_NAT                    "nat-traversal-enabled"
  • trunk/libtransmission/net.c

    r5290 r5588  
    8080 **********************************************************************/
    8181
     82int
     83tr_netSetTOS( int s, int tos )
     84{
     85#ifdef IP_TOS
     86    return setsockopt( s, IPPROTO_IP, IP_TOS, (char*)&tos, sizeof( tos ) );
     87#else
     88    return 0;
     89#endif
     90}
     91
    8292static int
    8393makeSocketNonBlocking( int fd )
  • trunk/libtransmission/net.h

    r5500 r5588  
    7474int  tr_netBindUDP  ( int port );
    7575int  tr_netAccept   ( int s, struct in_addr *, tr_port_t * );
     76int  tr_netSetTOS   ( int s, int tos );
    7677void tr_netClose    ( int s );
    7778
  • trunk/libtransmission/peer-io.c

    r4717 r5588  
    140140{
    141141    tr_peerIo * c;
     142
     143    if( socket >= 0 )
     144        tr_netSetTOS( socket, handle->peerSocketTOS );
     145
    142146    c = tr_new0( tr_peerIo, 1 );
    143147    c->crypto = tr_cryptoNew( torrentHash, isIncoming );
     
    293297    if( io->socket >= 0 )
    294298    {
     299        tr_netSetTOS( io->socket, io->handle->peerSocketTOS );
     300
    295301        bufferevent_free( io->bufev );
    296302
  • trunk/libtransmission/session.c

    r5585 r5588  
    11/******************************************************************************
    2  * $Id:$
     2 * $Id$
    33 *
    44 * Copyright (c) 2005-2008 Transmission authors and contributors
     
    118118             const char * tag,
    119119             int          isPexEnabled,
    120              int          isNatEnabled,
     120             int          isPortForwardingEnabled,
    121121             int          publicPort,
    122122             int          encryptionMode,
     
    128128             int          messageLevel,
    129129             int          isMessageQueueingEnabled,
    130              int          isBlocklistEnabled )
     130             int          isBlocklistEnabled,
     131             int          peerSocketTOS )
    131132{
    132133    tr_handle * h;
     
    150151    h->encryptionMode = encryptionMode;
    151152    h->configDir = tr_strdup( configDir );
     153    h->peerSocketTOS = peerSocketTOS;
    152154
    153155    tr_setConfigDir( h, configDir );
     
    178180
    179181    tr_fdInit( globalPeerLimit );
    180     h->shared = tr_sharedInit( h, isNatEnabled, publicPort );
     182    h->shared = tr_sharedInit( h, isPortForwardingEnabled, publicPort );
    181183    h->isPortSet = publicPort >= 0;
    182184
     
    202204    return tr_initFull( configDir,
    203205                        tag,
    204                         TRUE, /* pex enabled */
    205                         FALSE, /* nat enabled */
     206                        TR_DEFAULT_PEX_ENABLED,
     207                        TR_DEFAULT_PORT_FORWARDING_ENABLED,
    206208                        -1, /* public port */
    207209                        TR_ENCRYPTION_PREFERRED, /* encryption mode */
     
    210212                        FALSE, /* use download speed limit? */
    211213                        -1, /* download speed limit */
    212                         200, /* globalPeerLimit */
     214                        TR_DEFAULT_GLOBAL_PEER_LIMIT,
    213215                        TR_MSG_INF, /* message level */
    214216                        FALSE, /* is message queueing enabled? */
    215                         FALSE ); /* is the blocklist enabled? */
     217                        FALSE, /* is the blocklist enabled? */
     218                        TR_DEFAULT_PEER_SOCKET_TOS );
    216219}
    217220
  • trunk/libtransmission/session.h

    r5585 r5588  
    11/******************************************************************************
    2  * $Id:$
     2 * $Id$
    33 *
    44 * Copyright (c) 2005-2008 Transmission authors and contributors
     
    6666    struct tr_event_handle   * events;
    6767
     68    int                        peerSocketTOS;
     69
    6870    int                        torrentCount;
    6971    tr_torrent               * torrentList;
  • trunk/libtransmission/transmission.h

    r5587 r5588  
    4848# define MAX_PATH_LENGTH  1024
    4949#endif
    50 
    51 #define TR_DEFAULT_PORT   51413
    5250
    5351typedef uint32_t tr_file_index_t;
     
    7977const char* tr_getDefaultConfigDir( void );
    8078
     79#define TR_DEFAULT_CONFIG_DIR                  tr_getDefaultConfigDir()
     80#define TR_DEFAULT_PEX_ENABLED                 1
     81#define TR_DEFAULT_PORT_FORWARDING_ENABLED     0
     82#define TR_DEFAULT_PORT                        51413
     83#define TR_DEFAULT_GLOBAL_PEER_LIMIT           200
     84#define TR_DEFAULT_PEER_SOCKET_TOS             8
     85
    8186tr_handle * tr_initFull( const char * configDir,
    8287                         const char * tag,
    8388                         int          isPexEnabled,
    84                          int          isNatEnabled,
     89                         int          isPortForwardingEnabled,
    8590                         int          publicPort,
    8691                         int          encryptionMode,
     
    9297                         int          messageLevel,
    9398                         int          isMessageQueueingEnabled,
    94                          int          isBlocklistEnabled );
     99                         int          isBlocklistEnabled,
     100                         int          peerSocketTOS );
    95101
    96102/**
  • trunk/macosx/Controller.m

    r5586 r5588  
    209209                        [fDefaults integerForKey: @"MessageLevel"],
    210210                        YES,
    211                         [fDefaults boolForKey: @"Blocklist"]);
     211                        [fDefaults boolForKey: @"Blocklist"],
     212                        TR_DEFAULT_PEER_SOCKET_TOS );
    212213       
    213214        [NSApp setDelegate: self];
Note: See TracChangeset for help on using the changeset viewer.