cmp.st-mem

clean-register!

(clean-register! mp-id)

Closes and de-registers! all listeners belonging to mp-id .

clear!

(clear! x)

Clears the key x. If x is a vector the function stu/vec->key is used for the conversion of x to a string.

close-listener!

(close-listener! l)

Closes the given listener generated by gen-listener.

Example:

;; generate
(def l (gen-listener "ref" "ctrl" msg->key))
;; close 
(close-listener! l)

conn

db

de-register!

(de-register! mp-id struct no func)(de-register! mp-id struct no func level)

De-registers the listener with the key mp-id in the listeners atom.

del-key!

(del-key! k)

Delets the key k.

del-keys!

(del-keys! ks)

Deletes all given keys (ks).

filter-keys-where-val

(filter-keys-where-val pat x)

Returns a list of all keys belonging to the pattern pat where the value is equal tox.

Example:

(filter-keys-where-val "ref@definitions@*@class" "wait")
;; ("ref@definitions@0@class"
;; "ref@definitions@2@class"
;; "ref@definitions@1@class")

gen-listener

(gen-listener mp-id l2 l3 l4 callback)

Returns a listener for published keyspace notifications. Don’t forget to close-listener!

Example:

;; generate and close
(close-listener! (gen-listener "ref" "ctrl" msg->key))

key->keys

(key->keys k)

Get all keys matching k*.

key->val

(key->val k)

Returns the value for the given key (k) and cast it to a clojure type.

keys->vals

(keys->vals ks)

Returns a vector of the vals behind the keys ks.

listeners

msg->key

(msg->key [kind l1 l2 l3])

Extracts the key from a published keyspace notification message (pmessage).

Example:

(def msg ["pmessage"
         "__keyspace@0*__:ref@*@*@ctrl*"
         "__keyspace@0__:ref@container@0@ctrl"
         "set"])
(st/msg->key msg)
;; "ref@container@0@ctrl"

mtp

pat->keys

(pat->keys pat)

Get all keys matching the given pattern pat.

reg-key

(reg-key mp-id struct no func level)

Generates a registration key for the listener atom. The level param allows to register more than one listener for one pattern.

register!

(register! mp-id struct no func cb!)(register! mp-id struct no func cb! level)

Generates and registers a listener under the key mp-id in the listeners atom. The cb! function dispatches depending on the result.

registered?

(registered? k)

Checks if a listener is registered under the listeners-atom.

set-same-val!

(set-same-val! ks v)

Sets the given val for all keys ks with the delay mtp.

set-state!

(set-state! k state msg)(set-state! k state)

Function is used by the workers to set state. An optional log message may be provided.

set-val!

(set-val! k v)

Sets the value v for the key k.

subs-pat

(subs-pat mp-id l2 l3 l4)

Generates subscribe patterns which matches depending on:

l2

  • container
  • definitions

l3

  • 0n

l4

  • ctrl
  • state
  • definition