From: danl_miller (danl_miller_at_[hidden])
Date: 2002-03-09 17:35:20
--- In boost_at_y..., "Rainer Deyke" <root_at_r...> wrote:
> I have written a templated cache class for my personal use. Is
> interest in this for inclusion in Boost?
> Rainer Deyke | root_at_r... | http://rainerdeyke.com
Please provide any background, references, and/or prior art of the
school-of-thought from where the cache class template concept comes.
Please explain the mission and scope-of-usage for this cache class
template which have. For example, the following questions about a
"cache class template" come to mind:
What is being cached?
From which slower-throughput storage/etc is the cached-stuff coming?
What stimulus causes the stuff to migrate to cached-stuff?
What stimulus causes the cached-stuff to migrate to stuff?'
Can the cache operate in a read mode, write mode, or both
If in write-mode or read-write-mode, does the cache behave according
to the write-through technique or the write-back technique.
[Write-through is where reads are cached, but writes go direct to the
slower medium uncached, causing the updated data in the read-cache to
be recached so that subsequent reads have the new value. Write-back
is where reads are from the cache and writes are to the cache with
some form of stimuli to migrate data to and from the cache.]
Which datatypes are permitted to be within the stuff & cached-stuff
(e.g., are pointers permitted to be within the cached-stuff & stuff)?
If pointers are permitted to be within cached-stuff & stuff, then do
addresses undergo translation as they go from initial-RAM-cache to
slower medium (presumably not RAM) back to retrieval-RAM-cache where
the retrieval-RAM-cache might be in a different process/address-space
than the initial-RAM-cache?
Given the most expansive definition of what "cache class template"
could possibly mean (e.g., something similar to ObjectStore), yes,
such a full-featured in-RAM cache of C++ objects capable of existing
outside of RAM in a slower medium shared between processes would be
very useful. But maybe such a huge undertaking is not what you
intend. Please be more specific.
What is ObjectStore?