Scheduler: if admin has set min_sendwork_interval in config file, then

include a delay request at least this big in EVERY sched reply.  Else
if the hardwired standard delay in the client is smaller than
min_sendwork_interval, the client will keep getting connections
refused at the server side.  David, please give this a glance.

svn path=/trunk/boinc/; revision=7999
This commit is contained in:
Bruce Allen 2005-09-13 13:25:01 +00:00
parent f9d4103ded
commit eaa0ddead1
2 changed files with 17 additions and 1 deletions

View File

@ -11747,4 +11747,14 @@ Bruce 13 Sept 2005
stdafx.cpp
Bruce 13 Sept 2005
- Scheduler: if admin has set min_sendwork_interval in config file, then
include a delay request at least this big in EVERY sched reply. Else
if the hardwired standard delay in the client is smaller than
min_sendwork_interval, the client will keep getting connections
refused at the server side. David, please give this a glance.
sched/
server_types.C

View File

@ -400,7 +400,13 @@ int SCHEDULER_REPLY::write(FILE* fout) {
BOINC_MAJOR_VERSION*100+BOINC_MINOR_VERSION
);
if (request_delay) {
// if the scheduler has requested a delay OR the sysadmin has configured
// the scheduler with a minimum time between RPCs, send a delay request.
// Make it 1% larger than the min required to take care of time skew.
//
if (request_delay || config.min_sendwork_interval) {
double min_delay_needed=1.01*config.min_sendwork_interval;
if (request_delay<min_delay_needed) request_delay=min_delay_needed;
fprintf(fout, "<request_delay>%f</request_delay>\n", request_delay);
log_messages.printf(SCHED_MSG_LOG::NORMAL, "sending delay request %f\n", request_delay);
}