Project

General

Profile

Actions

Task #2280

closed

Implement LSDB Dataset Publisher

Added by Jiewen Tan over 9 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Target version:
-
Start date:
12/08/2014
Due date:
% Done:

100%

Estimated time:

Description

Implement LSDB DataSet Publisher to publish the LSA information from the LSDB using the defined LSDB DataSet.


Related issues 1 (0 open1 closed)

Related to NLSR - Task #2032: Create specification for NLSR Lsdb datasetClosedVince Lehman10/07/2014

Actions
Actions #1

Updated by Vince Lehman over 9 years ago

  • Subject changed from LSA Publisher to Implement LSDB Dataset Publisher
  • Description updated (diff)
Actions #2

Updated by Lan Wang over 9 years ago

  • Related to Task #2032: Create specification for NLSR Lsdb dataset added
Actions #3

Updated by Junxiao Shi about 9 years ago

Design question:

Why is LSDB Status dataset designed to have only one element: the LsdbStatus block?

Why not put AdjacencyLsa, CoordinateLsa, NameLsa directly in the dataset?

Actions #4

Updated by Vince Lehman about 9 years ago

Junxiao Shi wrote:

Design question:

Why is LSDB Status dataset designed to have only one element: the LsdbStatus block?

Why not put AdjacencyLsa, CoordinateLsa, NameLsa directly in the dataset?

Maybe I am misunderstanding the question, but LsdbStatus, a list of AdjacencyLsas, a list of CoordinateLsas, and a list of NameLsas are all separately retrievable.

/$ROUTER_NAME/lsdb/list
/$ROUTER_NAME/lsdb/adjacencies
/$ROUTER_NAME/lsdb/coordinates
/$ROUTER_NAME/lsdb/names

Did you mean why have the LsdbStatus block at all and instead just directly publish the lists in the dataset?

Actions #5

Updated by Jiewen Tan about 9 years ago

  • Status changed from New to Code review
  • % Done changed from 0 to 90
Actions #6

Updated by Alex Afanasyev about 9 years ago

To implement Junxiao suggestion, you can do something similar to (not the exact code):

Face face;
face.registerPrefix("/$ROUTER_NAME/lsdb/",
                [&face] (const Name& prefix) {
                  face.setInterestFilter(Name(prefix).add("adjacencies"),
                                         onAdjacenciesCallback);
                  face.setInterestFilter(Name(prefix).add("coordinates"),
                                         onCoordinatesCallback);
                  ...
                },
                [] (const Name& prefix, const std::string& errMsg) {
                  ... log errors
                });
Actions #7

Updated by Vince Lehman almost 9 years ago

  • Status changed from Code review to Closed
  • % Done changed from 90 to 100
Actions

Also available in: Atom PDF