A synchronizer for a CRDT Map.
npm install @organicdesign/crdt-map-synchronizerA synchronizer for a CRDT Map.
- Install
- Usage
- API
- createCRDTMapSynchronizer
- Building
- Testing
- Improvements
```
npm i @organicdesign/crdt-map-synchronizer
`javascript
import { createCRDTMapSynchronizer } from "@organicdesign/crdt-map-synchronizer";
createCRDTMap({
synchronizers: [createCRDTMapSynchronizer(options)]
});
`
`javascript`
createCRDTMapSynchronizer([options])(components);
- options
Creates a CRDT map synchronizer.
To build the project files run:
`sh`
npm run build:protos && npm run build
To run the tests:
`sh`
npm run test
To lint files:
`sh``
npm run lint
There are a number of things that could improve this synchronizer to increase it's efficiency:
* [ ] Make it stateful - holding a little bit of state reduces the size of the data needed to be sent through the channel.
* [ ] Parallel - running the requests in parallel instead of series would reduce round trips needed to synchronize it.
* [ ] Keep track of accepted crdt/protocol matches - if we know a peer has accepted a crdt/protocol pair then it is likely that it would accept it again.
Other things that need to be done:
* [ ] Testing.
* [ ] Better error handling.