Declaration for caching pool. Application doesn't normally need to care about the contents of this struct, it is only provided here because application need to define an instance of this struct (we can not allocate the struct from a pool since there is no pool factory yet!).
Forward declaration for caching pool, a pool factory implementation.