Task #1137
closedmock implementation of InternalFace
0%
Description
Implement a subset of InternalFace.
This InternalFace does not invoke authorization and reply encryption steps.
Updated by Junxiao Shi almost 11 years ago
There is some inconsistency in the UML design.
My intention for the mock impl is:
- check the first three components are /localhost/nfd/prefixreg ; otherwise drop the Interest
- gives it to FIB mgmt module #1138
Updated by Alex Afanasyev almost 11 years ago
- Subject changed from mock implementation of command processor to mock implementation of InternalFace
- Description updated (diff)
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);
}
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.
Updated by Alex Afanasyev almost 11 years ago
Actually. It still can be one class, but just implement these two interfaces...
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...
Updated by Anonymous almost 11 years ago
- Status changed from New to Code review
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.
Updated by Anonymous almost 11 years ago
- Status changed from In Progress to Closed