Actions
Feature #4082
closedSync Protocol Adapters
Start date:
Due date:
% Done:
100%
Estimated time:
Description
Currently, NLSR is coupled directly to ChronoSync. This means that NLSR and ChronoSync must grow and change together, which is not desirable; it would be better if NLSR could grow and evolve while being only minimally concerned with dependencies. This is not fully possible, but NLSR can minimize its dependency by doing something similar to the following:
- Design an internal interface that NLSR modules need any sync protocol to provide.
- Design a framework that allows for dissimilar sync protocol interfaces to adapt to the NLSR-internal interface.
- Whenever necessary, implement the necessary adapter subclass to provide functionality from a new sync protocol.
The impetus is given in the document attached.
- NLSR would only change adapter unit tests when some sync protocol's API changes.
- NLSR developers would consider all sync interactions a black box.
- NLSR would be able to cheaply test the Sync interface, without worrying about implementation details of a sync protocol.
- Developers of new sync protocols would be able to author adapters themselves, without deep knowledge of NLSR.
Files
Updated by Nicholas Gordon over 7 years ago
- Tracker changed from Task to Feature
Updated by Nicholas Gordon over 7 years ago
- Subject changed from Implement an adapter class for sync protocols to Sync Protocol Adapters
- Description updated (diff)
Updated by Ashlesh Gawande almost 6 years ago
- Status changed from New to Code review
- Target version set to v0.5.0
- % Done changed from 0 to 100
Updated by Ashlesh Gawande almost 6 years ago
- Status changed from Code review to Closed
PSync also added as part of this.
Updated by Ashlesh Gawande almost 6 years ago
- Related to Bug #4789: Update install.sh to install PSync added
Actions