Project

General

Profile

« Previous | Next » 

Revision 3b5c975f

Added by danij about 13 years ago

Extracted the file list functionality used for the opened and loaded
file lists maintained by the filesystem module and encapsulated it
in a new object named FileList.

Redesigned FileList into a random access container with an integral
(shared) node object pool and a 64-element block allocator. A node
pointer lookup table is used to allow for deferred allocation and
dynamic resizing of the container without invalidating public node
references. Lookup table allocation is also deferred.

Note that the public interface of FileList is not thread-safe. The
intention is that concurrency should be addressed at a higher level.

The limited set of operations peformed on the list and their usage
semantics means this model is near performance-optimal while still
allowing public references to nodes in the form of opaque pointers.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences