Yioop_V9.5_Source_Code_Documentation

PersistentStructure
in package

A PersistentStructure is a data structure which every so many operations will be saved to secondary storage (such as disk).

An operation occurs whenever the PersistentStructure's checkSave method is called. A PersistentStructure also supports the ability to be load (read in from) secondary storage.

Tags
author

Chris Pollett

Table of Contents

DEFAULT_SAVE_FREQUENCY  = 50000
If not specified in the constructor, this will be the number of operations between saves
$filename  : string
Name of the file in which to store the PersistentStructure
$save_frequency  : int
Number of operation between saves. If == -1 never save using checkSave
$unsaved_operations  : int
Number of operations since the last save
__construct()  : mixed
Sets up the file name and save frequency for the PersistentStructure, initializes the oepration count
checkSave()  : mixed
Add one to the unsaved_operations count. If this goes above the save_frquency then save the PersistentStructure to secondary storage
load()  : object
Load a PersistentStructure from a file
save()  : mixed
Save the PersistentStructure to its filename This method is generic but super memory inefficient, so reimplement for subclasses is needed

Constants

DEFAULT_SAVE_FREQUENCY

If not specified in the constructor, this will be the number of operations between saves

public int DEFAULT_SAVE_FREQUENCY = 50000

Properties

$filename

Name of the file in which to store the PersistentStructure

public string $filename

$save_frequency

Number of operation between saves. If == -1 never save using checkSave

public int $save_frequency

$unsaved_operations

Number of operations since the last save

public int $unsaved_operations

Methods

__construct()

Sets up the file name and save frequency for the PersistentStructure, initializes the oepration count

public __construct(string $fname[, int $save_frequency = self::DEFAULT_SAVE_FREQUENCY ]) : mixed
Parameters
$fname : string

the name of the file to store the PersistentStructure in

$save_frequency : int = self::DEFAULT_SAVE_FREQUENCY

the number of operation before a save If <= 0 never check save

Return values
mixed

checkSave()

Add one to the unsaved_operations count. If this goes above the save_frquency then save the PersistentStructure to secondary storage

public checkSave() : mixed
Return values
mixed

load()

Load a PersistentStructure from a file

public static load(string $fname) : object
Parameters
$fname : string

the name of the file to load the PersistentStructure from

Return values
object

the PersistentStructure loaded

save()

Save the PersistentStructure to its filename This method is generic but super memory inefficient, so reimplement for subclasses is needed

public save() : mixed
Return values
mixed

        

Search results