Grains v0.3.7 Grains.DebugTimer

Debug version of Grains.Timer.

To replace the normal Timer with this, start you bread like this:

default_grains = Map.merge(Grains.default_grains, %{periodic: Grains.DebugTimer})
{:ok, bread} = Grains.Supervisor.start_link(recipe, grains, default_grains)

server = Grains.get_name(bread, State)
debug_timer = Grains.get_name(bread, State.Sampler.Timer)
send(debug_timer, :tick)

With Timestamps

Similarly to Grains.Timer, the debug timer accepts an option with_timestamps. If set to true, the :tick must include a timestamp, which is then used when forwarding the received message downstream. If with_timestamps is not set, the :tick must not include a timestamp, and the message is forwarded as-is.

Link to this section Summary

Link to this section Functions

Link to this function


Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

handle_pull(from, state)

Link to this function

handle_push(msg, from, state)

Callback implementation for GenServer.init/1.

Link to this function

name(left, grain)


Link to this function


See Grains.GenGrain.own_full_name/0.

See Grains.GenGrain.own_name/0.

See Grains.GenGrain.pull/0.

See Grains.GenGrain.pull/1.

Link to this function


See Grains.GenGrain.pull_with_tag/1.

Link to this function

pull_with_tag(from, tag)

See Grains.GenGrain.pull_with_tag/2.

See Grains.GenGrain.push/1.

Link to this function

push(short_name, msg)

See Grains.GenGrain.push/2.