CRDT System
#261
Replies: 2 comments
-
Broadcast CRDT message problem. [Transactor ?]
This way client A and D recieves the new message with lamport: 5 Now imagine this with client N, with N > 1000. we are generating (N - 1) messages for each invalid message. Maybe here comes the transactor which is the one who broadcasts the messages, so we dont have to send tons of repeated messages ? |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
decentraland/ecs#16
The idea is to use CRDT systems to synchronize entities through the network between peers.
Which entities will be synced ?
We are creating a component called SyncComponent, and every entity that has that component will send the entityId with all the components through the network to the peers.
To handle this, we are creating a system that iterates all the entities that has a synced component on it, and it's dirty.
CRDT its only for the network between peers ?
No, the idea is tu used it also in the communication between the scene and the renderer. So the CRDT will live at the ECS leven but also at the renderer.
We still need to discuss a lot of things here. We need to create a crdt lib for unity? Or how we are going to implement it ?
Will be the same state that the network/peers one ?
Where the state store will live ?
How the messages will be sent ?
We are going to use an RPC protocol to send the binary messages through the wire. We thought about protocol buffers with a structure similar to this.
CRDT Renderer state.
Store the state so we can retrieve the store and send it to the scene for initialization ?
For more reference see
Beta Was this translation helpful? Give feedback.
All reactions