Project

General

Profile

Wiki » History » Version 17

Shuo Chen, 04/10/2014 04:26 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 15 Shuo Chen
* [C++ 03](http://en.cppreference.com/w/), [code style guidelines](http://redmine.named-data.net/projects/nfd/wiki/CodeStyle)
22
* [Boost >=1.48.0](http://www.boost.org/doc/libs/1_48_0/), we use [|a limited set of Boost libraries](http://redmine.named-data.net/projects/nfd/wiki/Boost)
23
* [Boost Unit Test Framework](http://www.boost.org/doc/libs/1_48_0/libs/test/doc/html/index.html), more information on [[unit testing](http://redmine.named-data.net/projects/nfd/wiki/UnitTesting)
24 14 Shuo Chen
* [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]]
31 16 Shuo Chen
32
### current supported functions
33 17 Shuo Chen
34
Most parts of the protocol are supported in repo-ng. The following specifications are not supported in current version.