![]() |
MySQL 8.0.43
Source Code Documentation
|
Keyring operations A class to perform operations on keyring. More...
#include <operations.h>
Public Member Functions | |
| Keyring_operations (bool cache_data, Backend *backend) | |
| Constructor. More... | |
| ~Keyring_operations ()=default | |
| bool | insert (const meta::Metadata &metadata, Data_extension secret_data) |
| Insert API to populate cache. More... | |
| bool | get (const meta::Metadata &metadata, data::Data &data) |
| Search API. More... | |
| bool | get_data_extension (const meta::Metadata &metadata, Data_extension &data) |
| Get Backend-specific data extension. More... | |
| bool | store (const meta::Metadata &metadata, const data::Data &data) |
| Store API. More... | |
| bool | erase (const meta::Metadata &metadata) |
| Remove API. More... | |
| bool | generate (const meta::Metadata &metadata, const data::Type type, size_t length) |
| Generate API. More... | |
| bool | init_read_iterator (std::unique_ptr< iterator::Iterator< Data_extension > > &it, const meta::Metadata &metadata) |
| Iterator creation for read. More... | |
| bool | init_forward_iterator (std::unique_ptr< iterator::Iterator< Data_extension > > &it, bool cached) |
| Iterator creation. More... | |
| void | deinit_forward_iterator (std::unique_ptr< iterator::Iterator< Data_extension > > &it) |
| Iterator destruction. More... | |
| bool | is_valid (std::unique_ptr< iterator::Iterator< Data_extension > > &it) |
| Check iterator validity. More... | |
| bool | next (std::unique_ptr< iterator::Iterator< Data_extension > > &it) |
| Move iterator forward. More... | |
| bool | get_iterator_data (std::unique_ptr< iterator::Iterator< Data_extension > > &it, meta::Metadata &metadata, Data_extension &data) |
| Get data from iterator. More... | |
| bool | get_iterator_metadata (std::unique_ptr< iterator::Iterator< Data_extension > > &it, meta::Metadata &metadata, Data_extension &data) |
| Get metadata from iterator. More... | |
| size_t | maximum_data_length () const |
| Maximum data length supported. More... | |
| size_t | keyring_size () |
| Keyring size. More... | |
| bool | valid () |
| Validity. More... | |
Private Member Functions | |
| void | load_cache () |
Private Attributes | |
| cache::Datacache< Data_extension > | cache_ |
| Metadata cache. More... | |
| bool | cache_data_ |
| Flag to cache data. More... | |
| std::unique_ptr< Backend > | backend_ |
| Keyring backend. More... | |
| bool | valid_ |
| Validity. More... | |
Keyring operations A class to perform operations on keyring.
If cache is enabled, operations uses it. Otherwise, backend is used.
Assumptions:
Please see "How to write a new keyring component" for details about Backend class.
|
inlineexplicit |
Constructor.
| [in] | cache_data | Whether to cache data or not |
| [in] | backend | Pointer to keyring backend |
Populates the cache from backend
|
default |
|
inline |
Iterator destruction.
| [in,out] | it | Forward iterator to metadata |
|
inline |
Remove API.
| [in] | metadata | Key to the data |
| false | Success - data removed OR does not exist |
| true | Failure |
|
inline |
Generate API.
| [in] | metadata | Key for the data |
| [in] | type | Type of data |
| [in] | length | Length of data to be generated |
| false | Success - data generated and stored in backend |
| true | Failure |
|
inline |
Search API.
| [in] | metadata | Key to the data |
| [out] | data | Fetched data |
| false | Success - data contains required information |
| true | Failure - data is not valid |
|
inline |
Get Backend-specific data extension.
| [in] | metadata | Key to the data |
| [out] | data | Fetched data extension |
| false | Success - data contains required information |
| true | Failure - data is not valid |
NOTE: get_data_extension NEVER returns data. It only returns Data extension information.
|
inline |
Get data from iterator.
| [in] | it | Forward iterator to metadata |
| [out] | metadata | Metadata for given key |
| [out] | data | Data for given key (Including extension) |
| false | Success |
| true | Failure |
|
inline |
Get metadata from iterator.
| [in] | it | Forward iterator to metadata |
| [out] | metadata | Metadata for given key |
| [out] | data | Extension for given key |
| false | Success |
| true | Failure |
|
inline |
Iterator creation.
| [out] | it | Forward iterator to metadata |
| [in] | cached | Iterator type |
| false | Success |
| true | Failure |
|
inline |
Iterator creation for read.
If data is cached, iterator on cached data is returned. Otherwise iterator created by backend is returned.
| [out] | it | Forward iterator to metadata |
| [in] | metadata | Metadata for the record to be searched |
| false | Success |
| true | Failure |
|
inline |
Insert API to populate cache.
| [in] | metadata | Key to the data |
| [in] | secret_data | Actual data |
| false | Success |
| true | Failure |
|
inline |
Check iterator validity.
| [in] | it | Forward iterator to metadata |
| true | Valid |
| false | Invalid |
|
inline |
Keyring size.
|
inlineprivate |
|
inline |
Maximum data length supported.
|
inline |
Move iterator forward.
| [in] | it | Forward iterator to metadata |
| false | Success |
| true | Failure |
|
inline |
Store API.
| [in] | metadata | Key to the data |
| [in] | data | Data to be stored |
| false | Success - data stored |
| true | Failure |
|
inline |
Validity.
|
private |
Keyring backend.
|
private |
Metadata cache.
|
private |
Flag to cache data.
|
private |
Validity.