Descrição
A struct EngineCore<C> em src/core/engine/mod.rs (linha 110-116) expõe todos os seus 5 campos como pub(crate):
pub(crate) struct EngineCore<C: Cache> {
pub(crate) memtables: HashMap<String, Vec<MemTable>>,
pub(crate) memtable_bytes: HashMap<String, usize>,
pub(crate) version_set: VersionSet<C>,
pub(crate) compaction: Compaction,
pub(crate) wal: WriteAheadLog,
}
Isso permite que qualquer módulo dentro do crate modifique diretamente o estado interno sem passar pelas invariantes do engine. Também dificulta a auditoria de segurança e a evolução da API.
Tarefas
Referências
Descrição
A struct
EngineCore<C>emsrc/core/engine/mod.rs(linha 110-116) expõe todos os seus 5 campos comopub(crate):Isso permite que qualquer módulo dentro do crate modifique diretamente o estado interno sem passar pelas invariantes do engine. Também dificulta a auditoria de segurança e a evolução da API.
Tarefas
EngineCoreprivadosmemtables() -> &HashMap<...>,memtables_mut() -> &mut HashMap<...>)MemTablese aplicávelcargo testecargo clippypassamReferências