(BLOCK (PARA (TEXT "Most applications should configure the memory box explicitly.") (SOFT) (TEXT "Configure the memory box by appending query parameters to the base box URI ") (LITERAL-INPUT () "mem:") (TEXT ".")) (PARA (TEXT "The following parameters are supported:")) (TABLE () (ROW () (CELL () (TEXT "Parameter")) (CELL () (TEXT "Description")) (CELL ((align . "right")) (TEXT "Default value")) (CELL ((align . "right")) (TEXT "Maximum value"))) (ROW () (CELL () (TEXT "max-bytes")) (CELL () (TEXT "Maximum storage size of the box (in bytes)")) (CELL ((align . "right")) (TEXT "65535")) (CELL ((align . "right")) (TEXT "1073741824 (1 GiB)"))) (ROW () (CELL () (TEXT "max-zettel")) (CELL () (TEXT "Maximum number of zettel")) (CELL ((align . "right")) (TEXT "127")) (CELL ((align . "right")) (TEXT "65535"))) (ROW () (CELL () (TEXT "readonly")) (CELL () (TEXT "Allow only read operations")) (CELL ((align . "right")) (TEXT "false")) (CELL ((align . "right")) (TEXT "n/a"))) (ROW () (CELL () (TEXT "name")) (CELL () (TEXT "Unique name of the box")) (CELL ((align . "right")) (TEXT "n/a")) (CELL ((align . "right")) (TEXT "n/a")))) (PARA (TEXT "The default values provide reasonable limits for many applications.")) (PARA (TEXT "The number of zettel is usually easy to estimate.")) (PARA (TEXT "The number of bytes is usually more difficult to determine.") (SOFT) (TEXT "A zettel requires 6 bytes for its identifier.") (SOFT) (TEXT "Each metadata entry additionally requires the lengths of its key and value, plus a one-byte separator.") (SOFT) (TEXT "Content contributes its size in bytes.") (SOFT) (TEXT "For text content, this is the size of its UTF-8 encoding.")) (PARA (TEXT "If one of the limits is exceeded, Zettelstore returns HTTP status code 507 (Insufficient Storage).")) (PARA (TEXT "The ") (LITERAL-INPUT () "readonly") (TEXT " parameter exists primarily to support the ") (LINK () (ZETTEL "00001004010000#read-only-mode") (LITERAL-INPUT () "read-only-mode")) (TEXT " startup configuration.") (SOFT) (TEXT "Since a memory box is initially empty, enabling ") (LITERAL-INPUT () "readonly") (TEXT " effectively prevents the creation or modification of zettel.")))