Project

General

Profile

Actions

Task #1137

closed

mock implementation of InternalFace

Added by Junxiao Shi almost 11 years ago. Updated almost 11 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Management
Target version:
Start date:
Due date:
01/26/2014
% Done:

0%

Estimated time:
1.00 h

Description

Implement a subset of InternalFace.

This InternalFace does not invoke authorization and reply encryption steps.

Management module

InternalFace interface


Related issues 4 (0 open4 closed)

Related to ndn-cxx - Task #1161: Mock implementation of signed interest (actually signed name)ClosedYingdi Yu01/27/2014

Actions
Related to ndn-cxx - Task #1162: Implement FIB management protocol in ndn-cppClosedWentao Shang01/28/2014

Actions
Precedes NFD - Task #1138: mock implementation of FIB Management command handlerClosed01/30/2014

Actions
Precedes NFD - Task #1140: mock forwarder integrationClosedJunxiao Shi01/31/201401/31/2014

Actions
Actions #1

Updated by Junxiao Shi almost 11 years ago

  • Start date deleted (01/25/2014)
Actions #2

Updated by Alex Afanasyev almost 11 years ago

  • Target version set to Mock
Actions #3

Updated by Anonymous almost 11 years ago

  • Assignee set to Anonymous
Actions #4

Updated by Junxiao Shi almost 11 years ago

There is some inconsistency in the UML design.

My intention for the mock impl is:

  1. check the first three components are /localhost/nfd/prefixreg ; otherwise drop the Interest
  2. gives it to FIB mgmt module #1138
Actions #5

Updated by Alex Afanasyev almost 11 years ago

  • Subject changed from mock implementation of command processor to mock implementation of InternalFace
  • Description updated (diff)
Actions #6

Updated by Junxiao Shi almost 11 years ago

InternalFace appears like an app face to forwarder, and appears like a client face to *Manager.

interface InternalFace : Face {
  // ---- APIs for forwarder
  // 'send' means passing packet from forwarder to *Manager
  // 'receive' means passing packet from *Manager to forwarder

  // forwarder passes Interest to *Manager
  // In mock, this shall check first 3 components are "/localhost/nfd/prefixreg" and invoke FibManager.
  void sendInterest(const Interest& interest);

  // forwarder passes Data to *Manager
  // In mock, this is an empty function.
  void sendData(const Data& data);

  // ---- APIs for *Manager

  // *Manager passes Data to forwarder
  // This shall trigger onReceiveData event.
  void put(const Data& data);
}
Actions #7

Updated by Junxiao Shi almost 11 years ago

20140128 conference call decides that InternalFace should be split into two parts: one for forwarder, one for *Manager.

// APIs for forwarder
// 'send' means passing packet from forwarder to *Manager
// 'receive' means passing packet from *Manager to forwarder
interface InternalFace : Face {
  // forwarder passes Interest to *Manager
  // In mock, this shall check first 3 components are "/localhost/nfd/prefixreg" and invoke FibManager.
  void sendInterest(const Interest& interest);

  // forwarder passes Data to *Manager
  // In mock, this is an empty function.
  void sendData(const Data& data);
}

// APIs for *Manager, similar to ndn-cpp-dev Face class
interface CommandFace {
  // *Manager passes Data to forwarder
  // This shall trigger InternalFace's onReceiveData event.
  void put(const Data& data);
}

An implementation could define two classes InternalFace and CommandFace, and either declare an InternalFaceImpl class that inherits from both interface classes, or find some way to tie InternalFace and CommandFace together.

Actions #8

Updated by Alex Afanasyev almost 11 years ago

Actually. It still can be one class, but just implement these two interfaces...

Actions #9

Updated by Alex Afanasyev almost 11 years ago

Steve, do you have progress on this? Do you need help? We really need this thing to be working asap...

Actions #10

Updated by Alex Afanasyev almost 11 years ago

  • Description updated (diff)
Actions #11

Updated by Anonymous almost 11 years ago

  • Status changed from New to Code review
Actions #12

Updated by Junxiao Shi almost 11 years ago

  • Status changed from Code review to In Progress

This task should not be put in CODE REVIEW status until implementation and unit testing are complete.

Actions #13

Updated by Alex Afanasyev almost 11 years ago

  • Category set to Management
Actions #14

Updated by Anonymous almost 11 years ago

  • Status changed from In Progress to Closed
Actions #15

Updated by Junxiao Shi almost 11 years ago

  • Description updated (diff)
Actions

Also available in: Atom PDF