session/data
src/session/data.tur
SessMap: a small owned string->string map for session data.
Since: v0.1.0
defopaque
SessMap
(SessMap)
opaque handle to a session-data map (string keys + values).
defn
sessmap-new
(sessmap-new :)
allocate an empty session map.
Returns
SessMap -- empty map handle; free with sessmap-free.
Since: v0.1.0
defn
sessmap-count
(sessmap-count [m : SessMap] :)
number of entries in the map.
Since: v0.1.0
defn
sessmap-get
(sessmap-get [m : SessMap key : cstr] :)
look up a value by key.
Since: v0.1.0
defn
sessmap-set!
(sessmap-set! [m : SessMap key : cstr val : cstr] :)
insert or replace a key with a copied value.
Since: v0.1.0
defn
sessmap-del!
(sessmap-del! [m : SessMap key : cstr] :)
remove a key (no-op if absent).
Since: v0.1.0
defn
sessmap-key-at
(sessmap-key-at [m : SessMap i : int] :)
key string at index i (borrowed; 0..count-1).
Since: v0.1.0
defn
sessmap-val-at
(sessmap-val-at [m : SessMap i : int] :)
value string at index i (borrowed; 0..count-1).
Since: v0.1.0
defn
sessmap-clone
(sessmap-clone [m : SessMap] :)
deep copy a map into a fresh, independent SessMap.
Since: v0.1.0
defn
sessmap-free
(sessmap-free [m : SessMap] :)
release a map and all its key/value buffers (0 = no-op).
Since: v0.1.0
Internal definitions
__sessmap-get-raw-- look up a value by key; NULL if absent.__cstr-null?-- true if a cstr handle is NULL.