RTI Persistence Service Version 7.3.0
RTI_PersistenceServiceProperty Struct Reference

Configuration of RTI Persistence Service. More...

Data Fields

char * cfg_file
 Path to RTI Persistence Service configuration file. More...
 
const char ** cfg_strings
 XML configuration represented as strings. More...
 
unsigned int cfg_strings_count
 Size of the array cfg_strings. More...
 
const char * cfg_name
 Configuration name. This parameter is required and it is used to find a <persistence_service> matching tag in the configuration file. More...
 
char * application_name
 Assigns a name to the execution of the RTI Persistence Service. More...
 
DDS_Boolean identify_execution
 Set this to true to append the host name and process ID to the RTI Persistence Service application name. More...
 
int domain_id
 DDS domain ID for the DomainParticipants created by the service. More...
 
DDS_Boolean enable_administration
 Set this to true to enable remote administration or false to disable it. More...
 
int administration_domain_id
 If enable_administration is true, this is the domain ID to use for remote administration. More...
 
int thread_stack_size
 RTI Persistence Service thread stack size, which controls the stack size for the main service thread. More...
 
char * info_dir
 The info directory of the running RTI Persistence Service. More...
 
int restore
 Indicates whether or not RTI Persistence Service must restore its state from the persistent storage. More...
 
int service_verbosity
 The verbosity of RTI Persistence Service. More...
 
int dds_verbosity
 The verbosity of RTI Connext Core Libraries. More...
 
char * license_file
 Path to RTI Persistence Service license file. More...
 
DDS_Boolean enable_database_locking
 Enable database locking. More...
 

Detailed Description

Configuration of RTI Persistence Service.

This structure must be initialized with RTI_PersistenceServiceProperty_INITIALIZER

Field Documentation

◆ cfg_file

char* RTI_PersistenceServiceProperty::cfg_file

Path to RTI Persistence Service configuration file.

If not NULL, this file is loaded; otherwise, if cfg_strings is not NULL, those XML strings are loaded.

[default] NULL.

◆ cfg_strings

const char** RTI_PersistenceServiceProperty::cfg_strings

XML configuration represented as strings.

An array of strings that altogether make up an XML document to configure RTI Persistence Service. This parameter is used only if cfg_file is NULL.

For example:

unsigned int MY_PERSISTENCE_SERVICE_CFG_SIZE = 2;
const char *MY_PERSISTENCE_SERVICE_CFG[MY_PERSISTENCE_SERVICE_CFG_SIZE] = {
"<dds><persistence_service> \
<participant name=\"defaultParticipant\"> \
<persistence_group name="\"groupName\">",
"... \
</dds>"};
property.cfg_strings = MY_PERSISTENCE_SERVICE_CFG;
property.cfg_strings_count = MY_PERSISTENCE_SERVICE_CFG_SIZE;

The reason for using an array instead of one single string is to get around the limited size of literal strings in C. In general, if you create the XML string dynamically using one single string in the array, setting cfg_strings_count to 1 is enough:

property.cfg_strings = malloc(sizeof(char *));
property.cfg_strings[0] = "<dds><routing_service>...</dds>";
property.cfg_strings_count = 1;

If your target system doesn't support a file system, you can configure the service using XML strings.

[default] NULL.

◆ cfg_strings_count

unsigned int RTI_PersistenceServiceProperty::cfg_strings_count

Size of the array cfg_strings.

[default] 0.

◆ cfg_name

const char* RTI_PersistenceServiceProperty::cfg_name

Configuration name. This parameter is required and it is used to find a <persistence_service> matching tag in the configuration file.

[default] NULL.

◆ application_name

char* RTI_PersistenceServiceProperty::application_name

Assigns a name to the execution of the RTI Persistence Service.

Remote commands will refer to the RTI Persistence Service using this name. In addition, the name of DomainParticipants created by RTI Persistence Service will be based on this name.

[default] The value of cfg_name if different than NULL. Otherwise, "RTI_Persistence_Service".

◆ identify_execution

DDS_Boolean RTI_PersistenceServiceProperty::identify_execution

Set this to true to append the host name and process ID to the RTI Persistence Service application name.

Used to get unique names for remote administration.

[default] DDS_BOOLEAN_FALSE

◆ domain_id

int RTI_PersistenceServiceProperty::domain_id

DDS domain ID for the DomainParticipants created by the service.

[default] -1 (Use the XML value)

◆ enable_administration

DDS_Boolean RTI_PersistenceServiceProperty::enable_administration

Set this to true to enable remote administration or false to disable it.

[default] DDS_BOOLEAN_FALSE

◆ administration_domain_id

int RTI_PersistenceServiceProperty::administration_domain_id

If enable_administration is true, this is the domain ID to use for remote administration.

Takes precedence over the XML configuration. If enable_administration is false, this value is not used even if remote administration is enabled in the XML configuration.

[default] 0

◆ thread_stack_size

int RTI_PersistenceServiceProperty::thread_stack_size

RTI Persistence Service thread stack size, which controls the stack size for the main service thread.

[default] RTI_OSAPI_THREAD_STACK_SIZE_DEFAULT

◆ info_dir

char* RTI_PersistenceServiceProperty::info_dir

The info directory of the running RTI Persistence Service.

The service writes a ps.pid file into this directory when it is started. When the service finalizes the file is deleted.

The ps.pid file is used to check if the last execution of RTI Persistence Service finished gracefully or there were errors.

[default] NULL (the file ps.pid will not be used)

◆ restore

int RTI_PersistenceServiceProperty::restore

Indicates whether or not RTI Persistence Service must restore its state from the persistent storage.

  • Set to 0 to not restore the state
  • Set to 1 to restore the state
  • Set to -1 to use the XML value for restore

[default] -1 Use the XML value

◆ service_verbosity

int RTI_PersistenceServiceProperty::service_verbosity

◆ dds_verbosity

int RTI_PersistenceServiceProperty::dds_verbosity

◆ license_file

char* RTI_PersistenceServiceProperty::license_file

Path to RTI Persistence Service license file.

If not NULL, this file is checked for a valid license; otherwise, default location will be used. This parameter is only used if your installation requires a license file.

[default] NULL.

◆ enable_database_locking

DDS_Boolean RTI_PersistenceServiceProperty::enable_database_locking

Enable database locking.

RTI Persistence Service will lock the database by creating an entry in a specific table in the database.

This entry is to avoid multiple instances of RTI Persistence Service accessing the same database at the same time.

[default] DDS_BOOLEAN_TRUE