better way of picking which namespace to use in subscribe/unsubscribe
if the view sig specified includes a namespace (even a nil one), then use it for the subscription. otherwise, call namespace-fn to get one to use in the subscription.
This commit is contained in:
parent
8fb1a2cbbb
commit
ff15c42f9a
|
@ -44,10 +44,13 @@
|
||||||
(boolean (:logger @statistics)))
|
(boolean (:logger @statistics)))
|
||||||
|
|
||||||
(defn ->view-sig
|
(defn ->view-sig
|
||||||
[namespace view-id parameters]
|
([namespace view-id parameters]
|
||||||
{:namespace namespace
|
{:namespace namespace
|
||||||
:view-id view-id
|
:view-id view-id
|
||||||
:parameters parameters})
|
:parameters parameters})
|
||||||
|
([view-id parameters]
|
||||||
|
{:view-id view-id
|
||||||
|
:parameters parameters}))
|
||||||
|
|
||||||
(defn- send-view-data!
|
(defn- send-view-data!
|
||||||
[subscriber-key {:keys [namespace view-id parameters] :as view-sig} data]
|
[subscriber-key {:keys [namespace view-id parameters] :as view-sig} data]
|
||||||
|
@ -94,7 +97,9 @@
|
||||||
data for the view."
|
data for the view."
|
||||||
[{:keys [namespace view-id parameters] :as view-sig} subscriber-key context]
|
[{:keys [namespace view-id parameters] :as view-sig} subscriber-key context]
|
||||||
(if-let [view (get-in @view-system [:views view-id])]
|
(if-let [view (get-in @view-system [:views view-id])]
|
||||||
(let [namespace (get-namespace view-sig subscriber-key context)
|
(let [namespace (if (contains? view-sig :namespace)
|
||||||
|
namespace
|
||||||
|
(get-namespace view-sig subscriber-key context))
|
||||||
view-sig (->view-sig namespace view-id parameters)]
|
view-sig (->view-sig namespace view-id parameters)]
|
||||||
(if (authorized-subscription? view-sig subscriber-key context)
|
(if (authorized-subscription? view-sig subscriber-key context)
|
||||||
(do
|
(do
|
||||||
|
@ -160,7 +165,9 @@
|
||||||
(trace "unsubscribing from view" view-sig subscriber-key)
|
(trace "unsubscribing from view" view-sig subscriber-key)
|
||||||
(swap! view-system
|
(swap! view-system
|
||||||
(fn [vs]
|
(fn [vs]
|
||||||
(let [namespace (get-namespace view-sig subscriber-key context)
|
(let [namespace (if (contains? view-sig :namespace)
|
||||||
|
namespace
|
||||||
|
(get-namespace view-sig subscriber-key context))
|
||||||
view-sig (->view-sig namespace view-id parameters)]
|
view-sig (->view-sig namespace view-id parameters)]
|
||||||
(-> vs
|
(-> vs
|
||||||
(remove-from-subscribed view-sig subscriber-key)
|
(remove-from-subscribed view-sig subscriber-key)
|
||||||
|
|
Loading…
Reference in a new issue