Stores things in the format:
Writes stuff (T values) down under the given directory structures:
Writes stuff (T values) down under the given directory structures:
<dir>/dates/<date>/<hour>/<minute>/<second>_<nano>_<id> = *data*
where *data* is determined by the given Persist, which is either the data itself or a linked file.
The implicit Persist may only link to the former instead of serializing the data
the value to save/retrieve
the directory under which all the data will be stored
the Persist instance to use in saving (or linking) the data.
a means of deserializing a T from bytes
the ability to name the T values w/ an ID (as multiple Ts can exist for the same instant)
Stores things in the format:
When a tag value is not alphanumeric, or is longer than 'maxTagValueLen':
<root dir>/tags/<tag>/<value hash>/<id>/.value = <value> <root dir>/tags/<tag>/<value hash>/<id>/.data = <data>
or, when the tag value IS alphanumber and within 'maxTagValueLen':
<root dir>/tags/<tag>/<value>/<id>/.data
It also stores:
<root dir>/ids/<id>/<tag> = <value>
for queries on just the id (e.g. list tags), or when the id and tag are known
the value type
the directory to store the data
the maximum allowed length of tags
the ability to persist T values
the ability to determine an ID for T values
the ability to read T values from byte arrays