A TupleEntry is a Tuple (i.e. a possible entry in some Tuplespace)
together with expiry and cancellation data.
     
  
  
  
  
  
  
    
    Methods
    
      
        - #
 
        - 
          
        
 
      
        - A
 
        - 
          
        
 
      
        - C
 
        - 
          
        
 
      
        - E
 
        - 
          
        
 
      
        - F
 
        - 
          
        
 
      
        - M
 
        - 
          
        
 
      
        - N
 
        - 
          
        
 
      
        - R
 
        - 
          
        
 
      
        - S
 
        - 
          
        
 
      
        - V
 
        - 
          
        
 
      
    
  
  
    
    Included Modules
    
  
  
    
    
    
    
      
      Attributes
      
    
    
    
      Class Public methods
      
        
          
          
          
            
              Creates a TupleEntry based on
ary with an optional renewer or expiry time sec.
A renewer must implement the renew method which returns a Numeric, nil, or true to indicate when the tuple
has expired.
             
          
          
          
          
          
          
            
            
              
              
                Source: 
                show
                
                  | on GitHub
                
              
              
                
def initialize(ary, sec=nil)
  @cancel = false
  @expires = nil
  @tuple = make_tuple(ary)
  @renewer = nil
  renew(sec)
end
               
             
            
           
                  
      Instance Public methods
      
        
          
          
          
            
              Retrieves key from the tuple.
             
          
          
          
          
          
          
            
            
            
           
        
        
          
          
          
            
              A TupleEntry is dead when it is canceled or
expired.
             
          
          
          
          
          
          
            
            
            
           
        
        
        
        
          
          
          
            
              Returns the canceled status.
             
          
          
          
          
          
          
            
            
            
           
        
        
          
          
          
            
              Has this tuple expired? (true/false).
A tuple has expired when its expiry timer based on the sec
argument to initialize runs out.
             
          
          
          
          
          
          
            
            
              
              
                Source: 
                show
                
                  | on GitHub
                
              
              
                
def expired?
  return true unless @expires
  return false if @expires > Time.now
  return true if @renewer.nil?
  renew(@renewer)
  return true unless @expires
  return @expires < Time.now
end
               
             
            
           
        
        
          
          
          
            
              Fetches key from the tuple.
             
          
          
          
          
          
          
            
            
            
           
        
        
          
            
              make_expires(sec=nil)
            
            
Link
           
          
          
            
              Returns an expiry Time based on sec
which can be one of:
- Numeric
 - 
sec seconds into the future
 - true
 - 
the expiry time is the start of 1970 (i.e. expired)
 nil
- 
it is  Tue Jan 19 03:14:07 GMT Standard Time
2038 (i.e. when UNIX clocks will die)
 
             
          
          
          
          
          
          
            
            
              
              
                Source: 
                show
                
                  | on GitHub
                
              
              
                
def make_expires(sec=nil)
  case sec
  when Numeric
    Time.now + sec
  when true
    Time.at(1)
  when nil
    Time.at(2**31-1)
  end
end
               
             
            
           
        
        
          
          
          
            
          
          
          
          
          
          
            
            
              
              
                Source: 
                show
                
                  | on GitHub
                
              
              
                
def make_tuple(ary)
  Rinda::Tuple.new(ary)
end
               
             
            
           
        
        
          
            
              renew(sec_or_renewer)
            
            
Link
           
          
          
            
              Reset the expiry time according to sec_or_renewer.
- nil
 - 
it is set to expire in the far future.
 - false
 - 
it has expired.
 - Numeric
 - 
it will expire in that many seconds.
 
Otherwise the argument refers to some kind of renewer object which will
reset its expiry time.
             
          
          
          
          
          
          
            
            
              
              
                Source: 
                show
                
                  | on GitHub
                
              
              
                
def renew(sec_or_renewer)
  sec, @renewer = get_renewer(sec_or_renewer)
  @expires = make_expires(sec)
end
               
             
            
           
        
        
        
        
          
          
          
            
              Return the object which makes up the tuple itself: the Array or Hash.