|
TECA
The Toolkit for Extreme Climate Analysis
|
Caches N datasets such that repeated requests for the same dataset are served from the cache. More...
#include <teca_indexed_dataset_cache.h>
Public Member Functions | |
| std::shared_ptr< teca_indexed_dataset_cache > | shared_from_this () |
| std::shared_ptr< teca_indexed_dataset_cache const > | shared_from_this () const |
| teca_indexed_dataset_cache (const teca_indexed_dataset_cache &src)=delete | |
| teca_indexed_dataset_cache (teca_indexed_dataset_cache &&src)=delete | |
| teca_indexed_dataset_cache & | operator= (const teca_indexed_dataset_cache &src)=delete |
| teca_indexed_dataset_cache & | operator= (teca_indexed_dataset_cache &&src)=delete |
| const char * | get_class_name () const override |
| void | clear_cache () |
| clear any cached data. More... | |
max_cache_size | |
Set the max number of datasets to cache. | |
| void | set_max_cache_size (const unsigned long &v) |
| const unsigned long & | get_max_cache_size () const |
override_request_index | |
When set the request is modified to always request index 0. This can be used to cache data that doesn't change. | |
| void | set_override_request_index (const int &v) |
| const int & | get_override_request_index () const |
Public Member Functions inherited from teca_algorithm | |
| teca_algorithm (const teca_algorithm &src)=delete | |
| teca_algorithm (teca_algorithm &&src)=delete | |
| teca_algorithm & | operator= (const teca_algorithm &src)=delete |
| teca_algorithm & | operator= (teca_algorithm &&src)=delete |
| void | set_communicator (MPI_Comm comm) |
| MPI_Comm | get_communicator () |
| get the active communicator More... | |
| virtual teca_algorithm_output_port | get_output_port (unsigned int port=0) |
| void | set_input_connection (const teca_algorithm_output_port &port) |
| set an input to this algorithm More... | |
| virtual void | set_input_connection (unsigned int id, const teca_algorithm_output_port &port) |
| set an input to this algorithm More... | |
| virtual void | remove_input_connection (unsigned int id) |
| remove input connections More... | |
| void | clear_input_connections () |
| remove all input connections More... | |
| const_p_teca_dataset | get_output_data (unsigned int port=0) |
| void | pop_cache (unsigned int port=0, int top=0) |
| void | set_cache_size (unsigned int n) |
| set the cache size. the default is 1. (threadsafe) More... | |
| virtual int | update () |
| execute the pipeline from this instance up. More... | |
| virtual int | update (unsigned int port) |
| execute the pipeline from this instance up. More... | |
| virtual teca_metadata | update_metadata (unsigned int port=0) |
| get meta data considering this instance up. More... | |
| void | set_executive (p_teca_algorithm_executive exe) |
| set the executive More... | |
| p_teca_algorithm_executive | get_executive () |
| get the executive More... | |
| virtual void | to_stream (std::ostream &s) const |
| virtual void | from_stream (std::istream &s) |
| deserialize from the stream. More... | |
| void | set_verbose (const int &v) |
| const int & | get_verbose () const |
Static Public Member Functions | |
| static p_teca_indexed_dataset_cache | New () |
Additional Inherited Members | |
Protected Member Functions inherited from teca_algorithm | |
| void | set_number_of_input_connections (unsigned int n) |
| void | set_number_of_output_ports (unsigned int n) |
| virtual void | set_modified () |
| void | set_modified (unsigned int port) |
| an overload to set_modified by port More... | |
| virtual teca_metadata | get_output_metadata (unsigned int port, const std::vector< teca_metadata > &input_md) |
| virtual teca_metadata | get_cache_key (unsigned int port, const teca_metadata &request) const |
| virtual teca_metadata | get_output_metadata (teca_algorithm_output_port ¤t) |
| virtual const_p_teca_dataset | request_data (teca_algorithm_output_port &port, const teca_metadata &request) |
| virtual int | validate_cache (teca_algorithm_output_port ¤t) |
| virtual void | clear_modified (teca_algorithm_output_port current) |
| const_p_teca_dataset | get_output_data (unsigned int port, const teca_metadata &request) |
| int | cache_output_data (unsigned int port, const teca_metadata &request, const_p_teca_dataset &data) |
| void | clear_cache (unsigned int port) |
| clear the cache on the given output port More... | |
| unsigned int | get_number_of_input_connections () |
| get the number of input connections More... | |
| teca_algorithm_output_port & | get_input_connection (unsigned int i) |
| void | clear_modified (unsigned int port) |
| clear the modified flag on the i'th output More... | |
| int | get_modified (unsigned int port) const |
| return the output port's modified flag value More... | |
Protected Attributes inherited from teca_algorithm | |
| int | verbose |
Caches N datasets such that repeated requests for the same dataset are served from the cache.
A cache storing up to N datasets. Datasets are identified using their request index. Repeated requests for the same dataset (ie same index) are served from the cache. When more than N unique datasets have been requested the cache is modified such that the least recently used dataset is replaced.
| void teca_indexed_dataset_cache::clear_cache | ( | ) |
clear any cached data.
|
inlineoverridevirtual |
returns the name of the class
Implements teca_algorithm.
|
inline |
Get the value of the max_cache_size algorithm property
|
inline |
Get the value of the override_request_index algorithm property
|
inlinestatic |
Returns an instance of teca_indexed_dataset_cache
|
inline |
Set the value of the max_cache_size algorithm property
|
inline |
Set the value of the override_request_index algorithm property
|
inline |
Enables the static constructor
|
inline |
Enables the static constructor