Task #4642
closedUpdate producers across platform to unregister prefixes instead of shutting down face
100%
Description
Per #4636, to ensure that the last transmitted Data is not lost, producers need to unregister prefixes to cause Face::processEvents()
to return, instead of calling Face::shutdown()
. These changes need to be made to producers across the entire platform.
Updated by Eric Newberry over 6 years ago
- Related to Task #4636: Modify docs to show producers unregistering prefixes to shut down faces added
Updated by Eric Newberry over 6 years ago
- Status changed from New to In Progress
Updated by Eric Newberry over 6 years ago
- % Done changed from 0 to 10
It appears that the following producers already utilize the unregisterPrefix()
mechanism to halt their faces (or potentially some other mechanism that doesn't utilize shutdown()
right after sending a Data packet):
- ndnpingserver
- ndnputchunks
- ndn-pib
- name-based-access-control producers
- repo-ng
- ChronoShare
- ndncert
- ndn-autoreg
- ndn-autoconfig-server
Meanwhile, the follow producers utilize the shutdown()
mechanism and need to modified to utilize it (if they're still in use):
- ndnpoke
- ndn-traffic-server
- ndn-atmos cxx-producer
Updated by Eric Newberry over 6 years ago
I removed ndnputchunks from the list of producers needing to be modified, since it only calls Face::shutdown()
in response to a prefix registration error.
Updated by Eric Newberry over 6 years ago
- Status changed from In Progress to Code review
- % Done changed from 10 to 70
Patches for ndnpoke and ndn-traffic-server have been pushed to Gerrit for review.
Updated by Eric Newberry over 6 years ago
Note that I will not be changing instances where Face::shutdown()
is called in response to a SIGINT, as exiting immediately seems likely to be the intended behavior in response to that signal.
Updated by Eric Newberry over 6 years ago
- % Done changed from 70 to 100
Susmit told me not to worry about cxx-producer in ndn-atmos, as ndn-atmos is unable to compile against current versions of ndn-cxx (because it still uses C++11).
Updated by Eric Newberry over 6 years ago
The fix for ndn-traffic-server has been merged.
Updated by Eric Newberry over 6 years ago
- Status changed from Code review to Closed
The fix for ndnpoke has been merged.
Updated by Davide Pesavento over 6 years ago
- Status changed from Closed to Feedback
Reopening. Eric reports that the fix for ndn-traffic-server is not working as expected.
Updated by Eric Newberry over 6 years ago
- Status changed from Feedback to Code review
I discovered that this was caused by the asio SIGTERM handler not being cleared properly. A change has been pushed to Gerrit: https://gerrit.named-data.net/#/c/ndn-traffic-generator/+/4832/
Updated by Eric Newberry over 6 years ago
Eric Newberry wrote:
I discovered that this was caused by the asio SIGTERM handler not being cleared properly. A change has been pushed to Gerrit: https://gerrit.named-data.net/#/c/ndn-traffic-generator/+/4832/
Correction: Actually it's the handler for SIGINT and SIGTERM.
Updated by Davide Pesavento over 6 years ago
- Status changed from Code review to Closed