View Source Mixpanel.Queue.Simple (Mixpanel API v1.2.0)

A simple queue implementation that discards elements when it's full.

Summary

Types

@type t() :: %Mixpanel.Queue.Simple{
  head: nil | nonempty_maybe_improper_list(),
  length: non_neg_integer(),
  max_size: non_neg_integer(),
  tail: nil | nonempty_maybe_improper_list()
}

Functions

@spec length(t()) :: non_neg_integer()
@spec new(pos_integer()) :: t()
@spec push(t(), any()) :: {:ok, t()} | :discarded
@spec take(t(), non_neg_integer()) :: {list(), t()}