Package

agora.io.dao

instances

Permalink

package instances

Visibility
  1. Public
  2. All

Type Members

  1. class FileIdDao[T] extends IdDao[String, T]

    Permalink
  2. case class FileTagDao[T](rootDir: Path, maxTagLen: Int, maxTagValueLen: Int)(implicit persist: Persist[T], hasId: HasId[T], fromBytes: FromBytes[T]) extends TagDao[T] with Product with Serializable

    Permalink

    Stores things in the format:

    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

    T

    the value type

    rootDir

    the directory to store the data

    maxTagLen

    the maximum allowed length of tags

    persist

    the ability to persist T values

    hasId

    the ability to determine an ID for T values

    fromBytes

    the ability to read T values from byte arrays

  3. class FileTimestampDao[T] extends TimestampDao[T]

    Permalink

    Writes stuff down in the directory structures:

    Writes stuff down in the directory structures:

    <dir>/dates/<date>/<hour>/<minute>/<second>_<nano>_<id>

    and

    <dir>/ids/<id> = <timestamp>

    The implicit Persist may only link to the former instead of serializing the data

  4. case class InMemoryTagDao[T]() extends TagDao[T] with Product with Serializable

    Permalink
  5. class NoOpTagDao[T] extends TagDao[T]

    Permalink

Value Members

  1. object FileTimestampDao

    Permalink
  2. object SanitiseTest extends App

    Permalink

Ungrouped