You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I verified that the DeltaCrdt.Storage Behavior used for persistence is specifying a type called storage_format with the following representation:
defmoduleDeltaCrdt.Storagedo@moduledoc""" This behaviour can be used to enable persistence of the CRDT. This can be helpful in the event of crashes. To use, implement this behaviour in a module, and pass it to your CRDT with the `storage_module` option. """@typet::module()@opaquestorage_format::{node_id::term(),sequence_number::integer(),crdt_state::term()}@callbackwrite(name::term(),storage_format()):::ok@callbackread(name::term())::storage_format()|nilend
Note that the type is basically composed of {node_id :: term(), sequence_number :: integer(), crdt_state :: term()} but checking where this behavior is called I noticed that actually the expected return pattern of the read function is different from the type specified in the behavior. See in DeltaCrdt.CausalCrd:
I verified that the DeltaCrdt.Storage Behavior used for persistence is specifying a type called storage_format with the following representation:
Note that the type is basically composed of {node_id :: term(), sequence_number :: integer(), crdt_state :: term()} but checking where this behavior is called I noticed that actually the expected return pattern of the read function is different from the type specified in the behavior. See in DeltaCrdt.CausalCrd:
In this case the expected return type pattern is {node_id, sequence_number, crdt_state, merkle_map}.
My first question is what is the correct format?
The text was updated successfully, but these errors were encountered: