Project

General

Profile

Task #3088

Updated by Junxiao Shi about 9 years ago

Refactor `Face` to support [[NDNLPv2]] link service and permanent faces. 

 High-level design: <https://gist.github.com/yoursunny/22a7d53711b4e9bc198a> 

 This issue implements: 

 * `LinkService` and `Transport` base classes 
 * minimal `GenericLinkService` that only does Interest/Data/Nack \<=\> LpPacket encoding and decoding 
 * non-inheritable `Face` class that combines a `LinkService` and a `Transport`; 
   to avoid conflicts with old `nfd::Face`, this class is temporarily named `LpFace` 
 * `sendNack` method and `onReceiveNack` signal on old `nfd::Face`, so that forwarding can use them; 
   in `nfd::Face` base class, these do nothing 
 * `LpFaceWrapper` class which is an adapter that inherits from old `nfd::Face` but wraps an `LpFace` 

 This is an initial step toward a Face that supports [[NDNLPv2]] and full-featured permanent face.

Back