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.
- ScopedEventIdis default constructible; it doesn't contain an- EventIdwhen default constructed
- ScopedEventIdis implicitly constructible from- EventId
- ScopedEventIdis assignable from- EventId
- when ScopedEventIdis destructed, theEventIdit holds is cancelled
- when a different EventIdis assigned toScopedEventId, theEventIdit previously holds is cancelled
- ScopedEventIdis noncopyable
- ScopedEventIdis 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