PK_SESSION_receive   


PK_ERROR_code_t    PK_SESSION_receive
(
--- received arguments ---
const char                    *key,         --- key string
const PK_SESSION_receive_o_t  *options     --- receive options
)


This function receives a session from the give 'file' key.


Specific Errors:
    PK_ERROR_bad_key               Frustrum (FFOPRD) returned FR_bad_name
    PK_ERROR_key_not_found         Frustrum (FFOPRD) returned FR_not_found
    PK_ERROR_cant_open_file        Frustrum (FFOPRD) returned FR_open_fail
    PK_ERROR_file_access_error     Error reading or closing the transmit file
    PK_ERROR_schema_access_error   Error opening, closing, or reading the
                                      schema file
    PK_ERROR_schema_corrupt        Contents of schema file not as expected
    PK_ERROR_schema_incompatible   Schema contents in newer format
    PK_ERROR_wrong_format          File does not have expected transmit format
    PK_ERROR_wrong_version         File transmitted by incompatible version
                                      of modeller
    PK_ERROR_corrupt_file          Invalid transmit file contents
    PK_ERROR_file_read_corruption  Corrupt data read, perhaps an NFS problem
    PK_ERROR_applio_not_registered Application i/o functions not registered
                                     (only relevant if options->transmit_format
                                      is PK_transmit_format_applio)
    PK_ERROR_usfd_mismatch         File has incompatible user-field size
    PK_ERROR_FG_receive_failure    Part contains irretrievable foreign
                                      geometry


The key is passed to the frustrum to identify the 'file' used to receive the
session from.

The frustrum routine FFOPRD is called with guise FFCSNP ('snapshot' file
containing a session).

The transmit format option affects the format argument to FFOPRD as follows:

    transmit format                format

    PK_transmit_format_text_c      FFTEXT
    PK_transmit_format_binary_c    FFBNRY
    PK_transmit_format_neutral_c   FFBNRY
    PK_transmit_format_applio_c   (registered function is called, not FFOPRD -
                                   see PK_SESSION_register_applio)

After the receive, all the partitions in the session will have only an initial
pmark. The state of the bulletin board, attribute definitions and interface
and modelling parameters will be as saved in the file. There will be no
session marks, so it is impossible to roll back to before a successful call
to PK_SESSION_receive.

If the function fails, it will be possible to roll back, except in the case of
PK_ERROR_FG_receive_failure.

Received entities will have the same tags as when the session was transmitted.

Snapshot files can only be received by the same version of the modeller that
transmitted them.

Generated on: Fri, 15 Dec 2023 13:18:29 GMT