Trogon.Commanded.ConsistencyPolicy.MinVersionPolicy (Trogon.Commanded v0.39.0)

Copy Markdown View Source

Consistency policy that retries until projection.version >= required_version.

Summary

Types

Positive integer milliseconds.

Options for new!/1. Accepts Duration or integer milliseconds for timeout/delay.

t()

Retries until projection.version >= required version.

Required projection version (event stream position).

Functions

Build policy from protobuf Consistency with min_version requirement.

Convert policy to protobuf Consistency.

Types

milliseconds()

@type milliseconds() :: pos_integer()

Positive integer milliseconds.

opts()

@type opts() :: %{
  version: version(),
  timeout: Duration.t() | milliseconds(),
  delay: Duration.t() | milliseconds()
}

Options for new!/1. Accepts Duration or integer milliseconds for timeout/delay.

t()

@type t() :: %Trogon.Commanded.ConsistencyPolicy.MinVersionPolicy{
  delay: milliseconds(),
  timeout: milliseconds(),
  version: version()
}

Retries until projection.version >= required version.

version()

@type version() :: non_neg_integer()

Required projection version (event stream position).

Functions

from_proto(proto)

@spec from_proto(TrogonProto.Consistency.V1Alpha1.Consistency.t()) :: t()

Build policy from protobuf Consistency with min_version requirement.

Uses defaults (5s, 100ms) when proto omits durations.

new!(map)

@spec new!(opts()) :: t()

to_proto(policy)

@spec to_proto(t()) :: TrogonProto.Consistency.V1Alpha1.Consistency.t()

Convert policy to protobuf Consistency.