Project

General

Profile

Actions

Feature #2989

closed

Minimal UDP permanent face

Added by Junxiao Shi almost 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Faces
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
5.00 h

Description

Implement a minimal UDP permanent face.

In this minimal implementation,

  • UdpFace constructor accepts FacePersistency persistency parameter in place of bool isOnDemand.
  • If persistency == FacePersistency::PERMANENT, the face ignores all socket errors after successful creation.
    Errors during the initial face creation should be reported as usual.
  • There is no UP/DOWN state transitions.
    An operator who decides to use a permanent face must take care to choose a strategy that is able to try multiple faces (ie. not best-route).

This Feature also includes the following changes:

  • Face::isOnDemand and Face::setOnDemand are replaced with Face::getPersistency and Face::setPersistency (also, bool m_isOnDemand is replaced with FacePersistency m_persistency); all usages of those methods shall be replaced
  • ProtocolFactory::createFace needs a FacePersistency persistency parameter.
    If a ProtocolFactory subclass does not support the specified persistency, throw ProtocolFactory::Error.
  • UdpFactory::createFace should support FacePersistency::PERSISTENT and FacePersistency::PERMANENT.
  • FaceManager::createFace passes FacePersistency::PERSISTENT to ProtocolFactory::createFace.

To allow an operator to use UDP permanent faces, management and nfdc changes are needed, but they are not part of this issue.


Related issues 3 (0 open3 closed)

Related to NFD - Task #2491: Design permanent facesClosedJunxiao Shi

Actions
Related to NFD - Task #2696: Document the behavior of persistent and on-demand facesClosedJunxiao Shi

Actions
Blocks NFD - Feature #2991: FaceManager: specify face persistencyClosedYukai Tu

Actions
Actions

Also available in: Atom PDF