Feature #2295
closed
Added by Junxiao Shi almost 11 years ago.
Updated almost 11 years ago.
Description
Develop a ScopedEventId type which stores an EventId and cancels it upon destruction.
ScopedEventId is default constructible; it doesn't contain an EventId when default constructed
ScopedEventId is implicitly constructible from EventId
ScopedEventId is assignable from EventId
- when
ScopedEventId is destructed, the EventId it holds is cancelled
- when a different
EventId is assigned to ScopedEventId, the EventId it previously holds is cancelled
ScopedEventId is noncopyable
ScopedEventId is moveable
- Description updated (diff)
- Status changed from New to In Progress
- Project changed from ndn-cxx to NFD
- Category changed from Utils to Core
- Target version changed from v0.3 to v0.3
I quickly realize that this Feature is unfeasible in ndn-cxx, because EventId does not reference Scheduler, and Scheduler is not global.
Therefore, I'll implement this in NFD, given that it's only used in NFD strategy.
- Status changed from In Progress to Code review
- % Done changed from 0 to 100
I could be ok with embedding reference to scheduler within ndn-cxx and then adding ScopedEventId. I'm thinking about just reference, without any guarantee for scheduler lifetime (i.e., if scheduler is destroyed before EventId, this should cause segfault).
I could be ok with embedding reference to scheduler within ndn-cxx and then adding ScopedEventId. I'm thinking about just reference, without any guarantee for scheduler lifetime (i.e., if scheduler is destroyed before EventId, this should cause segfault).
I don't want to do that now because it's not needed.
It could be a separate Feature, after which nfd::scheduler::ScopedEventId could import from.
- Status changed from Code review to Closed
Also available in: Atom
PDF