PagePool and its derived classes are used by servers to generate page information (name, size, modification time, lifetime, etc.), by caches to describe which pages are in storage, and by clients to generate a request stream. Figure 41.3 provides an overview of the class hierarchy here.
Among these, class PagePool/Client is mostly used by caches to store pages and other cache-related information; other three classes are used by servers and clients. In the following we describe these classes one by one.