API Reference Grove v#0.2.0

View Source

Modules

Grove - Conflict-free replicated trees for Elixir.

Atomic batch operations for Grove CRDTs.

Behaviour for implementing Conflict-free Replicated Data Types (CRDTs).

Manages peer discovery using Erlang :pg process groups.

A grow-only counter (G-Counter) CRDT.

A positive-negative counter (PN-Counter) CRDT.

Conversion between plain data and Grove trees.

A Dotted Version Vector (DVV) for precise causality tracking.

Behaviour for garbage collection strategies.

Structural garbage collection for CRDTs.

A Hybrid Logical Clock (HLC) combining physical and logical time.

LiveView integration for Grove CRDT trees.

LiveView hooks for automatic presence tracking.

An Observed-Remove Map (OR-Map) CRDT.

Protocol for merging CRDT states.

A node in a Grove tree.

Presence tracking for collaborative editing.

Phoenix.PubSub integration for CRDT delta synchronization.

A Last-Write-Wins Register (LWW-Register) CRDT.

A Multi-Value Register (MV-Register) CRDT.

A GenServer that manages a single CRDT instance with automatic replication.

DSL for defining node schemas with per-field CRDT types.

Type registry for schema field CRDT types.

A Replicated Growable Array (RGA) CRDT for ordered sequences.

GenServer managing a collaborative document session.

An optimized Observed-Remove Set using Dotted Version Vectors.

A Grow-only Set (G-Set) CRDT.

An Observed-Remove Set (OR-Set) CRDT, also known as Add-Wins Set (AWSet).

A Two-Phase Set (2P-Set) CRDT.

Behaviour for CRDT storage backends.

Persistent disk storage backend using DETS.

In-memory ETS storage backend for CRDTs.

Handles serialization and deserialization of CRDT states.

Testing utilities for Grove CRDTs.

A conflict-free replicated tree structure.

Deterministic child ordering using position-based conflict resolution.

High-level document persistence using snapshots and event logs.

Represents an operation in the event graph (DAG).

DAG operations on event history.

Columnar event encoding with RLE compression for Eg-walker persistence.

Represents a single entry in the operation history.

Internal representation of a move operation in the operation log.

Public move operation structure (what replicas exchange).

Captures tree state at a critical version for fast document loading.

Tracks the current version state (frontier) of the event graph.

Vector clock implementation for causality tracking.

Protocol for extracting the current value from a CRDT.