Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Splice stream #3

Closed
Raynos opened this Issue · 5 comments

2 participants

Raynos (Jake Verbaten) Dominic Tarr
Raynos (Jake Verbaten)

A crdt.Set / crdt.Seq matches the splice-stream idea.

We should have some way to turn a Set and a Seq into a splice stream. splice streams are to array as delta streams are to object.

Dominic Tarr
Owner
Raynos (Jake Verbaten)

@dominictarr We can look at this problem differently.

A crdt Set / Seq can still have unique ids for each object and a _sort property or a sort key or whatever.

We can then represent a Set / Seq as a splice stream for emitting local changes on the Set/Seq and for sending local changes back to the Set/Seq.

Then we can send those changes over the wire properly in the crdt format.

We are never sending splice streams directly over the wire.

But if you have a better suggestion for a List stream feel free to make one.

Dominic Tarr
Owner
Raynos (Jake Verbaten)

@dominictarr yes. I mainly want to use splice-stream & delta-stream for turning GUI elements into streams

Raynos (Jake Verbaten)

@dominictarr splice-stream is broken as hell. It doesn't work even in a single process and is completely broken cross process.

I will deprecate it and create list-stream which is a scuttlebutt representation of an array which uses numeric keys from 0 to 1 (using between) and pretends the object is an array.

Eventaully crdt.Set and crdt.Seq will be based on list like abstractions

Raynos (Jake Verbaten) Raynos closed this
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.