Feature #3296
closedIncomingFaceId, NextHopFaceId, CachePolicy as tags
100%
Description
Change IncomingFaceId, NextHopFaceId, CachePolicy into tags that can be attached onto a TagHost
.
Deprecate LocalControlHeader
type.
Make LocalControlHeader
getter and setter manipulate the corresponding tags on the Interest
or Data
.
This issue includes changing all LocalControlHeader
usages within ndn-cxx.
Since the change is backwards-compatible, this issue does not change LocalControlHeader
usages in other projects.
Updated by Junxiao Shi about 9 years ago
Alex approves this feature at 20151103 conference call.
Updated by Junxiao Shi almost 9 years ago
- Status changed from New to In Progress
- Assignee set to Junxiao Shi
Updated by Junxiao Shi almost 9 years ago
- Status changed from In Progress to Code review
- % Done changed from 70 to 100
http://gerrit.named-data.net/2589
When LocalControlHeader
backwards-compatibility is disabled: https://travis-ci.org/yoursunny/ndn-cxx-breaks/builds/90981532
NFD is affected, and will be fixed in #3339.
Other projects are unaffected.
Updated by Junxiao Shi almost 9 years ago
- Blocks Task #3339: Use IncomingFaceId, NextHopFaceId, CachePolicy tags added
Updated by Junxiao Shi almost 9 years ago
It appears that NFD build is still failing even if backwards-compatibility is enabled.
https://travis-ci.org/yoursunny/ndn-cxx-breaks/builds/90984603
The build failure is caused by NFD assuming <ndn-cxx/management/nfd-local-control-header.hpp>
includes some other headers, but they are no longer included now.
One choice is to add these includes back into <ndn-cxx/management/nfd-local-control-header.hpp>
even if they are not being used by that header.
The other choice is to keep ndn-cxx change intact but start working on #3339, because what other headers <ndn-cxx/management/nfd-local-control-header.hpp>
includes is not part of ndn-cxx public API.
I'm unsure which choice is better.
Updated by Junxiao Shi almost 9 years ago
Since NFD is the only affected project and will be fixed right away, shall I put on DEPRECATED macro right now, or even delete LocalControlHeader altogether?
My opinion is to put DEPRECATED, but not delete (I have a program that uses LocalControlHeader API, so others may have as well).
Updated by Davide Pesavento almost 9 years ago
Junxiao Shi wrote:
It appears that NFD build is still failing even if backwards-compatibility is enabled.
https://travis-ci.org/yoursunny/ndn-cxx-breaks/builds/90984603
The build failure is caused by NFD assuming<ndn-cxx/management/nfd-local-control-header.hpp>
includes some other headers, but they are no longer included now.
This clearly shows the danger of relying on transitive include dependencies (on library headers; intra-application transitive deps are usually fine). I think I already argued in the past that we should not rely on this, it's basically the same thing as using undocumented or private APIs.
One choice is to add these includes back into
<ndn-cxx/management/nfd-local-control-header.hpp>
even if they are not being used by that header.
The other choice is to keep ndn-cxx change intact but start working on #3339, because what other headers<ndn-cxx/management/nfd-local-control-header.hpp>
includes is not part of ndn-cxx public API.
I agree with Alex on this.
My opinion is to put DEPRECATED, but not delete (I have a program that uses LocalControlHeader API, so others may have as well).
This sounds like the safest option, but I'm fine either way.
Updated by Junxiao Shi almost 9 years ago
NFD has been fixed in #3339.
ndn-cxx-breaks https://travis-ci.org/yoursunny/ndn-cxx-breaks/builds/91243492
integ http://redmine.named-data.net/attachments/download/495/20151115170031.tgz (note: remote_register is expected failure)
Updated by Junxiao Shi almost 9 years ago
Updated by Junxiao Shi almost 9 years ago
- Status changed from Code review to Closed
Updated by Junxiao Shi about 8 years ago
- Blocks Feature #3755: Delete deprecated LocalControlHeader façade added