CMDC.Backend.State (cmdc v0.5.1)

Copy Markdown View Source

内存 backend — 文件存于 ETS。

适合:开发 / 单测 / 短会话 / 不需要 BEAM 重启后保留。 不适合:跨进程共享、生产持久化。

表结构

ETS :set 表,key 为绝对路径(必须以 / 开头),value 为 FileData map。 路径以 / 开头是为了 ls 目录视图能正确分层显示。

使用

backend = CMDC.Backend.State.new(:my_files)
%WriteResult{path: "/a.txt"} = CMDC.Backend.write(backend, "/a.txt", "hi")
%ReadResult{file_data: %{content: "hi"}} = CMDC.Backend.read(backend, "/a.txt")

Summary

Functions

构建 State backend,使用一张命名 ETS 表。

清空表(仅测试用)。

Types

t()

@type t() :: %CMDC.Backend.State{table: atom() | :ets.tid()}

Functions

new(table_name)

@spec new(atom()) :: t()

构建 State backend,使用一张命名 ETS 表。

  • table_name:原子表名(命名 ETS 表,public + named_table),若同名已存在则复用

reset(state)

@spec reset(t()) :: :ok

清空表(仅测试用)。