diff options
author | John Estabrook <jestabro@vyos.io> | 2025-03-16 21:04:21 -0500 |
---|---|---|
committer | John Estabrook <jestabro@vyos.io> | 2025-03-16 23:55:12 -0500 |
commit | 33394e41516a7a7591629e913c7f981e2494e80a (patch) | |
tree | 99ff23351aecd04b9f9e2f250143886312eaa3a7 /python | |
parent | 467811b32ba4a5a2873cd115b78e83018a346ab9 (diff) | |
download | vyos-1x-33394e41516a7a7591629e913c7f981e2494e80a.tar.gz vyos-1x-33394e41516a7a7591629e913c7f981e2494e80a.zip |
T7121: add Config init from internal cache
The internal cache is used as a faster replacement to parsing the active
and proposed configs on initialization of a commit session.
Diffstat (limited to 'python')
-rw-r--r-- | python/vyos/configsource.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/python/vyos/configsource.py b/python/vyos/configsource.py index 59e5ac8a1..65cef5333 100644 --- a/python/vyos/configsource.py +++ b/python/vyos/configsource.py @@ -319,3 +319,13 @@ class ConfigSourceString(ConfigSource): self._session_config = ConfigTree(session_config_text) if session_config_text else None except ValueError: raise ConfigSourceError(f"Init error in {type(self)}") + +class ConfigSourceCache(ConfigSource): + def __init__(self, running_config_cache=None, session_config_cache=None): + super().__init__() + + try: + self._running_config = ConfigTree(internal=running_config_cache) if running_config_cache else None + self._session_config = ConfigTree(internal=session_config_cache) if session_config_cache else None + except ValueError: + raise ConfigSourceError(f"Init error in {type(self)}") |