Retrieving files

A persistent file can be retrieved from a specific host. This can be done using the function

get_file(int host_id, const char* file_name)

or the command line program (run in the project root dir)

get_file -host_id X -file_name Y

This program must be run in the project's root directory. get_file() creates a result with a name of the form:

get_FILENAME_HOSTID_TIME

Example: get_test.mpg_34_123456789 is a result representing the upload of test.mpg from host number 34 at time 1234567891.

An upload message is created for the specific host and added to the msg_to_host table in the database. This message instructs the client to upload the file and acknowledge a successful upload. The upload message included in the next RPC reply to the host. The message has the form:

<app>
    <name>FILE_MOVER</name>
</app>
<app_version>
    <app_name>FILE_MOVER</app_name>
    <version_num>BOINC_MAJOR_VERSION</version_num>
</app_version>
<file_info>
    <name>file_name</name>
    <url>upload_dir</url>
    <max_nbytes>1e10</max_nbytes>
    <upload_when_present/>
</file_info>
    RESULT_XML
<workunit>
    <name>result.name</name>
    <app_name>FILE_MOVER</app_name>
</workunit>

Include <msg_to_host/> in config.xml. Currently <ignore_upload_certificates/> needs to be included as there is no way to send upload certificates with these files.


If this page is incomplete or incorrect, please edit it or add it to the wiki to-do list. To do this, you must be logged in; click Login or Register above.