var searchIndex = {}; searchIndex["crdts"] = {"doc":"`crdts` is a library of thoroughly-tested, serializable CRDT's\nported from the riak_dt library to rust.","items":[[5,"to_binary","crdts","Dumps this type to binary.",null,{"inputs":[{"name":"a"}],"output":{"name":"vec"}}],[5,"from_binary","","Attempts to reconstruct a type from binary.",null,{"inputs":[{"name":"vec"}],"output":{"name":"decodingresult"}}],[0,"lwwreg","","`lwwreg` contains the last-write-wins register.",null,null],[3,"LWWReg","crdts::lwwreg","`LWWReg` is a simple CRDT that contains an arbitrary value\nalong with an `Ord` that tracks causality. It is the responsibility\nof the user to guarantee that the source of the causal element\nis monotonic. Don't use timestamps unless you are comfortable\nwith divergence.",null,null],[12,"value","","`value` is the opaque element contained within this CRDT",0,null],[12,"dot","","`dot` should be a monotonic value associated with this value",0,null],[11,"hash","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",0,null],[11,"fmt","","",0,null],[11,"merge","","Combines two `LWWReg` instances according to the dot that\ntracks causality. Panics if the dot is identical but the\ncontained element is different. If you would prefer divergence,\nuse `merge_unsafe` below.",0,null],[11,"merge_unsafe","","Combines two `LWWReg` instances according to the dot that\ntracks causality. This allows replicas to diverge if the dot\nis identical but the element is not.",0,null],[0,"vclock","crdts","`vclock` contains the vector clock.\nThe `vclock` crate provides a generic vector clock implementation.",null,null],[3,"VClock","crdts::vclock","A `VClock` is a standard vector clock.\nIt contains a set of "actors" and associated counters.\nWhen a particular actor witnesses a mutation, their associated\ncounter in a `VClock` is incremented. `VClock` is typically used\nas metadata for associated application data, rather than as the\ncontainer for application data. `VClock` just tracks causality.\nIt can tell you if something causally descends something else,\nor if different replicas are "concurrent" (were mutated in\nisolation, and need to be resolved externally).",null,null],[12,"dots","","dots is the mapping from actors to their associated counters",1,null],[6,"Counter","","A counter is used to track causality at a particular actor.",null,null],[11,"hash","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"cmp","","",1,null],[11,"clone","","",1,null],[11,"fmt","","",1,null],[11,"partial_cmp","","",1,null],[11,"new","","Returns a new `VClock` instance.",1,{"inputs":[],"output":{"name":"vclock"}}],[11,"witness","","For a particular actor, possibly store a new counter\nif it dominates.",1,null],[11,"increment","","For a particular actor, increment the associated counter.",1,null],[11,"merge","","Merge another vector clock into this one, without\nregard to dominance.",1,null],[11,"contains_descendent_element","","Determine if a single element is present and descendent.\nGenerally prefer using the higher-level comparison operators\nbetween vclocks over this specific method.",1,null],[11,"concurrent","","True if two vector clocks have diverged.",1,null],[11,"get","","Return the associated counter for this actor, if present.",1,null],[11,"is_empty","","Returns `true` if this vector clock contains nothing.",1,null],[11,"dominating_dots","","Return the dots that self dominates compared to another clock.",1,null],[11,"dominating_vclock","","Return a new `VClock` that contains the entries for which we have\na counter that dominates another `VClock`.",1,null],[11,"intersection","","Returns the common elements (same actor and counter)\nfor two `VClock` instances.",1,null],[11,"arbitrary","","",1,{"inputs":[{"name":"g"}],"output":{"name":"vclock"}}],[11,"shrink","","",1,null],[0,"orswot","crdts","`orswot` contains the addition-biased or-set without tombstone.\nThe `orswot` crate provides an implementation of the addition-biased OR-Set\nwithout tombstones (ORSWOT). Ported directly from riak_dt.",null,null],[3,"Orswot","crdts::orswot","`Orswot` is an add-biased or-set without tombstones ported from\nthe riak_dt CRDT library.",null,null],[11,"hash","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"partial_cmp","","",2,null],[11,"lt","","",2,null],[11,"le","","",2,null],[11,"gt","","",2,null],[11,"ge","","",2,null],[11,"cmp","","",2,null],[11,"clone","","",2,null],[11,"fmt","","",2,null],[11,"new","","Returns a new `Orswot` instance.",2,{"inputs":[],"output":{"name":"orswot"}}],[11,"add","","Add a single element.",2,null],[11,"add_all","","Add several members.",2,null],[11,"remove","","Remove a member without providing a witnessing context.\nReturns an existing context `VClock` if it was present.",2,null],[11,"remove_with_context","","Remove a member using a witnessing context.",2,null],[11,"remove_all","","Remove multiple members, without providing a witnessing context.",2,null],[11,"remove_all_with_context","","Remove multiple members with a witnessing context.",2,null],[11,"value","","Retrieve the current members.",2,null],[11,"merge","","Merge combines another `Orswot` with this one.",2,null],[11,"precondition_context","","Returns the current `VClock` associated with this `Orswot`.",2,null],[0,"gcounter","crdts","`gcounter` contains the grow-only counter",null,null],[3,"GCounter","crdts::gcounter","`GCounter` is a grow-only witnessed counter.",null,null],[11,"hash","","",3,null],[11,"clone","","",3,null],[11,"fmt","","",3,null],[11,"cmp","","",3,null],[11,"partial_cmp","","",3,null],[11,"eq","","",3,null],[11,"new","","Produces a new `GCounter`.",3,{"inputs":[],"output":{"name":"gcounter"}}],[11,"increment","","Increments a particular actor's counter.",3,null],[11,"value","","Returns the current sum of this counter.",3,null]],"paths":[[3,"LWWReg"],[3,"VClock"],[3,"Orswot"],[3,"GCounter"]]}; initSearch(searchIndex);