![]() | 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.
![]() |
---|
The state caching logic specified here is only executed when state caching is enabled by the end user. This can be done by passing Cache=True as part of the OptionString parameter to the driver's Initialize method, or it can be done after driver initialization via the IIviDriverOperation.Cache property. |
When checked, Nimbus will apply the Cache attribute to this property, which instructs the Nimbus Code Weaver to 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 thorougly understood and properly specified.
This list contains the cache keys for any cached properties that will be invalidated whenever this property's value is modified. Changing the value of this property will cause any previously cached values corresponding to the specified keys to be discarded.
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 IAcme4301Trigger interface, entering Frequency indicates that whenever this property's value is changed, any value previously cached by the implementation of IAcme4301Trigger.Frequency should 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 IIviDownconverterIFOutput and IIviDownconverterRFInput interfaces (both of which define a Frequency property), specifying IIviDownconverterIFOutput.Frequency indicates that whenever this property's value is changed, any value previously cached by the implementation of IIviDownconverterIFOutput.Frequency should be discarded. Any value previously cached by the implementation of IIviDownconverterRFInput.Frequency will 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.