mirror of https://github.com/BOINC/boinc.git
*** empty log message ***
svn path=/trunk/boinc/; revision=4067
This commit is contained in:
parent
5ddff8f6b8
commit
89b723e2d1
|
@ -16405,3 +16405,17 @@ David 14 Aug 2004
|
|||
net_xfer.C
|
||||
lib/
|
||||
util.C,h
|
||||
|
||||
David 14 Aug 2004
|
||||
- changed "engine" to "type" in schema SQL
|
||||
|
||||
db/
|
||||
schema.sql
|
||||
|
||||
David 14 Aug 2004
|
||||
- compile fixes and more commenting-out of disk mgt code
|
||||
|
||||
sched/
|
||||
delete_file.C
|
||||
sched_send.C
|
||||
server_types.C,h
|
||||
|
|
|
@ -24,12 +24,15 @@
|
|||
#ifdef _WIN32
|
||||
#include "boinc_win.h"
|
||||
#else
|
||||
#if HAVE_SYS_IPC_H
|
||||
#include <sys/ipc.h>
|
||||
#if HAVE_SYS_TIME_H
|
||||
#include <sys/time.h>
|
||||
#endif
|
||||
#if HAVE_SYS_RESOURCE_H
|
||||
#include <sys/resource.h>
|
||||
#endif
|
||||
#if HAVE_SYS_IPC_H
|
||||
#include <sys/ipc.h>
|
||||
#endif
|
||||
#if HAVE_SYS_WAIT_H
|
||||
#include <sys/wait.h>
|
||||
#endif
|
||||
|
|
|
@ -991,7 +991,7 @@ int DB_SCHED_RESULT_ITEM_SET::update_workunits() {
|
|||
|
||||
sprintf(query,
|
||||
"UPDATE workunit SET transition_time=%d WHERE id in (",
|
||||
time(0)
|
||||
(int)time(0)
|
||||
);
|
||||
for (i=0; i<results.size(); i++) {
|
||||
if (i>0) strcat(query, ",");
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
/* Fields are documented in boinc_db.h */
|
||||
/* Do not replace this with an automatically generated schema */
|
||||
|
||||
/* engine is specified as InnoDB for most tables.
|
||||
/* type is specified as InnoDB for most tables.
|
||||
Supposedly this gives better performance.
|
||||
The others (post, thread, profile) are myISAM
|
||||
because it supports fulltext index
|
||||
|
@ -24,7 +24,7 @@ create table platform (
|
|||
user_friendly_name varchar(254) not null,
|
||||
deprecated integer not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table core_version (
|
||||
id integer not null auto_increment,
|
||||
|
@ -35,7 +35,7 @@ create table core_version (
|
|||
message varchar(254),
|
||||
deprecated smallint not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table app (
|
||||
id integer not null auto_increment,
|
||||
|
@ -45,7 +45,7 @@ create table app (
|
|||
deprecated integer not null,
|
||||
user_friendly_name varchar(254) not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table app_version (
|
||||
id integer not null auto_increment,
|
||||
|
@ -58,7 +58,7 @@ create table app_version (
|
|||
max_core_version integer not null,
|
||||
deprecated integer not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table user (
|
||||
id integer not null auto_increment,
|
||||
|
@ -87,7 +87,7 @@ create table user (
|
|||
has_profile smallint not null,
|
||||
cross_project_id varchar(254) not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table team (
|
||||
id integer not null auto_increment,
|
||||
|
@ -106,7 +106,7 @@ create table team (
|
|||
expavg_time double not null,
|
||||
seti_id integer not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table host (
|
||||
id integer not null auto_increment,
|
||||
|
@ -157,7 +157,7 @@ create table host (
|
|||
nresults_today integer not null,
|
||||
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
/*
|
||||
* Only information needed by the server or other backend components
|
||||
|
@ -193,7 +193,7 @@ create table workunit (
|
|||
max_success_results integer not null,
|
||||
result_template_file varchar(63) not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table result (
|
||||
id integer not null auto_increment,
|
||||
|
@ -224,7 +224,7 @@ create table result (
|
|||
exit_status integer not null,
|
||||
teamid integer not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table msg_from_host (
|
||||
id integer not null auto_increment,
|
||||
|
@ -234,7 +234,7 @@ create table msg_from_host (
|
|||
handled smallint not null,
|
||||
xml text,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table msg_to_host (
|
||||
id integer not null auto_increment,
|
||||
|
@ -244,7 +244,7 @@ create table msg_to_host (
|
|||
handled smallint not null,
|
||||
xml text,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
create table workseq (
|
||||
id integer not null auto_increment,
|
||||
|
@ -255,7 +255,7 @@ create table workseq (
|
|||
wuid_last_sent integer not null,
|
||||
workseqid_master integer not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
-- EVERYTHING FROM HERE ON IS USED ONLY FROM PHP,
|
||||
-- SO NOT IN BOINC_DB.H ETC.
|
||||
|
@ -267,7 +267,7 @@ create table lang (
|
|||
name varchar(254) not null,
|
||||
charset varchar(254) not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
|
||||
-- user profile (description, pictures)
|
||||
|
@ -298,7 +298,7 @@ create table category (
|
|||
name varchar(254) binary,
|
||||
is_helpdesk smallint not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
-- message board topic
|
||||
--
|
||||
|
@ -313,7 +313,7 @@ create table forum (
|
|||
threads integer not null,
|
||||
posts integer not null,
|
||||
primary key (id)
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
||||
-- threads in a topic (or questions)
|
||||
--
|
||||
|
@ -362,4 +362,4 @@ create table post (
|
|||
create table subscriptions (
|
||||
userid integer not null,
|
||||
threadid integer not null
|
||||
) engine=InnoDB;
|
||||
) type=InnoDB;
|
||||
|
|
|
@ -3,7 +3,9 @@ require_once("docutil.php");
|
|||
page_head("The BOINC application programming interface (API)");
|
||||
echo "
|
||||
<p>
|
||||
The BOINC API is a set of C functions.
|
||||
The BOINC API is a set of C++ functions.
|
||||
Most of the functions have a C interface,
|
||||
so that they can be used from programs written in C and other languages.
|
||||
Unless otherwise specified,
|
||||
the functions return an integer error code; zero indicates success.
|
||||
<p>
|
||||
|
|
|
@ -11,10 +11,9 @@ and one or more <b>worker programs</b>.
|
|||
The main program executes the worker programs in sequence,
|
||||
and maintains a 'main state file' that records
|
||||
which worker programs have completed.
|
||||
The main program assigns to each worker application
|
||||
The main program assigns to each worker program
|
||||
a subrange of the overall 'fraction done' range of 0..1.
|
||||
For example, if there are two subsidiary applications
|
||||
with equal runtime,
|
||||
For example, if there are two worker programs with equal runtime,
|
||||
the first would have range 0 to 0.5 and the second
|
||||
would have range 0.5 to 1.
|
||||
|
||||
|
@ -22,11 +21,9 @@ would have range 0.5 to 1.
|
|||
<p>
|
||||
The BOINC API provides a number of functions,
|
||||
and in developing a compound application you must decide
|
||||
whether these functions are to be performed by
|
||||
the main or worker program.
|
||||
whether these functions are to be performed by the main or worker program.
|
||||
The functions are represented by flags in the BOINC_OPTIONS structure.
|
||||
Each flag must be set in either the main or worker programs,
|
||||
but not both.
|
||||
Each flag must be set in either the main or worker programs, but not both.
|
||||
|
||||
<pre>
|
||||
struct BOINC_OPTIONS {
|
||||
|
@ -85,7 +82,7 @@ options.main_program = true;
|
|||
...
|
||||
boinc_init_options(options)
|
||||
read main state file
|
||||
for each remaining subsidiary application:
|
||||
for each remaining worker program:
|
||||
aid.fraction_done_start = x
|
||||
aid.fraction_done_end = y
|
||||
boinc_write_init_data_file()
|
||||
|
@ -118,7 +115,7 @@ boinc_finish(); // this writes final CPU time to app_init.xml file
|
|||
|
||||
<p>
|
||||
If the graphics is handled in a program that runs concurrently with
|
||||
the worker applications, it must also call
|
||||
the worker programs, it must also call
|
||||
<code>boinc_init_options()</code>, typically with all options false,
|
||||
then <code>boinc_init_graphics()</code>,
|
||||
and eventually <code>boinc_finish()</code>.
|
||||
|
|
|
@ -10,8 +10,8 @@ This data can be imported and used to produce
|
|||
web sites that show statistics and leaderboards
|
||||
for one or more BOINC projects.
|
||||
Examples of such sites are listed at
|
||||
<a href=http://setiweb.ssl.berkeley.edu/ap/stats.php>
|
||||
http://setiweb.ssl.berkeley.edu/ap/stats.php</a>.
|
||||
<a href=http://setiweb.ssl.berkeley.edu/sah/stats.php>
|
||||
http://setiweb.ssl.berkeley.edu/sah/stats.php</a>.
|
||||
|
||||
<p>
|
||||
Statistics data is exported in XML-format files.
|
||||
|
|
|
@ -27,11 +27,12 @@
|
|||
// Create a msg_to_host_that requests that the host delete the
|
||||
// given file from the client
|
||||
|
||||
#include <ctime>
|
||||
#if HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#endif
|
||||
|
||||
#include "boinc_db.h"
|
||||
#include "sched_config.h"
|
||||
|
|
|
@ -763,14 +763,17 @@ int send_work(
|
|||
wreq.infeasible_only = false;
|
||||
scan_work_array(wreq, sreq, reply, platform, ss);
|
||||
|
||||
if(wreq.nresults == 0) {
|
||||
#if 0
|
||||
// huh???
|
||||
if (wreq.nresults == 0) {
|
||||
wreq.disk_available = sreq.potentially_free_offender;
|
||||
scan_work_array(wreq, sreq, reply, platform, ss);
|
||||
}
|
||||
if(wreq.nresults == 0 && config.delete_from_self) {
|
||||
if (wreq.nresults == 0 && config.delete_from_self) {
|
||||
wreq.disk_available = sreq.potentially_free_self;
|
||||
scan_work_array(wreq, sreq, reply, platform, ss);
|
||||
}
|
||||
#endif
|
||||
|
||||
log_messages.printf(
|
||||
SCHED_MSG_LOG::NORMAL, "[HOST#%d] Sent %d results\n",
|
||||
|
|
|
@ -100,9 +100,11 @@ int SCHEDULER_REQUEST::parse(FILE* fin) {
|
|||
else if (parse_double(buf, "<project_disk_usage>", project_disk_usage)) continue;
|
||||
else if (parse_double(buf, "<total_disk_usage>", total_disk_usage)) continue;
|
||||
|
||||
#if 0
|
||||
else if (parse_double(buf, "<project_disk_free>", project_disk_free)) continue;
|
||||
else if (parse_double(buf, "<potentially_free_offender>", potentially_free_offender)) continue;
|
||||
else if (parse_double(buf, "<potentially_free_self>", potentially_free_self)) continue;
|
||||
#endif
|
||||
else if (parse_str(buf, "<host_venue>", host_venue, sizeof(host_venue))) continue;
|
||||
else if (match_tag(buf, "<global_preferences>")) {
|
||||
strcpy(global_prefs_xml, "<global_preferences>\n");
|
||||
|
@ -277,10 +279,8 @@ int SCHEDULER_REPLY::write(FILE* fout) {
|
|||
}
|
||||
|
||||
#if 0
|
||||
// send project deletion policy
|
||||
//
|
||||
if(deletion_policy_priority) fprintf(fout, "<deletion_policy_priority/>\n");
|
||||
if(deletion_policy_expire) fprintf(fout, "<deletion_policy_expire/>\n");
|
||||
if (deletion_policy_priority) fprintf(fout, "<deletion_policy_priority/>\n");
|
||||
if (deletion_policy_expire) fprintf(fout, "<deletion_policy_expire/>\n");
|
||||
#endif
|
||||
|
||||
// acknowledge results
|
||||
|
|
|
@ -75,9 +75,11 @@ struct SCHEDULER_REQUEST {
|
|||
double total_disk_usage;
|
||||
double project_disk_usage;
|
||||
|
||||
#if 0
|
||||
double project_disk_free;
|
||||
double potentially_free_offender;
|
||||
double potentially_free_self;
|
||||
#endif
|
||||
|
||||
bool anonymous_platform;
|
||||
vector<CLIENT_APP_VERSION> client_app_versions;
|
||||
|
|
Loading…
Reference in New Issue