Project

General

Profile

Actions

Task #3397

closed

Developer Guide: Face system organization

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

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

100%

Estimated time:
6.00 h

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.


Related issues 1 (0 open1 closed)

Blocked by NFD - Feature #3173: Developer Guide: Face=LinkService+Transport and GenericLinkServiceClosedJunxiao Shi

Actions
Actions #1

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.

Actions #2

Updated by Junxiao Shi almost 9 years ago

  • Blocked by Feature #3173: Developer Guide: Face=LinkService+Transport and GenericLinkService added
Actions #3

Updated by Junxiao Shi almost 9 years ago

  • Description updated (diff)
Actions #4

Updated by Eric Newberry almost 9 years ago

  • Status changed from New to In Progress
Actions #5

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.

Actions #6

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.

Actions #7

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.
Actions #8

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 listening socket, and Transport owns a socket connected to a remote endpoint.
Actions #9

Updated by Eric Newberry over 8 years ago

Revisions based upon notes 7 and 8 have been pushed.

Actions #10

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?
Actions #11

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.

Actions #12

Updated by Alex Afanasyev over 8 years ago

I made an update of the figure, including removal of "nfd" from FaceManager.

Actions #13

Updated by Eric Newberry over 8 years ago

Revisions based upon note 10 have been pushed.

Actions #14

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.
Actions #15

Updated by Eric Newberry over 8 years ago

Revisions based upon note 14 have been pushed.

Actions #16

Updated by Junxiao Shi over 8 years ago

  • Status changed from Code review to Closed

Text at nfd:commit:ebe5bcffff070f86fd94bf6a69e6b8e662e3bdbe looks good.

Actions

Also available in: Atom PDF