Project

General

Profile

Actions

Feature #4082

closed

Sync Protocol Adapters

Added by Nicholas Gordon over 7 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Low
Assignee:
-
Target version:
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:

  1. Design an internal interface that NLSR modules need any sync protocol to provide.
  2. Design a framework that allows for dissimilar sync protocol interfaces to adapt to the NLSR-internal interface.
  3. 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

Sync-refactor-proposal.pdf (80.1 KB) Sync-refactor-proposal.pdf Nicholas Gordon, 05/19/2017 02:44 PM

Related issues 1 (0 open1 closed)

Related to mini-ndn - Bug #4789: Update install.sh to install PSyncClosedAshlesh Gawande

Actions
Actions #1

Updated by Nicholas Gordon over 7 years ago

  • Priority changed from Normal to Low
Actions #2

Updated by Nicholas Gordon over 7 years ago

  • Tracker changed from Task to Feature
Actions #3

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)
Actions #4

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
Actions #5

Updated by Ashlesh Gawande almost 6 years ago

  • Status changed from Code review to Closed

PSync also added as part of this.

Actions #6

Updated by Ashlesh Gawande almost 6 years ago

  • Related to Bug #4789: Update install.sh to install PSync added
Actions

Also available in: Atom PDF