Track which 'watchers' are 'watching' which resources.
Use of this watcher is through core/async. A message is sent to the watcher-chan
to
register interest, unregister interest and send something to all that have registered interest.
The sending to registered listeners is the resposibility of the user of this watcher and is
done by consuming the core.async sender-chan
from this namespace.
Track which 'watchers' are 'watching' which resources. Use of this watcher is through core/async. A message is sent to the `watcher-chan` to register interest, unregister interest and send something to all that have registered interest. The sending to registered listeners is the resposibility of the user of this watcher and is done by consuming the core.async `sender-chan` from this namespace.
(add-watcher watch-id client-id)
Add a client, make sure the read/write is atomic to avoid race conditions
Add a client, make sure the read/write is atomic to avoid race conditions
(remove-watcher client-id)
(remove-watcher watch-id client-id)
Remove watchers for client, first signature remove all watchers for a client and remove the client-id itself when done, second signature remove a specific watcher only for a client, make sure the read/write is atomic to avoid race conditions
Remove watchers for client, first signature remove all watchers for a client and remove the client-id itself when done, second signature remove a specific watcher only for a client, make sure the read/write is atomic to avoid race conditions
(send-event id event payload)
Send outbound events to core.async channel
Send outbound events to core.async channel
(start)
Start the core.async channel consumer for watching items.
Start the core.async channel consumer for watching items.
(stop)
Stop the core.async channel consumer for watching items.
Stop the core.async channel consumer for watching items.
(watcher-loop)
(watchers-for watch-id)
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close