• Chris McDonough's avatar
    Moved TransientObjects into their own module. · dec36cac
    Chris McDonough authored
    Removed wrap_with argument from new and new_or_existing methods
    of Transient Data Containers.
    
    Removed delete method of Transient Data Containers.
    
    Added out-of-memory protection to Transient Data Containers.  A
      new __init__ value ('limit') is used to specify the max number
      of objects that can be contained within a transient data container.
      A new envvar ZSESSION_OBJECT_LIMIT can be used to control the
      limit of the default session_data TDC.  Also updated help and
      API docs with this change.
    
    Added a new exception, MaxTransientObjectsExceeded, which is raised
      when the OOM protection kicks in.
    
    Various implementation changes including the use of a BTrees Length
      object to store Transient Data Container length info as well
      as improvements to how buckets are expired.
    
    Addition of tests for OOM protection fatures.
    dec36cac
TransienceInterfaces.py 12.4 KB