The BOINC application library
BOINC supplies a library that can be optionally used for
application development.
This library includes the following:
- Communication with the core client.
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.
- Checkpoint/restart support.
Simple support for writing output into memory buffers,
then appending them to output files and
writing the checkpoint file (almost atomic).
- Using the api .
The application, if using the api, should call time_to_checkpoint()
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
to ensure data is saved. When the application has completed it
should call app_completed(), then exit.