Feature #2295
closed
Added by Junxiao Shi almost 10 years ago.
Updated almost 10 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