next up previous contents index
Next: Accessors Up: Persistent Storage Classes Previous: ArenaInitialBlock Class

Window Class

 


  
Figure 3.16: Window Class
\begin{figure}
\begin{center}

\includegraphics [scale=.87]{Window.ps}
\end{center}\end{figure}

The Window class (See Figure 3.16) represents a mapping of a region of the Arena storage file in the main memory. It is derived from the MMap class (See Section 3.2.1), and also implements the SortableObject interface (See Section 3.2.2). The class is invisible from the user.

The significant extension of the class from the base class MMap is that it treats the mapped region as a collection of persistent objects. The member variable objectTable maintains the inventory of the persistent objects mapped in the region. Each element of the objectTable is an instance of the PersistentOffset class (See Section 3.3.9), which handles the information on the object such as its offset, whether it is grabbed or not, whether it is in use or not, whether it is fragmented or not, and how many pointers are read-only-grabbing the object.

The member variables totalGrabCount and totalGrabCountReadOnly are synchronized with the manipulations on the objectTable. The member variable dirty is the flag for the modifications on the objects in the Window after the last synchronization. This flag is not fully implemented in the current version of the persistent storage.



 
next up previous contents index
Next: Accessors Up: Persistent Storage Classes Previous: ArenaInitialBlock Class
Mori Tetsuya / t2y3141592@gmail.com