mirror of https://github.com/BOINC/boinc.git
- client/scheduler:
If the file "client_opaque.txt" exists on the client, include its contents in scheduler request messages. On the scheduler, parse this into SCHEDULER_REQUEST::client_opaque, where it can be used by the customizable scheduler functions. svn path=/trunk/boinc/; revision=24586
This commit is contained in:
parent
40dbed0296
commit
2ac9fe8566
|
@ -8063,16 +8063,16 @@ David 3 Nov 2011
|
|||
wrapper.cpp
|
||||
|
||||
David 3 Nov 2011
|
||||
- client: show GPU exclusions at startup
|
||||
(need to do this after reading the state file,
|
||||
since GPU exclusions refer to projects).
|
||||
- client: fix bug that added garbage <coproc> element
|
||||
to <app_version> in state file when using GPU exclusions
|
||||
- client: show GPU exclusions at startup
|
||||
(need to do this after reading the state file,
|
||||
since GPU exclusions refer to projects).
|
||||
- client: fix bug that added garbage <coproc> element
|
||||
to <app_version> in state file when using GPU exclusions
|
||||
|
||||
client/
|
||||
client_types.cpp
|
||||
client_state.cpp
|
||||
log_flags.cpp
|
||||
client/
|
||||
client_types.cpp
|
||||
client_state.cpp
|
||||
log_flags.cpp
|
||||
|
||||
David 4 Nov 2011
|
||||
- client: fix work fetch bug.
|
||||
|
@ -8170,17 +8170,17 @@ David 5 Nov 2011
|
|||
cs_trickle.cpp
|
||||
|
||||
David 6 Nov 2011
|
||||
- client: actually do the checking described above
|
||||
- client: actually do the checking described above
|
||||
|
||||
client/
|
||||
cs_trickle.cpp
|
||||
client/
|
||||
cs_trickle.cpp
|
||||
|
||||
David 6 Nov 2011
|
||||
- client: don't crash if a project sends app_version.flops = 0.
|
||||
- client: don't crash if a project sends app_version.flops = 0.
|
||||
|
||||
client/
|
||||
client_types.cpp
|
||||
rr_sim.cpp
|
||||
client/
|
||||
client_types.cpp
|
||||
rr_sim.cpp
|
||||
|
||||
Charlie 7 Nov 2011
|
||||
- Mgr: Bug fix.
|
||||
|
@ -8189,16 +8189,16 @@ Charlie 7 Nov 2011
|
|||
BOINCGUIApp.cpp
|
||||
|
||||
David 7 Nov 2011
|
||||
- manager: apparently WxWidget's combo box has problems (bugs)
|
||||
if multiple items have the same string.
|
||||
So, in simple view task combo box:
|
||||
- show % done (unique in most cases)
|
||||
- remove version number
|
||||
- instead of showing plan class, show "NVIDIA GPU" or "ATI GPU"
|
||||
TODO: update the fraction done
|
||||
- manager: apparently WxWidget's combo box has problems (bugs)
|
||||
if multiple items have the same string.
|
||||
So, in simple view task combo box:
|
||||
- show % done (unique in most cases)
|
||||
- remove version number
|
||||
- instead of showing plan class, show "NVIDIA GPU" or "ATI GPU"
|
||||
TODO: update the fraction done
|
||||
|
||||
clientgui/
|
||||
sg_TaskPanel.cpp
|
||||
clientgui/
|
||||
sg_TaskPanel.cpp
|
||||
|
||||
David 7 Nov 2011
|
||||
- client: condition RR sim negative FLOPs message on rr_simulation.
|
||||
|
@ -8226,19 +8226,19 @@ Rom 7 Nov 2011
|
|||
workunit_waiting_image.png
|
||||
|
||||
David 7 Nov 2011
|
||||
- client: on transient upload failure, don't do start_xfer()
|
||||
within PERS_FILE_XFER::transient_failure();
|
||||
we're about to delete and free the FILE_XFER.
|
||||
The transfer will be restarted in the next poll.
|
||||
- client: on transient upload failure, don't do start_xfer()
|
||||
within PERS_FILE_XFER::transient_failure();
|
||||
we're about to delete and free the FILE_XFER.
|
||||
The transfer will be restarted in the next poll.
|
||||
|
||||
client/
|
||||
pers_file_xfer.cpp
|
||||
client/
|
||||
pers_file_xfer.cpp
|
||||
|
||||
Charlie 8 Nov 2011
|
||||
- Mgr: Fix Simple View layout to fit 3 decimal places for % done.
|
||||
|
||||
clientgui/
|
||||
sg_TaskPanel.cpp
|
||||
clientgui/
|
||||
sg_TaskPanel.cpp
|
||||
|
||||
Charlie 8 Nov 2011
|
||||
- Mac installer: fixes for OS 10.4 compatibility.
|
||||
|
@ -8277,8 +8277,8 @@ Charlie 9 Nov 2011
|
|||
Don't append % done to Task Selection control entries, as that
|
||||
varies over time, causing significant complications.
|
||||
|
||||
clientgui/
|
||||
sg_TaskPanel.cpp
|
||||
clientgui/
|
||||
sg_TaskPanel.cpp
|
||||
|
||||
Rom 9 Nov 2011
|
||||
- WINSCR: Add a reference to SCRAPPERR_BOINCNOGRAPHICSAPPSEXECUTING
|
||||
|
@ -8382,8 +8382,8 @@ Charlie 11 Nov 2011
|
|||
shortcut in checking for existing entries.
|
||||
- Mgr: If a slide show has only one slide, load it only once.
|
||||
|
||||
clientgui/
|
||||
sg_TaskPanel.cpp
|
||||
clientgui/
|
||||
sg_TaskPanel.cpp
|
||||
|
||||
David 11 Nov 2011
|
||||
- client: check return value of FILE_REF when parse project file.
|
||||
|
@ -8420,3 +8420,16 @@ Charlie 11 Nov 2011
|
|||
|
||||
mac_installer/
|
||||
PostInstall.cpp
|
||||
|
||||
David 13 Nov 2011
|
||||
- client/scheduler:
|
||||
If the file "client_opaque.txt" exists on the client,
|
||||
include its contents in scheduler request messages.
|
||||
On the scheduler, parse this into SCHEDULER_REQUEST::client_opaque,
|
||||
where it can be used by the customizable scheduler functions.
|
||||
|
||||
sched/
|
||||
sched_types.cpp,h
|
||||
client/
|
||||
file_names.h
|
||||
cs_scheduler.cpp
|
||||
|
|
|
@ -362,6 +362,12 @@ int CLIENT_STATE::make_scheduler_request(PROJECT* p) {
|
|||
}
|
||||
fprintf(f, "</in_progress_results>\n");
|
||||
}
|
||||
FILE* cof = boinc_fopen(CLIENT_OPAQUE_FILENAME, "r");
|
||||
if (cof) {
|
||||
fprintf(f, "<client_opaque>\n<![CDATA[\n");
|
||||
copy_stream(cof, f);
|
||||
fprintf(f, "\n]]>\n</client_opaque>\n");
|
||||
}
|
||||
|
||||
fprintf(f, "</scheduler_request>\n");
|
||||
|
||||
|
|
|
@ -62,6 +62,7 @@ extern void send_log_after(const char* filename, double t, MIOFILE& mf);
|
|||
#define CA_BUNDLE_FILENAME "ca-bundle.crt"
|
||||
#define CERTIFICATE_DIRECTORY "certificates"
|
||||
#define CLIENT_AUTH_FILENAME "client_auth.xml"
|
||||
#define CLIENT_OPAQUE_FILENAME "client_opaque.txt"
|
||||
#define CONFIG_FILE "cc_config.xml"
|
||||
#define CPU_BENCHMARKS_FILE_NAME "cpu_benchmarks"
|
||||
#define CREATE_ACCOUNT_FILENAME "create_account.xml"
|
||||
|
|
|
@ -25,6 +25,9 @@
|
|||
require_once("../inc/util.inc");
|
||||
require_once("../inc/sim_util.inc");
|
||||
|
||||
ini_set ("memory_limit", "1G");
|
||||
set_time_limit(0);
|
||||
|
||||
function get_comments($dir) {
|
||||
$d = "$dir/comments";
|
||||
if (!is_dir($d)) return null;
|
||||
|
|
|
@ -412,6 +412,7 @@ const char* SCHEDULER_REQUEST::parse(XML_PARSER& xp) {
|
|||
if (xp.parse_bool("client_cap_plan_class", client_cap_plan_class)) continue;
|
||||
if (xp.parse_int("sandbox", sandbox)) continue;
|
||||
if (xp.parse_int("allow_multiple_clients", allow_multiple_clients)) continue;
|
||||
if (xp.parse_string("client_opaque", client_opaque)) continue;
|
||||
|
||||
if (xp.match_tag("active_task_set")) continue;
|
||||
if (xp.match_tag("app")) continue;
|
||||
|
|
|
@ -328,6 +328,7 @@ struct SCHEDULER_REQUEST {
|
|||
// Don't modify user prefs or CPID
|
||||
int last_rpc_dayofyear;
|
||||
int current_rpc_dayofyear;
|
||||
std::string client_opaque;
|
||||
|
||||
SCHEDULER_REQUEST(){};
|
||||
~SCHEDULER_REQUEST(){};
|
||||
|
|
|
@ -67,6 +67,8 @@ struct REPORT_STATS : public EVENT {
|
|||
// a packet is associated with at most one host
|
||||
//
|
||||
struct PACKET {
|
||||
DFILE* dfile;
|
||||
META_PACKET* meta_packet;
|
||||
enum {DOWNLOADING, PRESENT, UPLOADING} state;
|
||||
HOST* host;
|
||||
bool present; // present on server
|
||||
|
@ -74,11 +76,38 @@ struct PACKET {
|
|||
// transfer has finished
|
||||
//
|
||||
}
|
||||
|
||||
void assign() {
|
||||
set<HOST*>::iterator i = dfile.unused_hosts.front();
|
||||
HOST* h = *i;
|
||||
dfile.unused_hosts.erase(i);
|
||||
double t = now + 1/h->bw_down;
|
||||
}
|
||||
|
||||
// This packet has been lost.
|
||||
// If it's present on server, assign it to a host.
|
||||
// Otherwise reassemble the meta-packet
|
||||
//
|
||||
void lost() {
|
||||
if (present_on_server) {
|
||||
assign();
|
||||
} else {
|
||||
meta_packet->reassemble();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
struct META_PACKET {
|
||||
vector<PACKET*> packets;
|
||||
int npackets_present;
|
||||
|
||||
// we need to reassemble this meta-packet on the server
|
||||
//
|
||||
void reassemble() {
|
||||
}
|
||||
|
||||
void reassembly_complete() {
|
||||
}
|
||||
};
|
||||
|
||||
struct DFILE : EVENT {
|
||||
|
|
Loading…
Reference in New Issue