\label{doc_decisions_6_implemented_memory_layout_md_md_doc_decisions_6_implemented_memory_layout}%
\Hypertarget{doc_decisions_6_implemented_memory_layout_md_md_doc_decisions_6_implemented_memory_layout}%
 \hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2466}{}\doxysection{Problem}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2466}
{\ttfamily mmapstorage} leaks internals of the {\ttfamily struct \+\_\+\+Key}.\hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2467}{}\doxysection{Constraints}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2467}
\hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2468}{}\doxysection{Assumptions}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2468}
\hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2469}{}\doxysection{Considered Alternatives}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2469}

\begin{DoxyItemize}
\item don\textquotesingle{}t make {\ttfamily Key} opaque
\item don\textquotesingle{}t provide {\ttfamily mmapstorage}
\end{DoxyItemize}\hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2470}{}\doxysection{Decision}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2470}
Have versioning and memory layout checks¹ of cache files written by {\ttfamily mmapstorage}. The cache files get discarded if these checks fail.\hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2471}{}\doxysection{Rationale}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2471}

\begin{DoxyItemize}
\item will also discard cache files from different architectures
\item representation of {\ttfamily struct \+\_\+\+Key} can be changed as wanted
\end{DoxyItemize}\hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2472}{}\doxysection{Implications}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2472}
See Rationale.\hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2473}{}\doxysection{Related Decisions}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2473}
\hypertarget{doc_decisions_6_implemented_memory_layout_md_autotoc_md2474}{}\doxysection{Notes}\label{doc_decisions_6_implemented_memory_layout_md_autotoc_md2474}
¹ A {\ttfamily Key\+Set} with known content gets written and mmapstorage checks if this {\ttfamily Key\+Set} was restored correctly. 