Packages
nerves_runtime
0.13.9
0.13.13
0.13.12
0.13.11
retired
0.13.10
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.0
0.11.10
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
retired
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.1
0.3.0
0.2.0
0.1.2
0.1.1
0.1.0
Small, general runtime utilities for Nerves devices
Current section
Files
Jump to
Current section
Files
lib/nerves_runtime/kv_backend/in_memory.ex
# SPDX-FileCopyrightText: 2022 Frank Hunleth
#
# SPDX-License-Identifier: Apache-2.0
defmodule Nerves.Runtime.KVBackend.InMemory do
@moduledoc """
In-memory KV store
This KV store keeps everything in memory. Use it by specifying it
as a backend in the application configuration. Specifying an initial
set of contents is optional.
```elixir
config :nerves_runtime, :kv_backend, {Nerves.Runtime.KV.InMemory, contents: %{"key" => "value"}}
```
"""
@behaviour Nerves.Runtime.KVBackend
@impl Nerves.Runtime.KVBackend
def load(options) do
case Keyword.fetch(options, :contents) do
{:ok, contents} when is_map(contents) -> {:ok, contents}
_ -> {:ok, %{}}
end
end
@impl Nerves.Runtime.KVBackend
def save(_new_state, _options), do: :ok
end