Directories
¶
| Path | Synopsis |
|---|---|
|
Package descriptor defines object types for the runtime: the schema vocabulary that datatype plugins register instead of implementing methods.
|
Package descriptor defines object types for the runtime: the schema vocabulary that datatype plugins register instead of implementing methods. |
|
internal
|
|
|
authtest
Package authtest provides a trivial in-memory Authenticator for the core module's own tests.
|
Package authtest provides a trivial in-memory Authenticator for the core module's own tests. |
|
jsonscan
Package jsonscan is the shared single-pass JSON scanner behind the record codec and the hot value checks.
|
Package jsonscan is the shared single-pass JSON scanner behind the record codec and the hot value checks. |
|
keyenc
Package keyenc is the shared order-preserving key encoding used by every component that stores data in a backend.Backend (objectdb and the KV blob store).
|
Package keyenc is the shared order-preserving key encoding used by every component that stores data in a backend.Backend (objectdb and the KV blob store). |
|
Package jmap defines the wire types of the JMAP protocol (RFC 8620): the request/response envelope, the session resource, identifiers, and the error taxonomy.
|
Package jmap defines the wire types of the JMAP protocol (RFC 8620): the request/response envelope, the session resource, identifiers, and the error taxonomy. |
|
Package objectdb is the runtime's object database: collections of typed records with in-commit index maintenance, a per-account change log, and per-type state strings, built once over any backend.Backend.
|
Package objectdb is the runtime's object database: collections of typed records with in-commit index maintenance, a per-account change log, and per-type state strings, built once over any backend.Backend. |
|
maintain
Package maintain schedules objectdb's storage reclamation: trimming change logs (RFC 8620 section 5.2 permits answering cannotCalculateChanges once old entries are gone) and collecting unreferenced blobs (section 6 leaves the collection schedule to the server).
|
Package maintain schedules objectdb's storage reclamation: trimming change logs (RFC 8620 section 5.2 permits answering cannotCalculateChanges once old entries are gone) and collecting unreferenced blobs (section 6 leaves the collection schedule to the server). |
|
private
|
|
|
rawjson
Package rawjson reads single values out of raw JSON bytes without the reflection, intermediate maps, or allocations of encoding/json's generic paths.
|
Package rawjson reads single values out of raw JSON bytes without the reflection, intermediate maps, or allocations of encoding/json's generic paths. |
|
providers
|
|
|
auth
Package auth defines the authentication provider.
|
Package auth defines the authentication provider. |
|
backend
Package backend defines the storage provider: a small ordered key-value contract that any engine can implement in a weekend.
|
Package backend defines the storage provider: a small ordered key-value contract that any engine can implement in a weekend. |
|
backend/backendtest
Package backendtest is the shared contract suite: every Backend implementation must pass the identical tests.
|
Package backendtest is the shared contract suite: every Backend implementation must pass the identical tests. |
|
backend/memory
Package memory is the in-memory Backend: the trivial reference implementation and the default for tests and development.
|
Package memory is the in-memory Backend: the trivial reference implementation and the default for tests and development. |
|
blob
Package blob defines the blob-store provider: persistence for the immutable binary data that blobIds represent (RFC 8620 section 6).
|
Package blob defines the blob-store provider: persistence for the immutable binary data that blobIds represent (RFC 8620 section 6). |
|
blob/chunkstore
Package chunkstore is a streaming blob.Store: it holds each blob's content (RFC 8620 section 6, the immutable binary data a blobId names) as a run of fixed-size pieces in a backend.Backend, so no whole blob is ever held in memory on the way in or out.
|
Package chunkstore is a streaming blob.Store: it holds each blob's content (RFC 8620 section 6, the immutable binary data a blobId names) as a run of fixed-size pieces in a backend.Backend, so no whole blob is ever held in memory on the way in or out. |
|
blob/fsstore
Package fsstore is a blob.Store on a plain filesystem: each blob's content (RFC 8620 section 6) is one file, named by its content address, written with the tmp-then-rename discipline every maildir-style mail store uses.
|
Package fsstore is a blob.Store on a plain filesystem: each blob's content (RFC 8620 section 6) is one file, named by its content address, written with the tmp-then-rename discipline every maildir-style mail store uses. |
|
blob/kvstore
Package kvstore is the reference blob.Store: blob content held in a backend.Backend under {acct} B {blobId}.
|
Package kvstore is the reference blob.Store: blob content held in a backend.Backend under {acct} B {blobId}. |
|
lease
Package lease defines the per-account writer lease: the concurrency half of the runtime's consistency contract.
|
Package lease defines the per-account writer lease: the concurrency half of the runtime's consistency contract. |
|
lease/leasetest
Package leasetest is the shared contract suite for lease.Manager implementations: the single-node in-process manager and any store-backed cluster variant must pass the identical tests, so a Manager that passes is behaviorally interchangeable with every other for the guarantees exercised here.
|
Package leasetest is the shared contract suite for lease.Manager implementations: the single-node in-process manager and any store-backed cluster variant must pass the identical tests, so a Manager that passes is behaviorally interchangeable with every other for the guarantees exercised here. |
|
notify
Package notify defines the Notifier provider: post-commit change fan-out feeding push (RFC 8620 section 7).
|
Package notify defines the Notifier provider: post-commit change fan-out feeding push (RFC 8620 section 7). |
|
notify/notifytest
Package notifytest is the shared contract suite for notify.Notifier implementations: the single-node in-process notifier and any store-backed cluster variant (e.g.
|
Package notifytest is the shared contract suite for notify.Notifier implementations: the single-node in-process notifier and any store-backed cluster variant (e.g. |
|
Package pushsub persists PushSubscription records (RFC 8620 section 7.2).
|
Package pushsub persists PushSubscription records (RFC 8620 section 7.2). |
|
Package runtime executes the JMAP protocol (RFC 8620): the session resource, the API endpoint, request dispatch, back-reference resolution, capability enforcement, and the standard methods derived from a datatype's descriptor.
|
Package runtime executes the JMAP protocol (RFC 8620): the session resource, the API endpoint, request dispatch, back-reference resolution, capability enforcement, and the standard methods derived from a datatype's descriptor. |
|
Package tuning is the core module's single home for its tunable defaults: the knobs that trade resources against safety (piece sizes, retention windows, request caps) and the object-id scheme.
|
Package tuning is the core module's single home for its tunable defaults: the knobs that trade resources against safety (piece sizes, retention windows, request caps) and the object-id scheme. |
|
Package webpush delivers push messages to a PushSubscription URL: message encryption per RFC 8291 and HTTP delivery per RFC 8030 section 5, with server-side request forgery protection required by RFC 8620 section 8.6.
|
Package webpush delivers push messages to a PushSubscription URL: message encryption per RFC 8291 and HTTP delivery per RFC 8030 section 5, with server-side request forgery protection required by RFC 8620 section 8.6. |
Click to show internal directories.
Click to hide internal directories.