(trunk libT) remove the last calls to tr_getBuffer() and tr_releaseBuffer()

This commit is contained in:
Charles Kerr 2009-06-14 01:00:36 +00:00
parent 254e9d156c
commit ef21704b58
8 changed files with 29 additions and 87 deletions

View File

@ -320,7 +320,7 @@ testJSONSnippet( const char * benc_str,
const char * expected )
{
tr_benc top;
struct evbuffer * buf = tr_getBuffer( );
struct evbuffer * buf = evbuffer_new( );
char * serialized;
tr_bencLoad( benc_str, strlen( benc_str ), &top, NULL );
@ -334,7 +334,7 @@ testJSONSnippet( const char * benc_str,
#endif
check( !strcmp( serialized, expected ) );
tr_bencFree( &top );
tr_releaseBuffer( buf );
evbuffer_free( buf );
return 0;
}

View File

@ -332,7 +332,7 @@ sendYa( tr_handshake * handshake )
{
int len;
const uint8_t * public_key;
struct evbuffer * outbuf = tr_getBuffer( );
struct evbuffer * outbuf = evbuffer_new( );
uint8_t pad_a[PadA_MAXLEN];
/* add our public key (Ya) */
@ -351,7 +351,7 @@ sendYa( tr_handshake * handshake )
tr_peerIoWriteBuf( handshake->io, outbuf, FALSE );
/* cleanup */
tr_releaseBuffer( outbuf );
evbuffer_free( outbuf );
}
static uint32_t
@ -444,7 +444,7 @@ readYb( tr_handshake * handshake,
/* now send these: HASH('req1', S), HASH('req2', SKEY) xor HASH('req3', S),
* ENCRYPT(VC, crypto_provide, len(PadC), PadC, len(IA)), ENCRYPT(IA) */
outbuf = tr_getBuffer( );
outbuf = evbuffer_new( );
/* HASH('req1', S) */
{
@ -501,7 +501,7 @@ readYb( tr_handshake * handshake,
tr_peerIoWriteBuf( handshake->io, outbuf, FALSE );
/* cleanup */
tr_releaseBuffer( outbuf );
evbuffer_free( outbuf );
return READ_LATER;
}
@ -935,7 +935,7 @@ readIA( tr_handshake * handshake,
**/
tr_cryptoEncryptInit( handshake->crypto );
outbuf = tr_getBuffer( );
outbuf = evbuffer_new( );
dbgmsg( handshake, "sending vc" );
/* send VC */
@ -955,7 +955,7 @@ readIA( tr_handshake * handshake,
else
{
dbgmsg( handshake, "peer didn't offer an encryption mode we like." );
tr_releaseBuffer( outbuf );
evbuffer_free( outbuf );
return tr_handshakeDone( handshake, FALSE );
}
@ -987,7 +987,7 @@ readIA( tr_handshake * handshake,
/* send it out */
tr_peerIoWriteBuf( handshake->io, outbuf, FALSE );
tr_releaseBuffer( outbuf );
evbuffer_free( outbuf );
/* now await the handshake */
setState( handshake, AWAITING_PAYLOAD_STREAM );

View File

@ -61,7 +61,7 @@ getOldTorrentFilename( const tr_session * session,
const tr_info * inf )
{
char * ret;
struct evbuffer * buf = tr_getBuffer( );
struct evbuffer * buf = evbuffer_new( );
evbuffer_add_printf( buf, "%s%c%s", tr_getTorrentDir( session ),
TR_PATH_DELIMITER,
@ -70,7 +70,7 @@ getOldTorrentFilename( const tr_session * session,
evbuffer_add_printf( buf, "-%s", session->tag );
ret = tr_strndup( EVBUFFER_DATA( buf ), EVBUFFER_LENGTH( buf ) );
tr_releaseBuffer( buf );
evbuffer_free( buf );
return ret;
}
@ -137,7 +137,7 @@ getfile( char ** setme,
}
else
{
struct evbuffer * buf = tr_getBuffer( );
struct evbuffer * buf = evbuffer_new( );
int n = tr_bencListSize( path );
int i;
@ -155,7 +155,7 @@ getfile( char ** setme,
*setme = tr_utf8clean( (char*)EVBUFFER_DATA( buf ), EVBUFFER_LENGTH( buf ), NULL );
/* fprintf( stderr, "[%s]\n", *setme ); */
tr_releaseBuffer( buf );
evbuffer_free( buf );
err = 0;
}
@ -234,12 +234,12 @@ announceToScrape( const char * announce )
if( ( ( s =
strrchr( announce, '/' ) ) ) && !strncmp( ++s, "announce", 8 ) )
{
struct evbuffer * buf = tr_getBuffer( );
struct evbuffer * buf = evbuffer_new( );
evbuffer_add( buf, announce, s - announce );
evbuffer_add( buf, "scrape", 6 );
evbuffer_add_printf( buf, "%s", s + 8 );
scrape = tr_strdup( EVBUFFER_DATA( buf ) );
tr_releaseBuffer( buf );
evbuffer_free( buf );
}
return scrape;

View File

@ -209,7 +209,7 @@ myDebug( const char * file, int line,
{
va_list args;
char timestr[64];
struct evbuffer * buf = tr_getBuffer( );
struct evbuffer * buf = evbuffer_new( );
char * base = tr_basename( file );
evbuffer_add_printf( buf, "[%s] %s - %s [%s]: ",
@ -225,7 +225,7 @@ myDebug( const char * file, int line,
fwrite( EVBUFFER_DATA( buf ), 1, EVBUFFER_LENGTH( buf ), fp );
tr_free( base );
tr_releaseBuffer( buf );
evbuffer_free( buf );
}
}

View File

@ -124,14 +124,14 @@ send_simple_response( struct evhttp_request * req,
const char * text )
{
const char * code_text = tr_webGetResponseStr( code );
struct evbuffer * body = tr_getBuffer( );
struct evbuffer * body = evbuffer_new( );
evbuffer_add_printf( body, "<h1>%d: %s</h1>", code, code_text );
if( text )
evbuffer_add_printf( body, "%s", text );
evhttp_send_reply( req, code, code_text, body );
tr_releaseBuffer( body );
evbuffer_free( body );
}
struct tr_mimepart
@ -415,14 +415,14 @@ serve_file( struct evhttp_request * req,
const time_t now = time( NULL );
errno = error;
out = tr_getBuffer( );
out = evbuffer_new( );
evhttp_add_header( req->output_headers, "Content-Type", mimetype_guess( filename ) );
add_time_header( req->output_headers, "Date", now );
add_time_header( req->output_headers, "Expires", now+(24*60*60) );
add_response( req, server, out, content, content_len );
evhttp_send_reply( req, HTTP_OK, "OK", out );
tr_releaseBuffer( out );
evbuffer_free( out );
tr_free( content );
}
}
@ -489,14 +489,14 @@ rpc_response_func( tr_session * session UNUSED,
void * user_data )
{
struct rpc_response_data * data = user_data;
struct evbuffer * buf = tr_getBuffer( );
struct evbuffer * buf = evbuffer_new( );
add_response( data->req, data->server, buf, response, response_len );
evhttp_add_header( data->req->output_headers,
"Content-Type", "application/json; charset=UTF-8" );
evhttp_send_reply( data->req, HTTP_OK, "OK", buf );
tr_releaseBuffer( buf );
evbuffer_free( buf );
tr_free( data );
}

View File

@ -259,7 +259,7 @@ tr_deepLog( const char * file,
{
va_list args;
char timestr[64];
struct evbuffer * buf = tr_getBuffer( );
struct evbuffer * buf = evbuffer_new( );
char * base = tr_basename( file );
evbuffer_add_printf( buf, "[%s] ",
@ -276,7 +276,7 @@ tr_deepLog( const char * file,
(void) fwrite( EVBUFFER_DATA( buf ), 1, EVBUFFER_LENGTH( buf ), fp );
tr_free( base );
tr_releaseBuffer( buf );
evbuffer_free( buf );
}
}
@ -736,14 +736,14 @@ tr_strdup_printf( const char * fmt, ... )
struct evbuffer * buf;
va_list ap;
buf = tr_getBuffer( );
buf = evbuffer_new( );
va_start( ap, fmt );
if( evbuffer_add_vprintf( buf, fmt, ap ) != -1 )
ret = tr_strdup( EVBUFFER_DATA( buf ) );
va_end( ap );
tr_releaseBuffer( buf );
evbuffer_free( buf );
return ret;
}
@ -1311,49 +1311,6 @@ tr_int2ptr( int i )
****
***/
static tr_list * _bufferList = NULL;
static tr_lock *
getBufferLock( void )
{
static tr_lock * lock = NULL;
if( lock == NULL )
lock = tr_lockNew( );
return lock;
}
struct evbuffer*
tr_getBuffer( void )
{
struct evbuffer * buf;
tr_lock * l = getBufferLock( );
tr_lockLock( l );
buf = tr_list_pop_front( &_bufferList );
if( buf == NULL )
buf = evbuffer_new( );
tr_lockUnlock( l );
return buf;
}
void
tr_releaseBuffer( struct evbuffer * buf )
{
tr_lock * l = getBufferLock( );
tr_lockLock( l );
evbuffer_drain( buf, EVBUFFER_LENGTH( buf ) );
assert( EVBUFFER_LENGTH( buf ) == 0 );
tr_list_prepend( &_bufferList, buf );
tr_lockUnlock( l );
}
/***
****
***/
int
tr_lowerBound( const void * key,
const void * base,

View File

@ -260,21 +260,6 @@ void tr_wait( uint64_t delay_milliseconds );
char* tr_utf8clean( const char * str, int len, tr_bool * err ) TR_GNUC_MALLOC;
/***
****
***/
struct evbuffer;
/** @brief pool of reusable buffers
@see tr_releaseBuffer() */
struct evbuffer * tr_getBuffer( void );
/** @brief return a buffer to the pool
@see tr_getBuffer() */
void tr_releaseBuffer( struct evbuffer * buf );
/***
****
***/

View File

@ -99,7 +99,7 @@ makeURL( tr_webseed * w,
const tr_file * file )
{
char * ret;
struct evbuffer * out = tr_getBuffer( );
struct evbuffer * out = evbuffer_new( );
const char * url = w->url;
const size_t url_len = strlen( url );
@ -140,7 +140,7 @@ makeURL( tr_webseed * w,
}
ret = tr_strndup( EVBUFFER_DATA( out ), EVBUFFER_LENGTH( out ) );
tr_releaseBuffer( out );
evbuffer_free( out );
return ret;
}