Changes between Version 8 and Version 9 of OptionsApi


Ignore:
Timestamp:
May 29, 2011, 8:49:36 PM (13 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OptionsApi

    v8 v9  
    1 = Options and status APIs =
    2 
    3 == Setting options ==
     1= Runtime system options =
    42
    53You can customize the behavior of the BOINC runtime system
     
    6058 '''multi_thread''':: Set this if your application uses multiple threads (e.g., OpenMP or pthreads).
    6159 '''multi_process''':: Set this if your application crease sub-processes (e.g., MPI).
    62 
    63 == Miscellaneous data ==
    64 
    65 The following functions return miscellaneous data:
    66 
    67 {{{
    68 #!c++
    69 int boinc_get_init_data_p(APP_INIT_DATA*);
    70 int boinc_get_init_data(APP_INIT_DATA&);
    71 
    72 struct APP_INIT_DATA {
    73     int major_version;
    74     int minor_version;
    75     int release;
    76     int app_version;
    77     char app_name[256];
    78     char symstore[256];
    79     char acct_mgr_url[256];
    80     char* project_preferences;
    81     int hostid;
    82     char user_name[256];
    83     char team_name[256];
    84     char project_dir[256];
    85     char boinc_dir[256];
    86     char wu_name[256];
    87     char authenticator[256];
    88     int slot;
    89     double user_total_credit;
    90     double user_expavg_credit;
    91     double host_total_credit;
    92     double host_expavg_credit;
    93     double resource_share_fraction;
    94     HOST_INFO host_info;
    95     PROXY_INFO proxy_info;  // in case app wants to use network
    96     GLOBAL_PREFS global_prefs;
    97     double starting_elapsed_time;
    98 
    99     // info about the WU
    100     double rsc_fpops_est;
    101     double rsc_fpops_bound;
    102     double rsc_memory_bound;
    103     double rsc_disk_bound;
    104 
    105     // the following are used for compound apps,
    106     // where each stage of the computation is a fixed
    107     // fraction of the total.
    108     double fraction_done_start;
    109     double fraction_done_end;
    110 };
    111 }}}
    112 
    113 to get the following information:
    114 
    115 ||'''core version'''||The version number of the core client||
    116 ||'''app_name'''||The application name (from the server's DB)||
    117 ||'''project_preferences'''||An XML string containing the user's project-specific preferences.||
    118 ||'''user_name'''||The user's 'screen name' on this project.||
    119 ||'''team_name'''||The user's team name, if any.||
    120 ||'''project_dir'''||Absolute path of project directory||
    121 ||'''boinc_dir'''||Absolute path of BOINC root directory||
    122 ||'''wu_name'''||Name of workunit being processed||
    123 ||'''authenticator'''||User's authenticator for this project||
    124 ||'''slot'''||The number of the app's 'slot'||
    125 ||'''user_total_credit'''||User's total work for this project.||
    126 ||'''user_expavg_credit'''||User's recent average work per day.||
    127 ||'''team_total_credit'''||Team's total work for this project.||
    128 ||'''team_expavg_credit'''||Team's recent average work per day.||
    129 ||'''host_info'''||A structure describing the host hardware and OS||
    130 ||'''starting_elapsed_time'''||Elapsed time, counting previous episodes (provided only by 6.10 and later clients)||
    131 
    132 == Getting the status of the runtime system ==
    133 
    134 The status of the runtime system is represented by the following structure:
    135 {{{
    136 typedef struct BOINC_STATUS {
    137     int no_heartbeat;
    138     int suspended;
    139     int quit_request;
    140     int reread_init_data_file;
    141     int abort_request;
    142     double working_set_size;
    143     double max_working_set_size;
    144     int network_suspended;
    145 } BOINC_STATUS;
    146 }}}
    147 
    148 You can get the current status using
    149 
    150 {{{
    151 void boinc_get_status(BOINC_STATUS*);
    152 }}}