Changeset 7458


Ignore:
Timestamp:
Dec 22, 2008, 4:55:07 AM (12 years ago)
Author:
charles
Message:

(trunk libT) peer-io.c: remove dead code and get rid of a couple of GOTOs

File:
1 edited

Legend:

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

    r7456 r7458  
    9696
    9797    tr_address         addr;
    98     tr_list          * output_datatypes; /* struct tr_datatype */
    9998
    10099    tr_can_read_cb     canRead;
     
    103102    void *             userData;
    104103
    105     size_t             bufferSize[2];
    106 
    107104    tr_bandwidth     * bandwidth;
    108105    tr_crypto        * crypto;
     
    110107    struct evbuffer  * inbuf;
    111108    struct evbuffer  * outbuf;
     109    tr_list          * outbuf_datatypes; /* struct tr_datatype */
    112110
    113111    struct event       event_read;
     
    124122    while( bytes_transferred )
    125123    {
    126         struct tr_datatype * next = io->output_datatypes->data;
     124        struct tr_datatype * next = io->outbuf_datatypes->data;
    127125        const size_t payload = MIN( next->length, bytes_transferred );
    128126        const size_t overhead = getPacketOverhead( payload );
     
    139137        next->length -= payload;
    140138        if( !next->length )
    141             tr_free( tr_list_pop_front( &io->output_datatypes ) );
     139            tr_free( tr_list_pop_front( &io->outbuf_datatypes ) );
    142140    }
    143141}
     
    212210{
    213211    int res;
    214     short what = EVBUFFER_READ;
    215212    tr_peerIo * io = vio;
    216213    const size_t howmuch = tr_bandwidthClamp( io->bandwidth, TR_DOWN, io->session->so_rcvbuf );
     
    228225
    229226    res = evbuffer_read( io->inbuf, fd, howmuch );
    230     if( res == -1 ) {
    231         if( errno == EAGAIN || errno == EINTR )
    232             goto reschedule;
    233         /* error case */
    234         what |= EVBUFFER_ERROR;
    235     } else if( res == 0 ) {
    236         /* eof case */
    237         what |= EVBUFFER_EOF;
    238     }
    239 
    240     if( res <= 0 )
    241         goto error;
    242 
    243     tr_peerIoSetEnabled( io, dir, TRUE );
    244 
    245     /* Invoke the user callback - must always be called last */
    246     canReadWrapper( io );
    247 
    248     return;
    249 
    250  reschedule:
    251     tr_peerIoSetEnabled( io, dir, TRUE );
    252     return;
    253 
    254  error:
    255     if( io->gotError != NULL )
    256         io->gotError( io, what, io->userData );
     227
     228    if( res > 0 )
     229    {
     230        tr_peerIoSetEnabled( io, dir, TRUE );
     231
     232        /* Invoke the user callback - must always be called last */
     233        canReadWrapper( io );
     234    }
     235    else
     236    {
     237        short what = EVBUFFER_READ;
     238
     239        if( res == 0 ) /* EOF */
     240            what |= EVBUFFER_EOF;
     241        else if( res == -1 ) {
     242            if( errno == EAGAIN || errno == EINTR ) {
     243                tr_peerIoSetEnabled( io, dir, TRUE );
     244                return;
     245            }
     246            what |= EVBUFFER_ERROR;
     247        }
     248
     249        if( io->gotError != NULL )
     250            io->gotError( io, what, io->userData );
     251    }
    257252}
    258253
     
    341336***
    342337**/
    343 
    344 
    345 static int
    346 isFlag( int flag )
    347 {
    348     return( ( flag == 0 ) || ( flag == 1 ) );
    349 }
    350338
    351339static tr_peerIo*
     
    375363    event_set( &io->event_read, io->socket, EV_READ, event_read_cb, io );
    376364    event_set( &io->event_write, io->socket, EV_WRITE, event_write_cb, io );
    377 #if 0
    378     bufevNew( io );
    379 #endif
    380365    tr_peerIoSetBandwidth( io, session->bandwidth );
    381366    return io;
     
    389374{
    390375    assert( session );
    391     assert( addr );
     376    assert( tr_isAddress( addr ) );
    392377    assert( socket >= 0 );
    393378
     
    404389
    405390    assert( session );
    406     assert( addr );
     391    assert( tr_isAddress( addr ) );
    407392    assert( torrentHash );
    408393
     
    426411    tr_netClose( io->socket );
    427412    tr_cryptoFree( io->crypto );
    428     tr_list_free( &io->output_datatypes, tr_free );
     413    tr_list_free( &io->outbuf_datatypes, tr_free );
    429414
    430415    io->magicNumber = 0xDEAD;
     
    516501        tr_bandwidth * bandwidth = io->bandwidth;
    517502        tr_peerIoSetBandwidth( io, NULL );
    518 
    519503        tr_netSetTOS( io->socket, io->session->peerSocketTOS );
    520 #if 0
    521         bufevNew( io );
    522 #endif
    523 
    524504        tr_peerIoSetBandwidth( io, bandwidth );
    525505        return 0;
     
    594574{
    595575    assert( tr_isPeerIo( io ) );
    596     assert( isFlag( flag ) );
    597 
    598     dbgmsg( io, "setting FEXT support flag to %d", (flag?1:0) );
     576    assert( _isBool( flag ) );
     577
     578    dbgmsg( io, "setting FEXT support flag to %d", (flag!=0) );
    599579    io->fastExtensionSupported = flag;
    600580}
     
    617597{
    618598    assert( tr_isPeerIo( io ) );
    619     assert( isFlag( flag ) );
    620 
    621     dbgmsg( io, "setting LTEP support flag to %d", (flag?1:0) );
     599    assert( _isBool( flag ) );
     600
     601    dbgmsg( io, "setting LTEP support flag to %d", (flag!=0) );
    622602    io->extendedProtocolSupported = flag;
    623603}
     
    715695{
    716696    struct tr_datatype * datatype;
     697
    717698    assert( tr_amInEventThread( io->session ) );
    718699    dbgmsg( io, "adding %zu bytes into io->output", writemeLen );
     
    721702    datatype->isPieceData = isPieceData != 0;
    722703    datatype->length = writemeLen;
    723     tr_list_append( &io->output_datatypes, datatype );
     704    tr_list_append( &io->outbuf_datatypes, datatype );
    724705
    725706    evbuffer_add( io->outbuf, writeme, writemeLen );
     
    742723
    743724void
    744 tr_peerIoWriteBytes( tr_peerIo *      io,
     725tr_peerIoWriteBytes( tr_peerIo       * io,
    745726                     struct evbuffer * outbuf,
    746                      const void *      bytes,
     727                     const void      * bytes,
    747728                     size_t            byteCount )
    748729{
     
    768749
    769750void
    770 tr_peerIoWriteUint8( tr_peerIo *      io,
     751tr_peerIoWriteUint8( tr_peerIo       * io,
    771752                     struct evbuffer * outbuf,
    772753                     uint8_t           writeme )
     
    776757
    777758void
    778 tr_peerIoWriteUint16( tr_peerIo *      io,
     759tr_peerIoWriteUint16( tr_peerIo       * io,
    779760                      struct evbuffer * outbuf,
    780761                      uint16_t          writeme )
     
    786767
    787768void
    788 tr_peerIoWriteUint32( tr_peerIo *      io,
     769tr_peerIoWriteUint32( tr_peerIo       * io,
    789770                      struct evbuffer * outbuf,
    790771                      uint32_t          writeme )
     
    800781
    801782void
    802 tr_peerIoReadBytes( tr_peerIo *      io,
     783tr_peerIoReadBytes( tr_peerIo       * io,
    803784                    struct evbuffer * inbuf,
    804                     void *            bytes,
     785                    void            * bytes,
    805786                    size_t            byteCount )
    806787{
     
    824805
    825806void
    826 tr_peerIoReadUint8( tr_peerIo *      io,
     807tr_peerIoReadUint8( tr_peerIo       * io,
    827808                    struct evbuffer * inbuf,
    828                     uint8_t *        setme )
     809                    uint8_t         * setme )
    829810{
    830811    tr_peerIoReadBytes( io, inbuf, setme, sizeof( uint8_t ) );
     
    832813
    833814void
    834 tr_peerIoReadUint16( tr_peerIo *      io,
     815tr_peerIoReadUint16( tr_peerIo       * io,
    835816                     struct evbuffer * inbuf,
    836                      uint16_t *        setme )
     817                     uint16_t        * setme )
    837818{
    838819    uint16_t tmp;
     
    845826
    846827void
    847 tr_peerIoReadUint32( tr_peerIo *      io,
     828tr_peerIoReadUint32( tr_peerIo       * io,
    848829                     struct evbuffer * inbuf,
    849                      uint32_t *        setme )
     830                     uint32_t        * setme )
    850831{
    851832    uint32_t tmp;
     
    858839
    859840void
    860 tr_peerIoDrain( tr_peerIo *      io,
     841tr_peerIoDrain( tr_peerIo       * io,
    861842                struct evbuffer * inbuf,
    862843                size_t            byteCount )
Note: See TracChangeset for help on using the changeset viewer.