mirror of https://github.com/BOINC/boinc.git
- client/Manager/GUI RPC: clean up RPC stuff involving
resource-specific backoff and exclusion Old: client writes <rsc_backoff_time> <rsc_backoff_interval> <no_rsc_ams> <no_rsc_apps> <no_rsc_pref> in GUI RPC entries for projects. Manager (GUI RPC client): PROJECT struct has cpu_backoff_time cpu_backoff_interval ... cuda, ati no_cpu_pref ... cuda, ati and it parses tags of these names. In other words, no information is being conveyed from client to Manager. New: manager parses both forms svn path=/trunk/boinc/; revision=25217
This commit is contained in:
parent
1b41c17cb9
commit
7e48057f44
|
@ -1461,3 +1461,33 @@ Charlie 7 Feb 2012
|
||||||
|
|
||||||
client/
|
client/
|
||||||
coproc_detect.cpp
|
coproc_detect.cpp
|
||||||
|
|
||||||
|
David 7 Feb 2012
|
||||||
|
- client/Manager/GUI RPC: clean up RPC stuff involving
|
||||||
|
resource-specific backoff and exclusion
|
||||||
|
|
||||||
|
Old: client writes
|
||||||
|
<rsc_backoff_time>
|
||||||
|
<rsc_backoff_interval>
|
||||||
|
<no_rsc_ams>
|
||||||
|
<no_rsc_apps>
|
||||||
|
<no_rsc_pref>
|
||||||
|
in GUI RPC entries for projects.
|
||||||
|
Manager (GUI RPC client): PROJECT struct has
|
||||||
|
cpu_backoff_time
|
||||||
|
cpu_backoff_interval
|
||||||
|
... cuda, ati
|
||||||
|
no_cpu_pref
|
||||||
|
... cuda, ati
|
||||||
|
and it parses tags of these names.
|
||||||
|
In other words, no information is being conveyed
|
||||||
|
from client to Manager.
|
||||||
|
|
||||||
|
New:
|
||||||
|
manager parses both forms
|
||||||
|
|
||||||
|
clientgui/
|
||||||
|
DlgItemProperties.cpp
|
||||||
|
lib/
|
||||||
|
gui_rpc_client_ops.cpp
|
||||||
|
gui_rpc_client.h
|
||||||
|
|
|
@ -257,31 +257,61 @@ void CDlgItemProperties::renderInfos(PROJECT* project_in) {
|
||||||
|
|
||||||
if (!project->non_cpu_intensive) {
|
if (!project->non_cpu_intensive) {
|
||||||
addSection(_("Scheduling"));
|
addSection(_("Scheduling"));
|
||||||
if (project->no_cpu_pref) {
|
if (project->rsc_desc_cpu.no_rsc_pref) {
|
||||||
addProperty(_("Project preference"), _("Don't fetch CPU tasks"));
|
addProperty(_("Don't fetch CPU tasks"), _("Project preference"));
|
||||||
|
}
|
||||||
|
if (project->rsc_desc_cpu.no_rsc_ams) {
|
||||||
|
addProperty(_("Don't fetch CPU tasks"), _("Account manager preference"));
|
||||||
|
}
|
||||||
|
if (project->rsc_desc_cpu.no_rsc_apps) {
|
||||||
|
addProperty(_("Don't fetch CPU tasks"), _("Project has no CPU apps"));
|
||||||
}
|
}
|
||||||
addProperty(_("Scheduling priority"),wxString::Format(wxT("%0.2f"), project->sched_priority));
|
addProperty(_("Scheduling priority"),wxString::Format(wxT("%0.2f"), project->sched_priority));
|
||||||
double x = project->cpu_backoff_time - dtime();
|
double x = project->rsc_desc_cpu.backoff_time - dtime();
|
||||||
if (x<0) x = 0;
|
if (x<0) x = 0;
|
||||||
addProperty(_("CPU work fetch deferred for"), FormatTime(x));
|
addProperty(_("CPU work fetch deferred for"), FormatTime(x));
|
||||||
addProperty(_("CPU work fetch deferral interval"), FormatTime(project->cpu_backoff_interval));
|
addProperty(_("CPU work fetch deferral interval"), FormatTime(project->rsc_desc_cpu.backoff_interval));
|
||||||
if (pDoc->state.have_nvidia) {
|
if (pDoc->state.have_nvidia) {
|
||||||
if (project->no_cuda_pref) {
|
if (project->rsc_desc_nvidia.no_rsc_pref) {
|
||||||
addProperty(_("Project preference"), _("Don't fetch NVIDIA GPU tasks"));
|
addProperty(
|
||||||
|
_("Don't fetch NVIDIA GPU tasks"), _("Project preference")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
x = project->cuda_backoff_time - dtime();
|
if (project->rsc_desc_nvidia.no_rsc_ams) {
|
||||||
|
addProperty(
|
||||||
|
_("Don't fetch NVIDIA GPU tasks"), _("Account manager preference")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (project->rsc_desc_nvidia.no_rsc_pref) {
|
||||||
|
addProperty(
|
||||||
|
_("Don't fetch NVIDIA GPU tasks"), _("Project preference")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
x = project->rsc_desc_nvidia.backoff_time - dtime();
|
||||||
if (x<0) x = 0;
|
if (x<0) x = 0;
|
||||||
addProperty(_("NVIDIA GPU work fetch deferred for"), FormatTime(x));
|
addProperty(_("NVIDIA GPU work fetch deferred for"), FormatTime(x));
|
||||||
addProperty(_("NVIDIA GPU work fetch deferral interval"), FormatTime(project->cuda_backoff_interval));
|
addProperty(_("NVIDIA GPU work fetch deferral interval"), FormatTime(project->rsc_desc_nvidia.backoff_interval));
|
||||||
}
|
}
|
||||||
if (pDoc->state.have_ati) {
|
if (pDoc->state.have_ati) {
|
||||||
if (project->no_ati_pref) {
|
if (project->rsc_desc_ati.no_rsc_pref) {
|
||||||
addProperty(_("Project preference"), _("Don't fetch ATI GPU tasks"));
|
addProperty(
|
||||||
|
_("Don't fetch ATI GPU tasks"), _("Project preference")
|
||||||
|
);
|
||||||
}
|
}
|
||||||
x = project->ati_backoff_time - dtime();
|
if (project->rsc_desc_ati.no_rsc_ams) {
|
||||||
|
addProperty(
|
||||||
|
_("Don't fetch ATI GPU tasks"), _("Account manager preference")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (project->rsc_desc_ati.no_rsc_pref) {
|
||||||
|
addProperty(
|
||||||
|
_("Don't fetch ATI GPU tasks"), _("Project preference")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
x = project->rsc_desc_ati.backoff_time - dtime();
|
||||||
if (x<0) x = 0;
|
if (x<0) x = 0;
|
||||||
addProperty(_("ATI GPU work fetch deferred for"), FormatTime(x));
|
addProperty(_("ATI GPU work fetch deferred for"), FormatTime(x));
|
||||||
addProperty(_("ATI GPU work fetch deferral interval"), FormatTime(project->ati_backoff_interval));
|
addProperty(_("ATI GPU work fetch deferral interval"), FormatTime(project->rsc_desc_ati.backoff_interval));
|
||||||
}
|
}
|
||||||
addProperty(_("Duration correction factor"),wxString::Format(wxT("%0.4f"), project->duration_correction_factor));
|
addProperty(_("Duration correction factor"),wxString::Format(wxT("%0.4f"), project->duration_correction_factor));
|
||||||
}
|
}
|
||||||
|
|
|
@ -284,6 +284,14 @@ $mixed = array(
|
||||||
$math = array(
|
$math = array(
|
||||||
tra("Mathematics, computing, and games"),
|
tra("Mathematics, computing, and games"),
|
||||||
array(
|
array(
|
||||||
|
array(
|
||||||
|
"SAT@home",
|
||||||
|
"http://sat.isa.ru/pdsat",
|
||||||
|
"Institute for Systems Analysis, Russian Academy of Sciences",
|
||||||
|
"Computer Science",
|
||||||
|
"Solve hard and practically important problems (discrete functions inversion problems, discrete optimization, bioinformatics, etc.) that can be effectively reduced to Boolean satisfiability problem.",
|
||||||
|
"sat_logo.png"
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
"Mersenne@home",
|
"Mersenne@home",
|
||||||
"http://mersenneathome.net/",
|
"http://mersenneathome.net/",
|
||||||
|
|
|
@ -62,8 +62,7 @@ struct DAILY_STATS {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class PROJECT_LIST_ENTRY {
|
struct PROJECT_LIST_ENTRY {
|
||||||
public:
|
|
||||||
std::string name;
|
std::string name;
|
||||||
std::string url;
|
std::string url;
|
||||||
std::string general_area;
|
std::string general_area;
|
||||||
|
@ -81,8 +80,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class AM_LIST_ENTRY {
|
struct AM_LIST_ENTRY {
|
||||||
public:
|
|
||||||
std::string name;
|
std::string name;
|
||||||
std::string url;
|
std::string url;
|
||||||
std::string description;
|
std::string description;
|
||||||
|
@ -95,8 +93,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class ALL_PROJECTS_LIST {
|
struct ALL_PROJECTS_LIST {
|
||||||
public:
|
|
||||||
std::vector<PROJECT_LIST_ENTRY*> projects;
|
std::vector<PROJECT_LIST_ENTRY*> projects;
|
||||||
std::vector<AM_LIST_ENTRY*> account_managers;
|
std::vector<AM_LIST_ENTRY*> account_managers;
|
||||||
|
|
||||||
|
@ -107,8 +104,17 @@ public:
|
||||||
void shuffle();
|
void shuffle();
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECT {
|
struct RSC_DESC {
|
||||||
public:
|
double backoff_time;
|
||||||
|
double backoff_interval;
|
||||||
|
bool no_rsc_ams;
|
||||||
|
bool no_rsc_apps;
|
||||||
|
bool no_rsc_pref;
|
||||||
|
|
||||||
|
void clear();
|
||||||
|
};
|
||||||
|
|
||||||
|
struct PROJECT {
|
||||||
char master_url[256];
|
char master_url[256];
|
||||||
double resource_share;
|
double resource_share;
|
||||||
std::string project_name;
|
std::string project_name;
|
||||||
|
@ -128,14 +134,12 @@ public:
|
||||||
double download_backoff;
|
double download_backoff;
|
||||||
double upload_backoff;
|
double upload_backoff;
|
||||||
|
|
||||||
|
RSC_DESC rsc_desc_cpu;
|
||||||
|
RSC_DESC rsc_desc_nvidia;
|
||||||
|
RSC_DESC rsc_desc_ati;
|
||||||
|
|
||||||
double sched_priority;
|
double sched_priority;
|
||||||
|
|
||||||
double cpu_backoff_time;
|
|
||||||
double cpu_backoff_interval;
|
|
||||||
double cuda_backoff_time;
|
|
||||||
double cuda_backoff_interval;
|
|
||||||
double ati_backoff_time;
|
|
||||||
double ati_backoff_interval;
|
|
||||||
double duration_correction_factor;
|
double duration_correction_factor;
|
||||||
|
|
||||||
bool anonymous_platform;
|
bool anonymous_platform;
|
||||||
|
@ -156,9 +160,6 @@ public:
|
||||||
double last_rpc_time;
|
double last_rpc_time;
|
||||||
// when the last successful scheduler RPC finished
|
// when the last successful scheduler RPC finished
|
||||||
std::vector<DAILY_STATS> statistics; // credit data over the last x days
|
std::vector<DAILY_STATS> statistics; // credit data over the last x days
|
||||||
bool no_cpu_pref;
|
|
||||||
bool no_cuda_pref;
|
|
||||||
bool no_ati_pref;
|
|
||||||
char venue[256];
|
char venue[256];
|
||||||
|
|
||||||
// NOTE: if you add any data items above,
|
// NOTE: if you add any data items above,
|
||||||
|
@ -177,8 +178,7 @@ public:
|
||||||
bool flag_for_delete;
|
bool flag_for_delete;
|
||||||
};
|
};
|
||||||
|
|
||||||
class APP {
|
struct APP {
|
||||||
public:
|
|
||||||
char name[256];
|
char name[256];
|
||||||
char user_friendly_name[256];
|
char user_friendly_name[256];
|
||||||
PROJECT* project;
|
PROJECT* project;
|
||||||
|
@ -191,8 +191,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class APP_VERSION {
|
struct APP_VERSION {
|
||||||
public:
|
|
||||||
char app_name[256];
|
char app_name[256];
|
||||||
int version_num;
|
int version_num;
|
||||||
char platform[64];
|
char platform[64];
|
||||||
|
@ -214,8 +213,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class WORKUNIT {
|
struct WORKUNIT {
|
||||||
public:
|
|
||||||
char name[256];
|
char name[256];
|
||||||
char app_name[256];
|
char app_name[256];
|
||||||
int version_num; // backwards compat
|
int version_num; // backwards compat
|
||||||
|
@ -234,8 +232,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class RESULT {
|
struct RESULT {
|
||||||
public:
|
|
||||||
char name[256];
|
char name[256];
|
||||||
char wu_name[256];
|
char wu_name[256];
|
||||||
char project_url[256];
|
char project_url[256];
|
||||||
|
@ -295,8 +292,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class FILE_TRANSFER {
|
struct FILE_TRANSFER {
|
||||||
public:
|
|
||||||
std::string name;
|
std::string name;
|
||||||
std::string project_url;
|
std::string project_url;
|
||||||
std::string project_name;
|
std::string project_name;
|
||||||
|
@ -327,8 +323,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class MESSAGE {
|
struct MESSAGE {
|
||||||
public:
|
|
||||||
std::string project;
|
std::string project;
|
||||||
int priority;
|
int priority;
|
||||||
int seqno;
|
int seqno;
|
||||||
|
@ -343,8 +338,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class GR_PROXY_INFO {
|
struct GR_PROXY_INFO {
|
||||||
public:
|
|
||||||
bool use_http_proxy;
|
bool use_http_proxy;
|
||||||
bool use_socks_proxy;
|
bool use_socks_proxy;
|
||||||
bool use_http_authentication;
|
bool use_http_authentication;
|
||||||
|
@ -367,8 +361,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class CC_STATE {
|
struct CC_STATE {
|
||||||
public:
|
|
||||||
std::vector<PROJECT*> projects;
|
std::vector<PROJECT*> projects;
|
||||||
std::vector<APP*> apps;
|
std::vector<APP*> apps;
|
||||||
std::vector<APP_VERSION*> app_versions;
|
std::vector<APP_VERSION*> app_versions;
|
||||||
|
@ -399,8 +392,7 @@ public:
|
||||||
int parse(XML_PARSER&);
|
int parse(XML_PARSER&);
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTS {
|
struct PROJECTS {
|
||||||
public:
|
|
||||||
std::vector<PROJECT*> projects;
|
std::vector<PROJECT*> projects;
|
||||||
|
|
||||||
PROJECTS(){}
|
PROJECTS(){}
|
||||||
|
@ -424,8 +416,7 @@ struct DISK_USAGE {
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class RESULTS {
|
struct RESULTS {
|
||||||
public:
|
|
||||||
std::vector<RESULT*> results;
|
std::vector<RESULT*> results;
|
||||||
|
|
||||||
RESULTS(){}
|
RESULTS(){}
|
||||||
|
@ -435,8 +426,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class FILE_TRANSFERS {
|
struct FILE_TRANSFERS {
|
||||||
public:
|
|
||||||
std::vector<FILE_TRANSFER*> file_transfers;
|
std::vector<FILE_TRANSFER*> file_transfers;
|
||||||
|
|
||||||
FILE_TRANSFERS();
|
FILE_TRANSFERS();
|
||||||
|
@ -446,8 +436,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class MESSAGES {
|
struct MESSAGES {
|
||||||
public:
|
|
||||||
std::vector<MESSAGE*> messages;
|
std::vector<MESSAGE*> messages;
|
||||||
|
|
||||||
MESSAGES();
|
MESSAGES();
|
||||||
|
@ -457,8 +446,7 @@ public:
|
||||||
void clear();
|
void clear();
|
||||||
};
|
};
|
||||||
|
|
||||||
class NOTICES {
|
struct NOTICES {
|
||||||
public:
|
|
||||||
bool complete;
|
bool complete;
|
||||||
// whether vector contains all notices, or just new ones
|
// whether vector contains all notices, or just new ones
|
||||||
std::vector<NOTICE*> notices;
|
std::vector<NOTICE*> notices;
|
||||||
|
|
|
@ -246,6 +246,7 @@ void PROJECT::get_name(std::string& s) {
|
||||||
|
|
||||||
int PROJECT::parse(XML_PARSER& xp) {
|
int PROJECT::parse(XML_PARSER& xp) {
|
||||||
int retval;
|
int retval;
|
||||||
|
char buf[256];
|
||||||
|
|
||||||
while (!xp.get_tag()) {
|
while (!xp.get_tag()) {
|
||||||
if (xp.match_tag("/project")) return 0;
|
if (xp.match_tag("/project")) return 0;
|
||||||
|
@ -272,12 +273,74 @@ int PROJECT::parse(XML_PARSER& xp) {
|
||||||
if (xp.parse_double("download_backoff", download_backoff)) continue;
|
if (xp.parse_double("download_backoff", download_backoff)) continue;
|
||||||
if (xp.parse_double("upload_backoff", upload_backoff)) continue;
|
if (xp.parse_double("upload_backoff", upload_backoff)) continue;
|
||||||
if (xp.parse_double("sched_priority", sched_priority)) continue;
|
if (xp.parse_double("sched_priority", sched_priority)) continue;
|
||||||
if (xp.parse_double("cpu_backoff_time", cpu_backoff_time)) continue;
|
|
||||||
if (xp.parse_double("cpu_backoff_interval", cpu_backoff_interval)) continue;
|
// resource-specific stuff, old format
|
||||||
if (xp.parse_double("cuda_backoff_time", cuda_backoff_time)) continue;
|
//
|
||||||
if (xp.parse_double("cuda_backoff_interval", cuda_backoff_interval)) continue;
|
if (xp.parse_double("cpu_backoff_time", rsc_desc_cpu.backoff_time)) continue;
|
||||||
if (xp.parse_double("ati_backoff_time", ati_backoff_time)) continue;
|
if (xp.parse_double("cpu_backoff_interval", rsc_desc_cpu.backoff_interval)) continue;
|
||||||
if (xp.parse_double("ati_backoff_interval", ati_backoff_interval)) continue;
|
if (xp.parse_double("cuda_backoff_time", rsc_desc_nvidia.backoff_time)) continue;
|
||||||
|
if (xp.parse_double("cuda_backoff_interval", rsc_desc_nvidia.backoff_interval)) continue;
|
||||||
|
if (xp.parse_double("ati_backoff_time", rsc_desc_ati.backoff_time)) continue;
|
||||||
|
if (xp.parse_double("ati_backoff_interval", rsc_desc_ati.backoff_interval)) continue;
|
||||||
|
if (xp.parse_double("last_rpc_time", last_rpc_time)) continue;
|
||||||
|
if (xp.parse_bool("no_cpu_pref", rsc_desc_cpu.no_rsc_pref)) continue;
|
||||||
|
if (xp.parse_bool("no_cuda_pref", rsc_desc_cpu.no_rsc_pref)) continue;
|
||||||
|
|
||||||
|
// resource-specific stuff, new format
|
||||||
|
//
|
||||||
|
if (xp.match_tag("rsc_backoff_time")) {
|
||||||
|
double value = 0;
|
||||||
|
while (!xp.get_tag()) {
|
||||||
|
if (xp.match_tag("/rsc_backoff_time")) {
|
||||||
|
if (!strcmp(buf, "CPU")) {
|
||||||
|
rsc_desc_cpu.backoff_time = value;
|
||||||
|
} else if (!strcmp(buf, "NVIDIA")) {
|
||||||
|
rsc_desc_nvidia.backoff_time = value;
|
||||||
|
} else if (!strcmp(buf, "ATI")) {
|
||||||
|
rsc_desc_ati.backoff_time = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (xp.parse_str("name", buf, sizeof(buf))) continue;
|
||||||
|
if (xp.parse_double("value", value)) continue;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (xp.match_tag("rsc_backoff_interval")) {
|
||||||
|
double value = 0;
|
||||||
|
while (!xp.get_tag()) {
|
||||||
|
if (xp.match_tag("/rsc_backoff_interval")) {
|
||||||
|
if (!strcmp(buf, "CPU")) {
|
||||||
|
rsc_desc_cpu.backoff_interval = value;
|
||||||
|
} else if (!strcmp(buf, "NVIDIA")) {
|
||||||
|
rsc_desc_nvidia.backoff_interval = value;
|
||||||
|
} else if (!strcmp(buf, "ATI")) {
|
||||||
|
rsc_desc_ati.backoff_interval = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (xp.parse_str("name", buf, sizeof(buf))) continue;
|
||||||
|
if (xp.parse_double("value", value)) continue;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (xp.parse_str("no_rsc_ams", buf, sizeof(buf))) {
|
||||||
|
if (!strcmp(buf, "CPU")) rsc_desc_cpu.no_rsc_ams = true;
|
||||||
|
else if (!strcmp(buf, "NVIDIA")) rsc_desc_nvidia.no_rsc_ams = true;
|
||||||
|
else if (!strcmp(buf, "ATI")) rsc_desc_ati.no_rsc_ams = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (xp.parse_str("no_rsc_apps", buf, sizeof(buf))) {
|
||||||
|
if (!strcmp(buf, "CPU")) rsc_desc_cpu.no_rsc_apps = true;
|
||||||
|
else if (!strcmp(buf, "NVIDIA")) rsc_desc_nvidia.no_rsc_apps = true;
|
||||||
|
else if (!strcmp(buf, "ATI")) rsc_desc_ati.no_rsc_apps = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (xp.parse_str("no_rsc_pref", buf, sizeof(buf))) {
|
||||||
|
if (!strcmp(buf, "cpu")) rsc_desc_cpu.no_rsc_pref = true;
|
||||||
|
else if (!strcmp(buf, "nvidia")) rsc_desc_nvidia.no_rsc_pref = true;
|
||||||
|
else if (!strcmp(buf, "ati")) rsc_desc_ati.no_rsc_pref = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (xp.parse_double("duration_correction_factor", duration_correction_factor)) continue;
|
if (xp.parse_double("duration_correction_factor", duration_correction_factor)) continue;
|
||||||
if (xp.parse_bool("anonymous_platform", anonymous_platform)) continue;
|
if (xp.parse_bool("anonymous_platform", anonymous_platform)) continue;
|
||||||
if (xp.parse_bool("master_url_fetch_pending", master_url_fetch_pending)) continue;
|
if (xp.parse_bool("master_url_fetch_pending", master_url_fetch_pending)) continue;
|
||||||
|
@ -304,15 +367,20 @@ int PROJECT::parse(XML_PARSER& xp) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (xp.parse_double("project_files_downloaded_time", project_files_downloaded_time)) continue;
|
if (xp.parse_double("project_files_downloaded_time", project_files_downloaded_time)) continue;
|
||||||
if (xp.parse_double("last_rpc_time", last_rpc_time)) continue;
|
if (xp.parse_bool("no_ati_pref", rsc_desc_cpu.no_rsc_pref)) continue;
|
||||||
if (xp.parse_bool("no_cpu_pref", no_cpu_pref)) continue;
|
|
||||||
if (xp.parse_bool("no_cuda_pref", no_cuda_pref)) continue;
|
|
||||||
if (xp.parse_bool("no_ati_pref", no_ati_pref)) continue;
|
|
||||||
if (xp.parse_str("venue", venue, sizeof(venue))) continue;
|
if (xp.parse_str("venue", venue, sizeof(venue))) continue;
|
||||||
}
|
}
|
||||||
return ERR_XML_PARSE;
|
return ERR_XML_PARSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RSC_DESC::clear() {
|
||||||
|
backoff_time = 0;
|
||||||
|
backoff_interval = 0;
|
||||||
|
no_rsc_ams = false;
|
||||||
|
no_rsc_apps = false;
|
||||||
|
no_rsc_pref = false;
|
||||||
|
}
|
||||||
|
|
||||||
void PROJECT::clear() {
|
void PROJECT::clear() {
|
||||||
strcpy(master_url, "");
|
strcpy(master_url, "");
|
||||||
resource_share = 0;
|
resource_share = 0;
|
||||||
|
@ -329,12 +397,9 @@ void PROJECT::clear() {
|
||||||
min_rpc_time = 0;
|
min_rpc_time = 0;
|
||||||
download_backoff = 0;
|
download_backoff = 0;
|
||||||
upload_backoff = 0;
|
upload_backoff = 0;
|
||||||
cpu_backoff_time = 0;
|
rsc_desc_cpu.clear();
|
||||||
cpu_backoff_interval = 0;
|
rsc_desc_nvidia.clear();
|
||||||
cuda_backoff_time = 0;
|
rsc_desc_ati.clear();
|
||||||
cuda_backoff_interval = 0;
|
|
||||||
ati_backoff_time = 0;
|
|
||||||
ati_backoff_interval = 0;
|
|
||||||
duration_correction_factor = 0;
|
duration_correction_factor = 0;
|
||||||
anonymous_platform = false;
|
anonymous_platform = false;
|
||||||
master_url_fetch_pending = false;
|
master_url_fetch_pending = false;
|
||||||
|
@ -351,9 +416,6 @@ void PROJECT::clear() {
|
||||||
last_rpc_time = 0;
|
last_rpc_time = 0;
|
||||||
gui_urls.clear();
|
gui_urls.clear();
|
||||||
statistics.clear();
|
statistics.clear();
|
||||||
no_cpu_pref = false;
|
|
||||||
no_cuda_pref = false;
|
|
||||||
no_ati_pref = false;
|
|
||||||
strcpy(venue, "");
|
strcpy(venue, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue