(trunk libT) move tr_lpdAnnounceMore() out of the announcer module
We can stop local peer discovery immediately during shutdown, but need to leave the announcer running for the event=stopped messages. So it doesn't make sense to keep them on the same periodic timer.
This commit is contained in:
parent
6835374661
commit
501f2e106f
|
@ -28,7 +28,6 @@
|
||||||
#include "peer-mgr.h" /* tr_peerMgrCompactToPex() */
|
#include "peer-mgr.h" /* tr_peerMgrCompactToPex() */
|
||||||
#include "ptrarray.h"
|
#include "ptrarray.h"
|
||||||
#include "session.h"
|
#include "session.h"
|
||||||
#include "tr-lpd.h"
|
|
||||||
#include "torrent.h"
|
#include "torrent.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
|
@ -63,9 +62,6 @@ enum
|
||||||
|
|
||||||
UPKEEP_INTERVAL_SECS = 1,
|
UPKEEP_INTERVAL_SECS = 1,
|
||||||
|
|
||||||
/* this is an upper limit for the frequency of LDS announces */
|
|
||||||
LPD_HOUSEKEEPING_INTERVAL_SECS = 5,
|
|
||||||
|
|
||||||
/* this is how often to call the UDP tracker upkeep */
|
/* this is how often to call the UDP tracker upkeep */
|
||||||
TAU_UPKEEP_INTERVAL_SECS = 5
|
TAU_UPKEEP_INTERVAL_SECS = 5
|
||||||
};
|
};
|
||||||
|
@ -1505,13 +1501,6 @@ onUpkeepTimer( int foo UNUSED, short bar UNUSED, void * vannouncer )
|
||||||
/* maybe send out some announcements to trackers */
|
/* maybe send out some announcements to trackers */
|
||||||
announceMore( announcer );
|
announceMore( announcer );
|
||||||
|
|
||||||
/* LPD upkeep */
|
|
||||||
if( announcer->lpdUpkeepAt <= now ) {
|
|
||||||
const int seconds = LPD_HOUSEKEEPING_INTERVAL_SECS;
|
|
||||||
announcer->lpdUpkeepAt = now + jitterize( seconds );
|
|
||||||
tr_lpdAnnounceMore( now, seconds );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* TAU upkeep */
|
/* TAU upkeep */
|
||||||
if( announcer->tauUpkeepAt <= now ) {
|
if( announcer->tauUpkeepAt <= now ) {
|
||||||
announcer->tauUpkeepAt = now + TAU_UPKEEP_INTERVAL_SECS;
|
announcer->tauUpkeepAt = now + TAU_UPKEEP_INTERVAL_SECS;
|
||||||
|
|
|
@ -609,6 +609,7 @@ onNowTimer( int foo UNUSED, short bar UNUSED, void * vsession )
|
||||||
struct timeval tv;
|
struct timeval tv;
|
||||||
tr_torrent * tor = NULL;
|
tr_torrent * tor = NULL;
|
||||||
tr_session * session = vsession;
|
tr_session * session = vsession;
|
||||||
|
const time_t now = time( NULL );
|
||||||
|
|
||||||
assert( tr_isSession( session ) );
|
assert( tr_isSession( session ) );
|
||||||
assert( session->nowTimer != NULL );
|
assert( session->nowTimer != NULL );
|
||||||
|
@ -617,10 +618,17 @@ onNowTimer( int foo UNUSED, short bar UNUSED, void * vsession )
|
||||||
*** tr_session things to do once per second
|
*** tr_session things to do once per second
|
||||||
**/
|
**/
|
||||||
|
|
||||||
tr_timeUpdate( time( NULL ) );
|
tr_timeUpdate( now );
|
||||||
|
|
||||||
tr_dhtUpkeep( session );
|
tr_dhtUpkeep( session );
|
||||||
|
|
||||||
|
/* lpd upkeep */
|
||||||
|
if( session->lpdUpkeepAt <= now ) {
|
||||||
|
const int LPD_UPKEEP_INTERVAL_SECS = 5;
|
||||||
|
session->lpdUpkeepAt = now + LPD_UPKEEP_INTERVAL_SECS;
|
||||||
|
tr_lpdAnnounceMore( now, LPD_UPKEEP_INTERVAL_SECS );
|
||||||
|
}
|
||||||
|
|
||||||
if( session->turtle.isClockEnabled )
|
if( session->turtle.isClockEnabled )
|
||||||
turtleCheckClock( session, &session->turtle );
|
turtleCheckClock( session, &session->turtle );
|
||||||
|
|
||||||
|
|
|
@ -142,6 +142,8 @@ struct tr_session
|
||||||
struct event *udp_event;
|
struct event *udp_event;
|
||||||
struct event *udp6_event;
|
struct event *udp6_event;
|
||||||
|
|
||||||
|
time_t lpdUpkeepAt;
|
||||||
|
|
||||||
/* The open port on the local machine for incoming peer requests */
|
/* The open port on the local machine for incoming peer requests */
|
||||||
tr_port private_peer_port;
|
tr_port private_peer_port;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue