Task #2280
closed
- Subject changed from LSA Publisher to Implement LSDB Dataset Publisher
- Description updated (diff)
- Related to Task #2032: Create specification for NLSR Lsdb dataset added
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?
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?
- Status changed from New to Code review
- % Done changed from 0 to 90
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
});
- Status changed from Code review to Closed
- % Done changed from 90 to 100
Also available in: Atom
PDF