mirror of
https://github.com/transmission/transmission
synced 2024-12-27 01:57:52 +00:00
(trunk libT) #4047 "transfer speed shown as 0" -- revert r11783 (#3950) because it caused speed misreporting.
This commit is contained in:
parent
aa89303254
commit
0e27f583d3
4 changed files with 4 additions and 48 deletions
|
@ -108,7 +108,7 @@ didWriteWrapper( tr_peerIo * io, unsigned int bytes_transferred )
|
||||||
/* For uTP sockets, the overhead is computed in utp_on_overhead. */
|
/* For uTP sockets, the overhead is computed in utp_on_overhead. */
|
||||||
const unsigned int overhead =
|
const unsigned int overhead =
|
||||||
io->socket ? guessPacketOverhead( payload ) : 0;
|
io->socket ? guessPacketOverhead( payload ) : 0;
|
||||||
const uint64_t now = tr_sessionGetTimeMsec( io->session );
|
const uint64_t now = tr_time_msec( );
|
||||||
|
|
||||||
tr_bandwidthUsed( &io->bandwidth, TR_UP, payload, next->isPieceData, now );
|
tr_bandwidthUsed( &io->bandwidth, TR_UP, payload, next->isPieceData, now );
|
||||||
|
|
||||||
|
@ -148,7 +148,7 @@ canReadWrapper( tr_peerIo * io )
|
||||||
/* try to consume the input buffer */
|
/* try to consume the input buffer */
|
||||||
if( io->canRead )
|
if( io->canRead )
|
||||||
{
|
{
|
||||||
const uint64_t now = tr_sessionGetTimeMsec( io->session );
|
const uint64_t now = tr_time_msec( );
|
||||||
|
|
||||||
tr_sessionLock( session );
|
tr_sessionLock( session );
|
||||||
|
|
||||||
|
|
|
@ -3100,7 +3100,7 @@ rechokePulse( int foo UNUSED, short bar UNUSED, void * vmgr )
|
||||||
{
|
{
|
||||||
tr_torrent * tor = NULL;
|
tr_torrent * tor = NULL;
|
||||||
tr_peerMgr * mgr = vmgr;
|
tr_peerMgr * mgr = vmgr;
|
||||||
const uint64_t now = tr_sessionGetTimeMsec( mgr->session );
|
const uint64_t now = tr_time_msec( );
|
||||||
|
|
||||||
managerLock( mgr );
|
managerLock( mgr );
|
||||||
|
|
||||||
|
@ -3431,7 +3431,7 @@ reconnectPulse( int foo UNUSED, short bar UNUSED, void * vmgr )
|
||||||
tr_torrent * tor;
|
tr_torrent * tor;
|
||||||
tr_peerMgr * mgr = vmgr;
|
tr_peerMgr * mgr = vmgr;
|
||||||
const time_t now_sec = tr_time( );
|
const time_t now_sec = tr_time( );
|
||||||
const uint64_t now_msec = tr_sessionGetTimeMsec( mgr->session );
|
const uint64_t now_msec = tr_time_msec( );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*** enforce the per-session and per-torrent peer limits
|
*** enforce the per-session and per-torrent peer limits
|
||||||
|
|
|
@ -2610,36 +2610,3 @@ tr_sessionSetWebConfigFunc( tr_session * session, void (*func)(tr_session*, void
|
||||||
{
|
{
|
||||||
session->curl_easy_config_func = func;
|
session->curl_easy_config_func = func;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
|
||||||
****
|
|
||||||
***/
|
|
||||||
|
|
||||||
uint64_t
|
|
||||||
tr_sessionGetTimeMsec( tr_session * session )
|
|
||||||
{
|
|
||||||
struct timeval tv;
|
|
||||||
|
|
||||||
if( event_base_gettimeofday_cached( session->event_base, &tv ) )
|
|
||||||
{
|
|
||||||
return tr_time_msec( );
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* event_base_gettimeofday_cached() might be implemented using
|
|
||||||
clock_gettime(CLOCK_MONOTONIC), so calculate the offset to
|
|
||||||
real time... */
|
|
||||||
static uint64_t offset;
|
|
||||||
static tr_bool offset_calculated = FALSE;
|
|
||||||
|
|
||||||
const uint64_t val = (uint64_t) tv.tv_sec * 1000 + ( tv.tv_usec / 1000 );
|
|
||||||
|
|
||||||
if( !offset_calculated )
|
|
||||||
{
|
|
||||||
offset = tr_time_msec() - val;
|
|
||||||
offset_calculated = TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
return val + offset;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -306,15 +306,4 @@ tr_bool tr_sessionGetActiveSpeedLimit_Bps( const tr_session * session,
|
||||||
tr_direction dir,
|
tr_direction dir,
|
||||||
int * setme );
|
int * setme );
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Tries to use libevent's cached timeval so we can avoid excessive calls
|
|
||||||
* to gettimeofday().
|
|
||||||
*
|
|
||||||
* This isn't for all uses, but should be reasonably accurate when called
|
|
||||||
* near the beginning of a libevent callback.
|
|
||||||
*/
|
|
||||||
uint64_t tr_sessionGetTimeMsec( tr_session * session );
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue