Sparksee  6.0.2
STSSparkseeConfig Class Reference

Sparksee configuration class. More...

Inheritance diagram for STSSparkseeConfig:
Inheritance graph
Collaboration diagram for STSSparkseeConfig:
Collaboration graph

Instance Methods

(id) - init
 Creates a new instance. More...
 
(id) - initWithPath:
 Creates a new instance with a specific config file. More...
 
(id) - initWithPath:clientId:licenseId:
 Creates a new instance with a specific config file and IDs. More...
 
(int) - getExtentSize
 Gets the size of a extent. More...
 
(void) - setExtentSize:
 Sets the size of the extents in KB. More...
 
(int) - getExtentPages
 Gets the number of pages per extent. More...
 
(void) - setExtentPages:
 Sets the number of pages per extent. More...
 
(int) - getPoolFrameSize
 Gets the size of a pool frame in number of extents. More...
 
(void) - setPoolFrameSize:
 Sets the size of a pool frame in number of extents. More...
 
(int) - getPoolPersistentMinSize
 Gets the minimum size for the persistent pool in number of frames. More...
 
(void) - setPoolPersistentMinSize:
 Sets the minimum size for the persistent pool in number of frames. More...
 
(int) - getPoolPersistentMaxSize
 Gets the maximum size for the persistent pool in number of frames. More...
 
(void) - setPoolPersistentMaxSize:
 Sets the maximum size for the persistent pool in number of frames. More...
 
(int) - getPoolTemporaryMinSize
 Gets the minimum size for the temporary pool in number of frames. More...
 
(void) - setPoolTemporaryMinSize:
 Sets the minimum size for the temporary pool in number of frames. More...
 
(int) - getPoolTemporaryMaxSize
 Gets the maximum size for the temporary pool in number of frames. More...
 
(void) - setPoolTemporaryMaxSize:
 Sets the maximum size for the temporary pool in number of frames. More...
 
(int) - getPoolPartitions
 Gets the number of partitions in each PartitionedPool. More...
 
(void) - setPoolPartitions:
 Sets the number of pools in each PartitionedPool. More...
 
(int) - getCacheMaxSize
 Gets the maximum size for the cache (all pools) in MB. More...
 
(void) - setCacheMaxSize:
 Sets the maximum size for the cache (all pools) in MB. More...
 
(NSString *) - getLicense
 Gets the license key. More...
 
(int) - setLicense:
 Sets the license key. More...
 
(NSString *) - getLogFile
 Gets the log file. More...
 
(void) - setLogFile:
 Sets the log file. More...
 
(enum STSLogLevel) - getLogLevel
 Gets the log level. More...
 
(void) - setLogLevel:
 Sets the log level. More...
 
(BOOL) - getCacheStatisticsEnabled
 Gets whether cache statistics are enabled or disabled. More...
 
(void) - setCacheStatisticsEnabled:
 Enables or disables cache statistics. More...
 
(NSString *) - getCacheStatisticsFile
 Gets the cache statistics log file. More...
 
(void) - setCacheStatisticsFile:
 Sets the cache statistics log file. More...
 
(long long) - getCacheStatisticsSnapshotTime
 Gets the cache statistics snapshot time in microseconds. More...
 
(void) - setCacheStatisticsSnapshotTime:
 Sets the cache statistics snapshot time. More...
 
(BOOL) - getRollbackEnabled
 Gets whether the rollback is enabled or disabled. More...
 
(void) - setRollbackEnabled:
 Enables or disables the rollback. More...
 
(BOOL) - getRecoveryEnabled
 Gets whether the recovery is enabled or disabled. More...
 
(void) - setRecoveryEnabled:
 Enables or disables the recovery. More...
 
(NSString *) - getRecoveryLogFile
 Gets the recovery log file. More...
 
(void) - setRecoveryLogFile:
 Sets the recovery log file. More...
 
(int) - getRecoveryCacheMaxSize
 Gets the maximum size for the recovery log cache in extents. More...
 
(void) - setRecoveryCacheMaxSize:
 Sets the maximum size for the recovery log cache in extents. More...
 
(long long) - getRecoveryCheckpointTime
 Gets the delay time (in microseconds) between automatic checkpoints. More...
 
(void) - setRecoveryCheckpointTime:
 Sets the delay time (in microseconds) between automatic checkpoints. More...
 
(BOOL) - getChecksumEnabled
 Gets whether the storage checksum usage is enabled or disabled. More...
 
(void) - setChecksumEnabled:
 Enables or disables the storage checksum usage. More...
 
(BOOL) - getHighAvailabilityEnabled
 Gets whether high availability mode is enabled or disabled. More...
 
(void) - setHighAvailabilityEnabled:
 Enables or disables high availability mode. More...
 
(NSString *) - getHighAvailabilityIP
 Gets the IP address and port of the instance. More...
 
(void) - setHighAvailabilityIP:
 Sets the IP address and port of the instance. More...
 
(NSString *) - getHighAvailabilityCoordinators
 Gets the coordinators address and port list. More...
 
(void) - setHighAvailabilityCoordinators:
 Sets the coordinators address and port list. More...
 
(long long) - getHighAvailabilitySynchronization
 Gets the synchronization polling time. More...
 
(void) - setHighAvailabilitySynchronization:
 Sets the synchronization polling time. More...
 
(long long) - getHighAvailabilityMasterHistory
 Gets the master's history log. More...
 
(void) - setHighAvailabilityMasterHistory:
 Sets the master's history log. More...
 
(BOOL) - getCallStackDump
 Gets whether the signals will be captured to dump the call stack or not. More...
 
(void) - setCallStackDump:
 Sets whether the signals will be captured to dump the call stack or not. More...
 
(NSString *) - getClientId
 Gets the client identifier. More...
 
(void) - setClientId:
 Set the client identifier. More...
 
(NSString *) - getLicenseId
 Gets the license identifier. More...
 
(void) - setLicenseId:
 Set the license identifier. More...
 
(int) - getLicensePreDownloadDays
 Get the number of days before expiration when a new license will be downloaded. More...
 
(void) - setLicensePreDownloadDays:
 Start trying to automatically download a new license at the specified number of days before expiration. More...
 
(int) - downloadLicense
 Try to download a license key Can be used to explicitly download a license when the autodownload is disabled (LicensePreDownloadDays == -1). More...
 
(NSString *) - getDownloadStatus
 Gets a message with the license download result. More...
 
(BOOL) - downloadExpected
 Check if a new license will be automatically downloaded with the current settings.
 
(NSString *) - getLicenseRequest
 Get information useful to manually request a license.
 
(NSString *) - getTmpFolder
 Gets the temporary folder used for temporary staging. More...
 
(void) - setTmpFolder:
 Sets the temporary folder used for temporary staging. More...
 
(BOOL) - getTmpEnabled
 Gets whether using temporary storage for computations is enabled. More...
 
(void) - setTmpEnabled:
 Sets whether to use temporary storage for computations or not. More...
 
(long long) - getInMemAllocSize
 Gets the in-memory allocator size. More...
 
(void) - setInMemAllocSize:
 Sets the in-memory allocator size. More...
 
(BOOL) - save
 Save the current configuration in the specified config file. More...
 
(BOOL) - saveAll
 Save all the current configuration settings in the specified config file. More...
 
(BOOL) - getEncryptionEnabled
 Gets whether the storage encryption is enabled or disabled. More...
 
(BOOL) - setAESEncryptionEnabled:ivInHex:
 Enables storage encryption using AES with the given key and iv. More...
 
(NSString *) - getAESKey
 Get the AES encryption key in a hexadecimal encoded string. More...
 
(NSString *) - getAESIV
 Get the AES initialization vector in a hexadecimal encoded string. More...
 
(void) - setEncryptionDisabled
 Disables storage encryption.
 
(void) - setSparkseeConfigFile:
 Sets the config file path. More...
 
(NSString *) - getSparkseeConfigFile
 Gets the config file path. More...
 

Detailed Description

Sparksee configuration class.

If not specified, 0 means unlimited which is the maximum available. For the pools that's the total cache size. For the cache unlimited means nearly all the physical memory of the computer.

For each field, there is a default value. This value can be overrided with values from a properties file (see SparkseeProperties class). Also, this settings can be overrided calling a specific setter.

For each field, it is shown its default value and the property to override this value:

Extent size: 4KB ('sparksee.storage.extentsize' at SparkseeProperties).

Pages per extent: 1 page ('sparksee.storage.extentpages' at SparkseeProperties).

Checksums enabled: true ('sparksee.storage.checksum' at SparkseeProperties).

Pool frame size: 1 extent ('sparksee.io.pool.frame.size' at SparkseeProperties).

Minimum size for the persistent pool: 64 frames ('sparksee.io.pool.persistent.minsize' at SparkseeProperties).

Maximum size for the persistent pool: 0 frames ('sparksee.io.pool.persistent.maxsize' at SparkseeProperties).

Minimum size for the temporary pool: 16 frames ('sparksee.io.pool.temporal.minsize' at SparkseeProperties).

Maximum size for the temporary pool: 0 frames ('sparksee.io.pool.temporal.maxsize' at SparkseeProperties).

Number of pools in the pool cluster: 0 pools ('sparksee.io.pool.clustersize' at SparkseeProperties). 0 or 1 means the clustering is disabled.

Maximum size for the cache (all pools): 0 MB ('sparksee.io.cache.maxsize' at SparkseeProperties).

License code: "" ('sparksee.license' at SparkseeProperties). No license code means evaluation license.

Log level: Info ('sparksee.log.level' at SparkseeProperties).

Log file: "sparksee.log" ('sparksee.log.file' at SparkseeProperties).

Cache statistics: false (disabled) ('sparksee.cache.statistics' at SparkseeProperties).

Cache statistics log file: "statistics.log" ('sparksee.cache.statisticsFile' at SparkseeProperties).

Cache statistics snapshot time: 1000 msecs [TimeUnit] ('sparksee.cache.statisticsSnapshotTime' at SparkseeProperties).

Recovery enabled: false ('sparksee.io.recovery' at SparkseeProperties).

Recovery log file: "" ('sparksee.io.recovery.logfile' at SparkseeProperties).

Recovery cache max size: 1MB ('sparksee.io.recovery.cachesize' at SparkseeProperties).

Recovery checkpoint time: 60 seconds [TimeUnit] ('sparksee.io.recovery.checkpointTime' at SparkseeProperties).

High-availability: false (disabled) ('sparksee.ha' at SparkseeProperties).

High-availability coordinators: "" ('sparksee.ha.coordinators' at SparkseeProperties).

High-availability IP: "" ('sparksee.ha.ip' at SparkseeProperties).

High-availability sync polling: 0 (disabled) [TimeUnit] ('sparksee.ha.sync' at SparkseeProperties).

High-availability master history: 1D (1 day) [TimeUnit] ('sparksee.ha.master.history' at SparkseeProperties).

Use of TimeUnit:

Those variables using TimeUnit allow for:

<X>[D|H|M|S|s|m|u]

where <X> is a number followed by an optional character which represents the unit: D for days, H for hours, M for minutes, S or s for seconds, m for milliseconds and u for microseconds. If no unit character is given, seconds are assumed.

Capture abort signals to dump the call stack ('sparksee.callstackdump' at SparkseeProperties) is enabled by default on most platforms.

Author
Sparsity Technologies http://www.sparsity-technologies.com

Method Documentation

- (int) downloadLicense

Try to download a license key Can be used to explicitly download a license when the autodownload is disabled (LicensePreDownloadDays == -1).

Returns
Returns -1 if a valid license key couldn't be downloaded, 0 if the same license was downloaded or 1 if a different license is downloaded.
- (NSString*) getAESIV

Get the AES initialization vector in a hexadecimal encoded string.

Returns
The AES initialization vector as an hexadecimal string.
- (NSString*) getAESKey

Get the AES encryption key in a hexadecimal encoded string.

Returns
The AES encryption Key as an hexadecimal string.
- (int) getCacheMaxSize

Gets the maximum size for the cache (all pools) in MB.

Returns
The maximum size for the cache (all pools) in MB.
- (BOOL) getCacheStatisticsEnabled

Gets whether cache statistics are enabled or disabled.

Returns
TRUE if cache statistics are enabled, FALSE otherwise.
- (NSString*) getCacheStatisticsFile

Gets the cache statistics log file.

Useless if cache statistics are disabled.

Returns
The cache statistics log file.
- (long long) getCacheStatisticsSnapshotTime

Gets the cache statistics snapshot time in microseconds.

Useless if cache statistics are disabled.

Returns
The cache statistics snapshot time in microseconds.
- (BOOL) getCallStackDump

Gets whether the signals will be captured to dump the call stack or not.

Returns
TRUE if the signals must be captured, FALSE otherwise.
- (BOOL) getChecksumEnabled

Gets whether the storage checksum usage is enabled or disabled.

Returns
TRUE if the checksum is enabled, FALSE otherwise.
- (NSString*) getClientId

Gets the client identifier.

Returns
The client identifier.
- (NSString*) getDownloadStatus

Gets a message with the license download result.

It can be used when the DownloadLicense call failed.

Returns
The log download result.
- (BOOL) getEncryptionEnabled

Gets whether the storage encryption is enabled or disabled.

Returns
TRUE if the encryption is enabled, FALSE otherwise.
- (int) getExtentPages

Gets the number of pages per extent.

Returns
The number of pages per extent.
- (int) getExtentSize

Gets the size of a extent.

Returns
The size of a extent in KB.
- (NSString*) getHighAvailabilityCoordinators

Gets the coordinators address and port list.

Returns
The coordinators address and port list.
- (BOOL) getHighAvailabilityEnabled

Gets whether high availability mode is enabled or disabled.

Returns
TRUE if high availability mode is enabled, FALSE otherwise.
- (NSString*) getHighAvailabilityIP

Gets the IP address and port of the instance.

Returns
The IP address and port of the instance.
- (long long) getHighAvailabilityMasterHistory

Gets the master's history log.

Returns
The master's history log.
- (long long) getHighAvailabilitySynchronization

Gets the synchronization polling time.

Returns
The Synchronization polling time.
- (long long) getInMemAllocSize

Gets the in-memory allocator size.

Returns
Returns the in-memory allocator size
- (NSString*) getLicense

Gets the license key.

Returns
The license key.
- (NSString*) getLicenseId

Gets the license identifier.

Returns
The license identifier.
- (int) getLicensePreDownloadDays

Get the number of days before expiration when a new license will be downloaded.

Returns
Returns the number of days or -1 if it will never be automatically downloaded.
- (NSString*) getLogFile

Gets the log file.

Returns
The log file.
- (enum STSLogLevel) getLogLevel

Gets the log level.

Returns
The LogLevel.
- (int) getPoolFrameSize

Gets the size of a pool frame in number of extents.

Returns
The size of a pool frame in number of extents.
- (int) getPoolPartitions

Gets the number of partitions in each PartitionedPool.

Returns
The number of partitions in each PartitionedPool.
- (int) getPoolPersistentMaxSize

Gets the maximum size for the persistent pool in number of frames.

Returns
The maximum size for the persistent pool in number of frames.
- (int) getPoolPersistentMinSize

Gets the minimum size for the persistent pool in number of frames.

Returns
The minimum size for the persistent pool in number of frames.
- (int) getPoolTemporaryMaxSize

Gets the maximum size for the temporary pool in number of frames.

Returns
The maximum size for the temporary pool in number of frames.
- (int) getPoolTemporaryMinSize

Gets the minimum size for the temporary pool in number of frames.

Returns
The minimum size for the temporary pool in number of frames.
- (int) getRecoveryCacheMaxSize

Gets the maximum size for the recovery log cache in extents.

Returns
The maximum size for the recovery log cache in extents.
- (long long) getRecoveryCheckpointTime

Gets the delay time (in microseconds) between automatic checkpoints.

Returns
The delay time (in microseconds) between automatic checkpoints.
- (BOOL) getRecoveryEnabled

Gets whether the recovery is enabled or disabled.

Returns
TRUE if the recovery is enabled, FALSE otherwise.
- (NSString*) getRecoveryLogFile

Gets the recovery log file.

Returns
The recovery log file.
- (BOOL) getRollbackEnabled

Gets whether the rollback is enabled or disabled.

Returns
TRUE if the rollback is enabled, FALSE otherwise.
- (NSString*) getSparkseeConfigFile

Gets the config file path.

Returns
Returns the configured path or an empty string
- (BOOL) getTmpEnabled

Gets whether using temporary storage for computations is enabled.

Returns
True if enabled
- (NSString*) getTmpFolder

Gets the temporary folder used for temporary staging.

Returns
The temporary folder path
- (id) init

Creates a new instance.

Values are set with default values.

- (id) initWithPath: (NSString *)  path

Creates a new instance with a specific config file.

The config file will be loaded using the global properties class and the file may be automatically overwritten with the config changes. If the file doesn't exists, it will be created.

Parameters
path[in] File path to the config file.
- (id) initWithPath: (NSString *)  path
clientId: (NSString *)  clientId
licenseId: (NSString *)  licenseId 

Creates a new instance with a specific config file and IDs.

The config file will be loaded using the global properties class and the file may be automatically overwritten with the config changes. If the config file already exists, the client and license ids should have the same values as the given arguments. If the file doesn't exists, it will be created.

Parameters
path[in] File path to the config file.
clientId[in] The client identifier.
licenseId[in] The license identifier.
- (BOOL) save

Save the current configuration in the specified config file.

It will try to save the current configuration only if a config file was specified. This method will be automatically used when a Sparksee class downloads a new License.

Returns
Returns true if the config file is successfully written or false otherwise.
- (BOOL) saveAll

Save all the current configuration settings in the specified config file.

It will try to save the current configuration only if a config file was specified. The saved config file WILL CONATAIN all the modified settings including the secret ENCRYPTION KEYS. You should usually just use the Save method instead.

Returns
Returns true if the config file is successfully written or false otherwise.
- (BOOL) setAESEncryptionEnabled: (NSString *)  keyInHex
ivInHex: (NSString *)  ivInHex 

Enables storage encryption using AES with the given key and iv.

The key and initialization vector will not be saved in the config file.

Parameters
keyInHex[In] The AES encryption Key as an hexadecimal string (8, 16 or 32 bytes).
ivInHex[In] The AES Initialization Vector as an hexadecimal string (16 bytes).
Returns
Returns true if the encryption had been enabled with the given arguments or false otherwise.
- (void) setCacheMaxSize: (int)  megaBytes

Sets the maximum size for the cache (all pools) in MB.

Parameters
megaBytes[in] The maximum size for the cache (all pools) in MB. It must be non-negative.
- (void) setCacheStatisticsEnabled: (BOOL)  status

Enables or disables cache statistics.

Parameters
status[in] If TRUE this enables cache statistics, if FALSE this disables cache statistics.
- (void) setCacheStatisticsFile: (NSString *)  filePath

Sets the cache statistics log file.

Useless if cache statistics are disabled.

Parameters
filePath[in] The cache statistics log file.
- (void) setCacheStatisticsSnapshotTime: (long long)  microSeconds

Sets the cache statistics snapshot time.

Useless if cache statistics are disabled.

Parameters
microSeconds[in] The cache statistics snapshot time in microseconds.
- (void) setCallStackDump: (BOOL)  status

Sets whether the signals will be captured to dump the call stack or not.

Parameters
status[in] If TRUE signals must be captured.
- (void) setChecksumEnabled: (BOOL)  status

Enables or disables the storage checksum usage.

Parameters
status[in] If TRUE this enables the checksum, if FALSE then disables it.
- (void) setClientId: (NSString *)  clientId

Set the client identifier.

If you don't have a client identifier, you may want to register at http://sparsity-technologies.com/#sparksee

Parameters
clientId[in] The client identifier.
- (void) setExtentPages: (int)  pages

Sets the number of pages per extent.

Parameters
pages[in] The number of pages. It must be at least 1 page and the page size must be greater than or equal to 4KB.
- (void) setExtentSize: (int)  kBytes

Sets the size of the extents in KB.

Parameters
kBytes[in] The size of an extent in KB. An extent can have a size between 4KB and 64KB, and it must be a power of 2.
- (void) setHighAvailabilityCoordinators: (NSString *)  ip

Sets the coordinators address and port list.

Parameters
ip[in] The coordinators address and port list.
- (void) setHighAvailabilityEnabled: (BOOL)  status

Enables or disables high availability mode.

Parameters
status[in] If TRUE this enables high availability mode, if FALSE this disables high availability mode.
- (void) setHighAvailabilityIP: (NSString *)  ip

Sets the IP address and port of the instance.

Parameters
ip[in] The IP address and port of the instance.
- (void) setHighAvailabilityMasterHistory: (long long)  filePath

Sets the master's history log.

Parameters
filePath[in] The master's history log.
- (void) setHighAvailabilitySynchronization: (long long)  microSeconds

Sets the synchronization polling time.

Parameters
microSeconds[in] The synchronization polling time.
- (void) setInMemAllocSize: (long long)  size

Sets the in-memory allocator size.

Parameters
sizeThe size to set the in-memory allocator to
- (int) setLicense: (NSString *)  key

Sets the license key.

Parameters
key[in] The license key. Returns -1 if the new key can't be used, 0 if it's the same license or 1 if the new license is applied.
- (void) setLicenseId: (NSString *)  licenseId

Set the license identifier.

If you don't have a license identifier, you may want to register at http://sparsity-technologies.com/#sparksee

Parameters
licenseId[in] The license identifier.
- (void) setLicensePreDownloadDays: (int)  days

Start trying to automatically download a new license at the specified number of days before expiration.

Parameters
days[in] Number of days before expiration or -1 if the license should never be downloaded.
- (void) setLogFile: (NSString *)  filePath

Sets the log file.

Parameters
filePath[in] The log file.
- (void) setLogLevel: (enum STSLogLevel)  level

Sets the log level.

Parameters
level[in] The LogLevel.
- (void) setPoolFrameSize: (int)  extents

Sets the size of a pool frame in number of extents.

Parameters
extents[in] The size of a pool frame in number of extents. It must be non-negative.
- (void) setPoolPartitions: (int)  pools

Sets the number of pools in each PartitionedPool.

Parameters
pools[in] The number of pools in each PartitionedPool. It must be non-negative.
- (void) setPoolPersistentMaxSize: (int)  frames

Sets the maximum size for the persistent pool in number of frames.

Parameters
frames[in] The maximum size for the persistent pool in number of frames. It must be non-negative.
- (void) setPoolPersistentMinSize: (int)  frames

Sets the minimum size for the persistent pool in number of frames.

Parameters
frames[in] The minimum size for the persistent pool in number of frames. It must be non-negative.
- (void) setPoolTemporaryMaxSize: (int)  frames

Sets the maximum size for the temporary pool in number of frames.

Parameters
frames[in] The maximum size for the temporary pool in number of frames. It must be non-negative.
- (void) setPoolTemporaryMinSize: (int)  frames

Sets the minimum size for the temporary pool in number of frames.

Parameters
frames[in] The minimum size for the temporary pool in number of frames. It must be non-negative.
- (void) setRecoveryCacheMaxSize: (int)  extents

Sets the maximum size for the recovery log cache in extents.

Parameters
extents[in] The maximum size for the recovery log cache in extents. A 0 sets the default value (extents up to 1MB).
- (void) setRecoveryCheckpointTime: (long long)  microSeconds

Sets the delay time (in microseconds) between automatic checkpoints.

Parameters
microSeconds[in] The delay time (in microseconds) between automatic checkpoints. A 0 forces a checkpoint after each commited transaction.
- (void) setRecoveryEnabled: (BOOL)  status

Enables or disables the recovery.

Parameters
status[in] If TRUE this enables the recovery, if FALSE then disables it.
- (void) setRecoveryLogFile: (NSString *)  filePath

Sets the recovery log file.

Parameters
filePath[in] The recovery log file. Left it empty for the default log file (same as <database_file_name>.log)
- (void) setRollbackEnabled: (BOOL)  status

Enables or disables the rollback.

Parameters
status[in] If TRUE this enables the rollback, if FALSE then disables it.
- (void) setSparkseeConfigFile: (NSString *)  path

Sets the config file path.

The file is not loaded in this operation, see the constructor options if you need to load the file. The config file may be automatically overwritten with the config changes. If the file doesn't exists, it will be created.

Parameters
path[in] File path to the config file.
- (void) setTmpEnabled: (BOOL)  enabled

Sets whether to use temporary storage for computations or not.

Parameters
enabledTrue to use temporary storage for computation
- (void) setTmpFolder: (NSString *)  tmpFolder

Sets the temporary folder used for temporary staging.

Parameters
tmpFolderThe temporary folder to set

The documentation for this class was generated from the following file: