Concur.Queue (concur v0.2.0) View Source
Stateful queue abstraction.
Often it's necessary to deal with a stateful queue, this abstraction is built
using both Agents and Erlang's :queue
module.
Examples
For example, the following uses the Queue by pushing and popping elements from it:
{:ok, queue} = Queue.start()
Queue.push(queue, 1)
Queue.push(queue, 2)
Queue.push(queue, 3)
Queue.pop(queue) # => {:value, 1}
Queue.pop(queue) # => {:value, 2}
Queue.pop(queue) # => {:value, 3}
Queue.pop(queue) # => :empty
Link to this section Summary
Link to this section Types
Specs
queue() :: Agent.agent()
Link to this section Functions
Specs
Specs
Specs
Specs
start(GenServer.options()) :: Agent.on_start()
Specs
start_link(GenServer.options()) :: Agent.on_start()
Specs
stop(queue()) :: :ok