2002-04-30 22:22:54 +00:00
|
|
|
<h2>The BOINC application library</h2>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
BOINC supplies a library that can be optionally used for
|
|
|
|
application development.
|
|
|
|
This library includes the following:
|
|
|
|
<ul>
|
|
|
|
<li> <b>Communication with the core client</b>.
|
|
|
|
Functions for parsing an initialization file
|
|
|
|
containing the checkpoint period.
|
|
|
|
Functions for checking for trigger files saying
|
|
|
|
when to exit, when to suspend computation,
|
|
|
|
and when to generate graphics.
|
|
|
|
Functions for writing files to report percentage done,
|
|
|
|
and to report errors.
|
|
|
|
<li> <b>Checkpoint/restart support</b>.
|
|
|
|
Simple support for writing output into memory buffers,
|
|
|
|
then appending them to output files and
|
|
|
|
writing the checkpoint file (almost atomic).
|
2002-06-21 18:31:32 +00:00
|
|
|
<li> <b>Using the api </b>.
|
2002-07-03 20:50:34 +00:00
|
|
|
The application, if using the api, should call time_to_checkpoint()
|
2002-06-21 18:31:32 +00:00
|
|
|
inside of the innermost loop, and, if time_to_checkpoint()
|
|
|
|
returns true, the client should run a checkpoint, then call
|
|
|
|
checkpoint_completed(). This will ensure proper cpu time
|
|
|
|
accounting and write trigger files for the core client. All
|
|
|
|
input and output should be written through MFILEs, using the
|
|
|
|
associated i/o functions and flushing MFILEs at each checkpoint
|
2002-07-03 20:50:34 +00:00
|
|
|
to ensure data is saved. When the application has completed it
|
|
|
|
should call app_completed(), then exit.
|
2002-04-30 22:22:54 +00:00
|
|
|
</ul>
|