Ignore:
Timestamp:
Feb 18, 2011, 12:45:44 AM (11 years ago)
Author:
jordan
Message:

add configure script switch to enable/disable utp

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libtransmission/peer-io.c

    r11947 r11960  
    3838#include "trevent.h" /* tr_runInEventThread() */
    3939#include "utils.h"
     40
    4041
    4142#define MAGIC_NUMBER 206745
     
    369370}
    370371
     372#ifdef WITH_UTP
    371373/* UTP callbacks */
    372374
     
    477479};
    478480
     481
    479482/* Dummy UTP callbacks. */
    480483/* We switch a UTP socket to use these after the associated peerIo has been
     
    530533    .on_overhead = dummy_on_overhead
    531534};
     535
     536#endif /* #ifdef WITH_UTP */
    532537
    533538static tr_peerIo*
     
    550555    assert( tr_amInEventThread( session ) );
    551556    assert( (socket < 0) == (utp_socket != NULL) );
     557#ifndef WITH_UTP
     558    assert( socket >= 0 );
     559#endif
    552560
    553561    if( socket >= 0 ) {
     
    580588        io->event_write = event_new( session->event_base,
    581589                                     io->socket, EV_WRITE, event_write_cb, io );
    582     } else {
     590    }
     591#ifdef WITH_UTP
     592    else {
    583593        UTP_SetSockopt( utp_socket, SO_RCVBUF, UTP_READ_BUFFER_SIZE );
    584594        dbgmsg( io, "%s", "calling UTP_SetCallbacks &utp_function_table" );
     
    591601        }
    592602    }
     603#endif
    593604
    594605    return io;
     
    617628                      const uint8_t     * torrentHash,
    618629                      tr_bool             isSeed,
    619                       tr_bool             utp )
     630                      tr_bool             utp UNUSED )
    620631{
    621632    int fd = -1;
     
    626637    assert( torrentHash );
    627638
    628     if( !utp ) {
     639#ifdef WITH_UTP
     640    if( utp )
     641        utp_socket = tr_netOpenPeerUTPSocket( session, addr, port, isSeed );
     642#endif
     643    if( !utp_socket ) {
    629644        fd = tr_netOpenPeerSocket( session, addr, port, isSeed );
    630645        dbgmsg( NULL, "tr_netOpenPeerSocket returned fd %d", fd );
    631     } else {
    632         utp_socket =
    633             tr_netOpenPeerUTPSocket( session, addr, port, isSeed );
    634646    }
    635647
     
    723735****
    724736***/
     737static void
     738io_close_socket( tr_peerIo * io )
     739{
     740    if( io->socket >= 0 ) {
     741        tr_netClose( io->session, io->socket );
     742        io->socket = -1;
     743        event_free( io->event_read );
     744        event_free( io->event_write );
     745    }
     746
     747#ifdef WITH_UTP
     748    if( io->utp_socket ) {
     749        UTP_SetCallbacks( io->utp_socket,
     750                          &dummy_utp_function_table,
     751                          NULL );
     752        UTP_Close( io->utp_socket );
     753
     754        io->utp_socket = NULL;
     755    }
     756#endif
     757}
    725758
    726759static void
     
    738771    evbuffer_free( io->outbuf );
    739772    evbuffer_free( io->inbuf );
    740     if( io->socket >= 0 ) {
    741         event_free( io->event_read );
    742         event_free( io->event_write );
    743         tr_netClose( io->session, io->socket );
    744     }
    745     if( io->utp_socket != NULL ) {
    746         UTP_SetCallbacks( io->utp_socket,
    747                           &dummy_utp_function_table,
    748                           NULL );
    749         UTP_Close( io->utp_socket );
    750     }
     773    io_close_socket( io );
    751774    tr_cryptoFree( io->crypto );
    752775    tr_list_free( &io->outbuf_datatypes, tr_free );
     
    855878    event_disable( io, EV_READ | EV_WRITE );
    856879
    857     if( io->socket >= 0 ) {
    858         tr_netClose( session, io->socket );
    859         io->socket = -1;
    860         event_free( io->event_read );
    861         event_free( io->event_write );
    862     }
    863     if( io->utp_socket != NULL ) {
    864         UTP_SetCallbacks( io->utp_socket,
    865                           &dummy_utp_function_table,
    866                           NULL );
    867         UTP_Close(io->utp_socket);
    868         io->utp_socket = NULL;
    869     }
     880    io_close_socket( io );
    870881
    871882    io->socket = tr_netOpenPeerSocket( session, &io->addr, io->port, io->isSeed );
     
    11341145    if(( howmuch = tr_bandwidthClamp( &io->bandwidth, TR_DOWN, howmuch )))
    11351146    {
     1147#ifdef WITH_UTP
    11361148        if( io->utp_socket != NULL ) /* utp peer connection */
    11371149        {
     
    11431155        }
    11441156        else /* tcp peer connection */
     1157#endif
    11451158        {
    11461159            int e;
     
    11831196    if(( howmuch = tr_bandwidthClamp( &io->bandwidth, TR_UP, howmuch )))
    11841197    {
     1198#ifdef WITH_UTP
    11851199        if( io->utp_socket != NULL ) /* utp peer connection */
    11861200        {
     
    11901204        }
    11911205        else
     1206#endif
    11921207        {
    11931208            int e;
Note: See TracChangeset for help on using the changeset viewer.