Project

General

Profile

Wiki » History » Version 14

Shuo Chen, 03/26/2014 06:40 AM

1 12 Shuo Chen
Repo protocol and repo-ng
2 2 Alex Afanasyev
=============
3 1 Alex Afanasyev
4 13 Shuo Chen
## Repo protocol
5
6 5 Shuo Chen
**Repo protocol** is semantics and operating process for persistent storage node in NDN. The operation of NDN repo includes reading from, insertion to and deleting from data objects in NDN repository nodes.
7 3 Shuo Chen
8 1 Alex Afanasyev
**Repo protocol** is based on [Command Interests](http://redmine.named-data.net/projects/nfd/wiki/Command_Interests) specification.
9 5 Shuo Chen
10 7 Shuo Chen
**Repo protocol** conforms to **protocols and specifications** for operating and controlling.
11 5 Shuo Chen
12 6 Shuo Chen
* [NFD command interests](http://redmine.named-data.net/projects/nfd/wiki/Command_Interests) for constructing signed interest of access control.
13 10 Shuo Chen
* [[Repo Protocol Specification|Repo Protocol Specification]]
14 11 Shuo Chen
* [NFD Control Command specification](http://redmine.named-data.net/projects/nfd/wiki/ControlCommand): The reponse of insertion and deletion command will follow the response format of this specification, but with different defination of status code.
15 13 Shuo Chen
16
## repo-ng
17
18
**repo-ng** (repo-new generation) is an implementation of NDN persistent in-network storage conforming to **Repo protocol**. It uses [ndn-cpp-dev](http://redmine.named-data.net/projects/ndn-cpp-dev) as NDN client library and database sqlite3 as underlying data storage.
19 14 Shuo Chen
20
### platform and libraries
21
* [C++ 03](http://en.cppreference.com/w/), [[CodeStyle|code style guidelines]]
22
* [Boost >=1.48.0](http://www.boost.org/doc/libs/1_48_0/), we use [[Boost|a limited set of Boost libraries]]
23
* [Boost Unit Test Framework](http://www.boost.org/doc/libs/1_48_0/libs/test/doc/html/index.html), more information on [[UnitTesting|unit testing]]
24
* [ndn-cpp-dev](https://github.com/named-data/ndn-cpp-dev), Extended version of NDN C++ client library 
25
* [waf build system](https://code.google.com/p/waf/)
26
* [sqlite3](http://sqlite.org/)
27
28
### specific design
29
* [[Database design|Database design]]
30
* [[Software Structure|Software Structure]]