Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server side CRDT #14

Open
shanthanu9 opened this issue Jan 4, 2020 · 1 comment
Open

Server side CRDT #14

shanthanu9 opened this issue Jan 4, 2020 · 1 comment
Labels
brainstorm Needs further thinking and analysis

Comments

@shanthanu9
Copy link
Member

If we are going to implement server-side CRDT support, we just have to implement the remote functions right? These functions don't use the findNextGreaterIdentifierList. So the server-side implementation is relatively easier than client-side.

But even if we do it, it raises another issue. CRDT will be implemented in two places, client and server-side. So if say make changes in client-side CRDT implementation, we will also have to change the server-side too. The split-up of the dependent code is not nice.

Another possibility is Elixir calling the already implemented client-side JS CRDT. If it is possible, then it is among the simplest solutions. But will this approach have a performance impact?

@shanthanu9 shanthanu9 added the brainstorm Needs further thinking and analysis label Jan 4, 2020
@rohit-mp
Copy link
Collaborator

rohit-mp commented Jan 5, 2020

I could find libraries to only execute javascript functions from elixir. Would that maintain the state variables too? Since the CRDT object lives for as long as the channel is open, I don't think it's a good idea to just run the javascript in elixir.

Repeating the same functionality in elixir again might be a better option

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
brainstorm Needs further thinking and analysis
Projects
None yet
Development

No branches or pull requests

2 participants