Task #3397
closedDeveloper Guide: Face system organization
Added by Junxiao Shi almost 9 years ago. Updated over 8 years ago.
100%
Description
In NFD Developer Guide face system section, add details about:
FaceManager
ProtocolFactory
Channel
- how faces are created from configuration
- how a face is created from a faces/create command
Afterwards, delete "face system (2014)" section, and delete the statement about "major refactoring" at the top of new "face system" section.
Updated by Junxiao Shi almost 9 years ago
- Assignee set to Eric Newberry
I've added specific writing tasks in nfd-docs:commit:ba9ab47e4d730ec7b9686306ac0b26a126313a3e labelled "TODO#3397".
Find them with grep 'TODO\\#3397' *.tex
.
Updated by Junxiao Shi almost 9 years ago
- Blocked by Feature #3173: Developer Guide: Face=LinkService+Transport and GenericLinkService added
Updated by Eric Newberry almost 9 years ago
- Status changed from New to In Progress
Updated by Eric Newberry almost 9 years ago
- Status changed from In Progress to Code review
- % Done changed from 0 to 80
Most changes have been pushed for review. Diagrams have not yet been added.
Updated by Eric Newberry over 8 years ago
- % Done changed from 80 to 100
Diagrams for this issue have been pushed with changes for #3396.
Updated by Junxiao Shi over 8 years ago
Review of Face section at nfd-docs:commit:f936e1c8fa281ba395972a861a4ad3e90c797307.
"Face Manager, Protocol Factory, and Channel" section:
- The beginning of this section lacks a transition from earlier topics. Earlier sections talk about the Face and what's inside, but this section switches to how *Face*s are organized.
- FaceManager: add a reference to its detailed description in Management section.
- FaceManager: the emphasis here should be how it organizes protocol factories, and how it determines which ProtocolFactory to use when creating a face.
- Give a definition of ProtocolFactory.
- ProtocolFactory: typo "avalable".
- Give a definition of Channel.
- Add details about specific channels. For example, the ownership of listening socket in TcpChannel and UdpChannel, and the ownership of WebSocket server handle in WebSocketChannel.
- "how faces are created from configuration" topic is missing.
- "how a face is created from a faces/create command" topic is missing.
Updated by Junxiao Shi over 8 years ago
Additional review at nfd-docs:commit:e5421bb278f4fa6c5ed628b584fe64697ce7f9e9.
"interactions" figure:
- The figure is too small. I cannot read any text when zoomed at the same size of a US-Letter paper. Either split it into multiple figures, or rotate 90deg and let it take up whole page.
- Why is "FaceManager" element labelled "(nfd)"?
- Indicate that Channel owns the
listen
ing socket, and Transport owns a socketconnect
ed to a remote endpoint.
Updated by Eric Newberry over 8 years ago
Revisions based upon notes 7 and 8 have been pushed.
Updated by Junxiao Shi over 8 years ago
Review of Face section at nfd-docs:commit:8c2ceec3492e9f7105569cd0e7dbb036885992a1.
"Face Manager, Protocol Factory, and Channel" section:
- FaceManager: add a section reference to its detailed description in Management section.
- FaceManager: the emphasis here should be how it organizes protocol factories, and how it determines which ProtocolFactory to use when creating a face. StatusDataset, etc, are irrelevant.
- FaceManager: the description about determining which
ProtocolFactory
to use when creating a face should be moved to "Creation of Faces From faces/create Command" section. - Who calls
ProtocolFactory::createChannel
?
"Creation of Faces From Configuration" section:
- What is "protocol sections"? It is "
face_system
section". - Does
FaceManager
indeed create TCP/UDP/WebSocket *face*s from configuration?
"interactions" figure:
- The figure is too small. It's hard to read any text when zoomed at the same size of a US-Letter paper. Either split it into multiple figures, or let it take up whole page with smaller margin.
- Why is "FaceManager" element labelled "(nfd)"? Isn't everything part of NFD?
Updated by Eric Newberry over 8 years ago
Junxiao Shi wrote:
- Why is "FaceManager" element labelled "(nfd)"? Isn't everything part of NFD?
I can't seem to remove that text from the figure.
Updated by Alex Afanasyev over 8 years ago
I made an update of the figure, including removal of "nfd" from FaceManager.
Updated by Eric Newberry over 8 years ago
Revisions based upon note 10 have been pushed.
Updated by Junxiao Shi over 8 years ago
Review of Face section at nfd-docs:commit:d77bef6faf22845d1dbbfafc20dd878f040ce5de.
"Creation of Faces From Configuration" section:
- "FaceManager directs the factory to create a multicast face for each protocol" is incomplete. It creates a multicast face for each protocol on each network interface.
"interactions" figure:
- The figure is too small. It's hard to read any text when zoomed at the same size of a US-Letter paper. Either split it into multiple figures, or rotate 90deg and let it take up whole page with smaller margin.
Updated by Eric Newberry over 8 years ago
Revisions based upon note 14 have been pushed.
Updated by Junxiao Shi over 8 years ago
- Status changed from Code review to Closed
Text at nfd:commit:ebe5bcffff070f86fd94bf6a69e6b8e662e3bdbe looks good.