The greylisting triplets seen by Sovite.Core.Greylist: one per
client network, sender, and recipient.
Summary
Functions
How many entries there are, and how many of them passed.
Deletes every entry. Returns how many.
Deletes the entries that expired before now. Returns how many.
The entry with key triplet, if any.
The entries, most recently seen first.
Merges an entry from another node (see Sovite.Core.Cluster.Sync):
stored if new, otherwise combined with the stored one, keeping the
earliest first sighting and pass, and the latest use and expiry.
Stores the entry of attrs.triplet, replacing an earlier one.
Functions
@spec counts(Sovite.Core.Repo.t()) :: %{ total: non_neg_integer(), passed: non_neg_integer() }
How many entries there are, and how many of them passed.
@spec delete_all(Sovite.Core.Repo.t()) :: non_neg_integer()
Deletes every entry. Returns how many.
@spec delete_expired(Sovite.Core.Repo.t(), DateTime.t()) :: non_neg_integer()
Deletes the entries that expired before now. Returns how many.
@spec get(Sovite.Core.Repo.t(), String.t()) :: Sovite.Core.Repo.Schemas.GreylistEntry.t() | nil
The entry with key triplet, if any.
@spec list(Sovite.Core.Repo.t()) :: [Sovite.Core.Repo.Schemas.GreylistEntry.t()]
The entries, most recently seen first.
@spec merge(Sovite.Core.Repo.t(), map()) :: {:ok, Sovite.Core.Repo.Schemas.GreylistEntry.t()} | {:error, Ecto.Changeset.t()}
Merges an entry from another node (see Sovite.Core.Cluster.Sync):
stored if new, otherwise combined with the stored one, keeping the
earliest first sighting and pass, and the latest use and expiry.
@spec put(Sovite.Core.Repo.t(), map()) :: {:ok, Sovite.Core.Repo.Schemas.GreylistEntry.t()} | {:error, Ecto.Changeset.t()}
Stores the entry of attrs.triplet, replacing an earlier one.