.TH "doc_usecases_kdb_UC_get_config_md" 3elektra "Fri Aug 4 2023" "Version 0.11.0" "Elektra" \" -*- nroff -*-
.ad l
.nh
.SH NAME
doc_usecases_kdb_UC_get_config_md \- Use Case: Get configuration 
 
.SH "Summary"
.PP
.IP "\(bu" 2
\fBScope:\fP \fClibelektra-kdb\fP
.IP "\(bu" 2
\fBLevel:\fP Developer Goal
.IP "\(bu" 2
\fBActors:\fP Application, Elektra
.IP "\(bu" 2
\fBBrief:\fP Application loads configuration from KDB
.PP
.SH "Scenarios"
.PP
.IP "\(bu" 2
\fBPrecondition:\fP -
.IP "\(bu" 2
\fBMain success scenario:\fP
.IP "  \(bu" 4
Application requests current configuration from KDB
.IP "  \(bu" 4
Elektra loads from backends
.IP "  \(bu" 4
Elektra returns configuration
.PP

.IP "\(bu" 2
\fBAlternative scenario:\fP
.IP "  \(bu" 4
Application requests current configuration from KDB
.IP "  \(bu" 4
Elektra detects configuration hasn't changed and is already present in memory (of current instance)
.IP "  \(bu" 4
Elektra returns previously loaded configuration
.PP

.IP "\(bu" 2
\fBError scenario:\fP
.IP "  \(bu" 4
Application requests current configuration from KDB
.IP "  \(bu" 4
Elektra fails to load requested configuration
.IP "  \(bu" 4
Elektra returns error with problem description
.PP

.IP "\(bu" 2
\fBPostcondition:\fP
.IP "  \(bu" 4
The returned configuration MUST exactly match the requested part of the KDB
.PP

.IP "\(bu" 2
\fBNon-functional Constraints:\fP
.IP "  \(bu" 4
Applications SHOULD be able to err on the side of 'better load config more often than needed' rather than 'only load when necessary'\&.
.IP "    \(bu" 6
Loading configuration MUST be reasonably fast, especially when nothing has changed (caching!)\&.
.IP "    \(bu" 6
Reloading configuration MUST NOT destroy previously loaded configuration\&. 
.PP

.PP

.PP

