View Source Vectoree.TreeSource (Vectoree v0.0.2)

A behaviour module for implementing a server, which maintains a local tree (key-value map) as its internal state. A source is supposed to be mounted on a TreeServer at a path via the TreeServer.mount_source/1 function, normally during the c:init/1 callback. It is then supposed to do two things:

  • Reply to query requests by returning the local tree in a mounted state (done by the handle_query functions in this module)
  • Notify the hosting TreeServer about updates in the local tree via the TreeServer.notify/2 function

Summary

Types

@type tree_map() :: %{required(tree_path()) => any()}
@type tree_path() :: Vectoree.TreePath.t()