GenPETS (gen_pets v0.1.0)

Summary

Types

key()

@type key() :: term()

key_value()

@type key_value() :: {key(), value()}

value()

@type value() :: term()

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

delete(pid, key)

@spec delete(GenServer.server(), key()) :: :ok

direct_delete(table, key)

@spec direct_delete(:ets.table(), key()) :: :ok

direct_exists?(table, key)

direct_prune(table)

@spec direct_prune(:ets.table()) :: :ok

direct_read(table, key)

@spec direct_read(:ets.table(), key()) :: [key_value()]

direct_write(table, key, value)

@spec direct_write(:ets.table(), key(), value()) :: :ok

exists?(pid, key)

@spec exists?(:ets.table(), key()) :: boolean()
@spec exists?(GenServer.server(), key()) :: boolean()

prune(pid)

@spec prune(GenServer.server()) :: :ok

read(pid, key)

@spec read(GenServer.server(), key()) :: [key_value()]

start(args \\ [])

Starts a GenPETS process without links.

See start_link/1 for more information

start_link(args \\ [])

Starts a GenPETS process linked to the current process.

# Start a new GenPETS: iex(1)> {:ok, pid} = GenPETS.start(table_name: :some_table_name, file_path: "some_file_path")

# Control using the provided PID: iex(2)> GenPETS.write(pid, :key, :value) :ok

# Alternatively, you can use your table_name as well: iex(3)> GenPETS.read(:some_table_name, :key) [key: :value]

write(pid, key, value)

@spec write(GenServer.server(), key(), value()) :: :ok