Beethoven.Tracker (Beethoven v0.1.1)

State tracking for the Beethoven services. Uses Mnesia. Tabled named 'BeethovenTracker'

Summary

Functions

Adds self to BeethovenTracking Mnesia table.

Copies desired table to local node memory

Check if tracking table exists.

Add self to tracker

Starts tracker Mnesia table

Subscribe to changes to the BeethovenTracking Mnesia table

Functions

add_self(role \\ :member)

Adds self to BeethovenTracking Mnesia table.

copy_table(table)

@spec copy_table(atom()) :: :ok | {:error, any()}

Copies desired table to local node memory

exists?()

Check if tracking table exists.

join()

@spec join() :: :ok | :not_started | :copy_error

Add self to tracker

start()

@spec start() :: :ok | :already_exists

Starts tracker Mnesia table

subscribe()

@spec subscribe() :: {:ok, node()} | {:error, reason :: term()}

Subscribe to changes to the BeethovenTracking Mnesia table