When checked, Nimbus will generate implementation code that caches the property value between calls. This can reduce I/O traffic if redundant calls to the property occur, but it can also lead to cache coherency issues (data in memory out-of-sync with the actual instrument settings) if the property couplings are not thoroughly understood and properly specified.
IVI-COM Property State Caching Editor
Nimbus allows state caching to be enabled on a property-by-property basis. The Property State Caching Editor allows the driver developer to enable or disable state caching for the selected property and to specify cache couplings. See the topic Understanding Nimbus State Caching for more information.
Enabled
Invalidation list
If state caching is enabled for a property, this list becomes available for specifying cache couplings. The list represents all of the methods and properties which, when executed, cause the cached property value to become invalid. A properly specified list of such coupled methods and properties is critical when state caching is enabled for a property.
To add a method or property to the invalidation list
Section titled “To add a method or property to the invalidation list”-
Click the ”+” button to add a new entry.
-
Enter a cache entry key. Cache keys are expressed in one of the following three formats:
-
PropertyName
Use this format to invalidate a property defined on the same interface as the property being configured.
For example, if the property being configured is defined on the
IAcme4301Triggerinterface, entering Frequency indicates that whenever this property’s value is changed, any value previously cached by the implementation ofIAcme4301Trigger.Frequencyshould be discarded. -
InterfaceName.PropertyName
Use this format to invalidate a property defined on the same class as the property being configured, where the property satisfies the implementation of the specified interface.
For example, if the class containing the property being configured implements both the
IIviDownconverterIFOutputandIIviDownconverterRFInputinterfaces (both of which define aFrequencyproperty), specifying IIviDownconverterIFOutput.Frequency indicates that whenever this property’s value is changed, any value previously cached by the implementation ofIIviDownconverterIFOutput.Frequencyshould be discarded. Any value previously cached by the implementation ofIIviDownconverterRFInput.Frequencywill not be affected. -
CollectionStyleRepCapItemPath.InterfaceName.PropertyName
Use this format to invalidate a property defined on a collection-style repeated capability interface.
In this case, a combination of repeated capability names and repeated capability selectors are specified in addition to the appropriate interface and property name. Examples include:
- Channel[CHANNEL1].Trace[TRACE2].IAcme4321Acquisition.Frequency
- Channel[*].Trace[TRACE2].IAcme4321Acquisition.Frequency
- Channel[CHANNEL1].Trace[*].IAcme4321Acquisition.Frequency
- Channel[CHANNEL1-CHANNEL3].Trace[*].IAcme4321Acquisition.Frequency
- Channel[*].Trace[TRACE2,TRACE4].IAcme4321Acquisition.Frequency
- Channel[CHANNEL1,CHANNEL3-CHANNEL5].Trace[*].IAcme4321Acquisition.Frequency
-
-
Press the enter key.