If the same information is displayed by multiple components in Cockpit,
cockpit.cache() provides a way to share data between them. The
shared data should be simple objects, arrays, and values, and not
contain functions or other objects.
cockpit.cache()
cache = cockpit.cache(key, provider, consumer)
Create a new cache object. The key should be a globally unique
string that describes the data being cached. This string must describe
the data, across all machines and all versions of cockpit. It is
customary to include a version number in the key string.
function provider(result, key) {
result("myvalue");
return {
close: function() {
/* closed */
}
};
}
The provider is a function that will be invoked to start retrieving
data for the cache. It will be passed a result function as its first
argument. The result should be invoked whenever new data is
available. The key argument matches the key string the cache was
created with.
The provider can return an object with a close method. This
method will be invoked when the cache no longer needs data from the
provider.
function consumer(value, key) {
/* ... */
}
The consumer is a function that will be passed new values when they
are available, whether they come from the provider or a source in a
different component/frame.
cache.close()
cache.close()
Close a cache and stop calling its consumer. If the provider was
invoked, then the close() method it returned will be invoked.