Changeset 7459


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

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.4x/libtransmission/peer-io.c

    r7455 r7459  
    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}
     
    211209{
    212210    int res;
    213     short what = EVBUFFER_READ;
    214211    tr_peerIo * io = vio;
    215212    const size_t howmuch = tr_bandwidthClamp( io->bandwidth, TR_DOWN, io->session->so_rcvbuf );
     
    227224
    228225    res = evbuffer_read( io->inbuf, fd, howmuch );
    229     if( res == -1 ) {
    230         if( errno == EAGAIN || errno == EINTR )
    231             goto reschedule;
    232         /* error case */
    233         what |= EVBUFFER_ERROR;
    234     } else if( res == 0 ) {
    235         /* eof case */
    236         what |= EVBUFFER_EOF;
    237     }
    238 
    239     if( res <= 0 )
    240         goto error;
    241 
    242     tr_peerIoSetEnabled( io, dir, TRUE );
    243 
    244     /* Invoke the user callback - must always be called last */
    245     canReadWrapper( io );
    246 
    247     return;
    248 
    249  reschedule:
    250     tr_peerIoSetEnabled( io, dir, TRUE );
    251     return;
    252 
    253  error:
    254     if( io->gotError != NULL )
    255         io->gotError( io, what, io->userData );
     226
     227    if( res > 0 )
     228    {
     229        tr_peerIoSetEnabled( io, dir, TRUE );
     230
     231        /* Invoke the user callback - must always be called last */
     232        canReadWrapper( io );
     233    }
     234    else
     235    {
     236        short what = EVBUFFER_READ;
     237
     238        if( res == 0 ) /* EOF */
     239            what |= EVBUFFER_EOF;
     240        else if( res == -1 ) {
     241            if( errno == EAGAIN || errno == EINTR ) {
     242                tr_peerIoSetEnabled( io, dir, TRUE );
     243                return;
     244            }
     245            what |= EVBUFFER_ERROR;
     246        }
     247
     248        if( io->gotError != NULL )
     249            io->gotError( io, what, io->userData );
     250    }
    256251}
    257252
     
    340335***
    341336**/
    342 
    343 
    344 static int
    345 isFlag( int flag )
    346 {
    347     return( ( flag == 0 ) || ( flag == 1 ) );
    348 }
    349337
    350338static tr_peerIo*
     
    374362    event_set( &io->event_read, io->socket, EV_READ, event_read_cb, io );
    375363    event_set( &io->event_write, io->socket, EV_WRITE, event_write_cb, io );
    376 #if 0
    377     bufevNew( io );
    378 #endif
    379364    tr_peerIoSetBandwidth( io, session->bandwidth );
    380365    return io;
     
    388373{
    389374    assert( session );
    390     assert( addr );
     375    assert( tr_isAddress( addr ) );
    391376    assert( socket >= 0 );
    392377
     
    403388
    404389    assert( session );
    405     assert( addr );
     390    assert( tr_isAddress( addr ) );
    406391    assert( torrentHash );
    407392
     
    425410    tr_netClose( io->socket );
    426411    tr_cryptoFree( io->crypto );
    427     tr_list_free( &io->output_datatypes, tr_free );
     412    tr_list_free( &io->outbuf_datatypes, tr_free );
    428413
    429414    io->magicNumber = 0xDEAD;
     
    511496        tr_bandwidth * bandwidth = io->bandwidth;
    512497        tr_peerIoSetBandwidth( io, NULL );
    513 
    514498        tr_netSetTOS( io->socket, io->session->peerSocketTOS );
    515 #if 0
    516         bufevNew( io );
    517 #endif
    518 
    519499        tr_peerIoSetBandwidth( io, bandwidth );
    520500        return 0;
     
    589569{
    590570    assert( tr_isPeerIo( io ) );
    591     assert( isFlag( flag ) );
    592 
    593     dbgmsg( io, "setting FEXT support flag to %d", (flag?1:0) );
     571    assert( _isBool( flag ) );
     572
     573    dbgmsg( io, "setting FEXT support flag to %d", (flag!=0) );
    594574    io->fastExtensionSupported = flag;
    595575}
     
    612592{
    613593    assert( tr_isPeerIo( io ) );
    614     assert( isFlag( flag ) );
    615 
    616     dbgmsg( io, "setting LTEP support flag to %d", (flag?1:0) );
     594    assert( _isBool( flag ) );
     595
     596    dbgmsg( io, "setting LTEP support flag to %d", (flag!=0) );
    617597    io->extendedProtocolSupported = flag;
    618598}
     
    710690{
    711691    struct tr_datatype * datatype;
     692
    712693    assert( tr_amInEventThread( io->session ) );
    713694    dbgmsg( io, "adding %zu bytes into io->output", writemeLen );
     
    716697    datatype->isPieceData = isPieceData != 0;
    717698    datatype->length = writemeLen;
    718     tr_list_append( &io->output_datatypes, datatype );
     699    tr_list_append( &io->outbuf_datatypes, datatype );
    719700
    720701    evbuffer_add( io->outbuf, writeme, writemeLen );
     
    737718
    738719void
    739 tr_peerIoWriteBytes( tr_peerIo *      io,
     720tr_peerIoWriteBytes( tr_peerIo       * io,
    740721                     struct evbuffer * outbuf,
    741                      const void *      bytes,
     722                     const void      * bytes,
    742723                     size_t            byteCount )
    743724{
     
    763744
    764745void
    765 tr_peerIoWriteUint8( tr_peerIo *      io,
     746tr_peerIoWriteUint8( tr_peerIo       * io,
    766747                     struct evbuffer * outbuf,
    767748                     uint8_t           writeme )
     
    771752
    772753void
    773 tr_peerIoWriteUint16( tr_peerIo *      io,
     754tr_peerIoWriteUint16( tr_peerIo       * io,
    774755                      struct evbuffer * outbuf,
    775756                      uint16_t          writeme )
     
    781762
    782763void
    783 tr_peerIoWriteUint32( tr_peerIo *      io,
     764tr_peerIoWriteUint32( tr_peerIo       * io,
    784765                      struct evbuffer * outbuf,
    785766                      uint32_t          writeme )
     
    795776
    796777void
    797 tr_peerIoReadBytes( tr_peerIo *      io,
     778tr_peerIoReadBytes( tr_peerIo       * io,
    798779                    struct evbuffer * inbuf,
    799                     void *            bytes,
     780                    void            * bytes,
    800781                    size_t            byteCount )
    801782{
     
    819800
    820801void
    821 tr_peerIoReadUint8( tr_peerIo *      io,
     802tr_peerIoReadUint8( tr_peerIo       * io,
    822803                    struct evbuffer * inbuf,
    823                     uint8_t *        setme )
     804                    uint8_t         * setme )
    824805{
    825806    tr_peerIoReadBytes( io, inbuf, setme, sizeof( uint8_t ) );
     
    827808
    828809void
    829 tr_peerIoReadUint16( tr_peerIo *      io,
     810tr_peerIoReadUint16( tr_peerIo       * io,
    830811                     struct evbuffer * inbuf,
    831                      uint16_t *        setme )
     812                     uint16_t        * setme )
    832813{
    833814    uint16_t tmp;
     
    840821
    841822void
    842 tr_peerIoReadUint32( tr_peerIo *      io,
     823tr_peerIoReadUint32( tr_peerIo       * io,
    843824                     struct evbuffer * inbuf,
    844                      uint32_t *        setme )
     825                     uint32_t        * setme )
    845826{
    846827    uint32_t tmp;
     
    853834
    854835void
    855 tr_peerIoDrain( tr_peerIo *      io,
     836tr_peerIoDrain( tr_peerIo       * io,
    856837                struct evbuffer * inbuf,
    857838                size_t            byteCount )
Note: See TracChangeset for help on using the changeset viewer.