Skip to main content

Module store

Module store 

Source
Expand description

The only Redis-aware part of the mock: key layout, generations, the per-request working set, the write-back pipeline and the call log.

Its own connection rather than the cache wrapper, whose failures are silent no-ops: a component tests assert against has to fail loudly.

Structsยง

MockSuotarStore
OwnerKeys
Preamble
Everything a request needs before it may look at the body.
World
A whole world, as installed under one generation. Indexes are derived from the entities rather than part of it, so a caller cannot desynchronise them.
WorldCounts

Enumsยง

EntityHash
Hashes the command surface reads and writes by name.

Constantsยง

ATTAINMENTS ๐Ÿ”’
CALLS ๐Ÿ”’
COURSE_UNITS ๐Ÿ”’
ENROLMENTS ๐Ÿ”’
FAULTS ๐Ÿ”’
FAULTS_REMAINING ๐Ÿ”’
GENERATION_KEY ๐Ÿ”’
GENERATION_SEQ_KEY ๐Ÿ”’
IDX_ATTAINMENTS_BY_PERSON_COURSE ๐Ÿ”’
IDX_ENROLMENTS_BY_PERSON ๐Ÿ”’
IDX_ENROLMENTS_BY_REALISATION ๐Ÿ”’
IDX_OWNER_KEYS ๐Ÿ”’
IDX_SUBMISSIONS_BY_PERSON_COURSE ๐Ÿ”’
META ๐Ÿ”’
PERSONS ๐Ÿ”’
PREFIXED_KEYS ๐Ÿ”’
Closed by design: cleaning up a superseded generation is one DEL over these names, never a keyspace scan.
PRODUCT_TOKENS ๐Ÿ”’
SEQ_CALL ๐Ÿ”’
SEQ_FAULT ๐Ÿ”’
SEQ_PERSON ๐Ÿ”’
SUBMISSIONS ๐Ÿ”’

Functionsยง

database_url ๐Ÿ”’
flatten ๐Ÿ”’
hmget_cmd ๐Ÿ”’
Always HMGET, so the reply is an array whatever the field count โ€” a single-field HGET answers with a bare string, and no fields at all is a protocol error.
hmget_json ๐Ÿ”’
key ๐Ÿ”’
push_hmget ๐Ÿ”’
write_derived_indexes ๐Ÿ”’
write_entity_hash ๐Ÿ”’
zip_json ๐Ÿ”’

Type Aliasesยง

Fields ๐Ÿ”’
What one HMGET answers with: a slot per requested field, empty where the field is absent.