From 49409cac621ecc5037dd8a532cbbded05bb0a2a4 Mon Sep 17 00:00:00 2001 From: gered Date: Sun, 8 May 2016 19:01:08 -0400 Subject: [PATCH] add server-side helper functions --- .../src/net/thegeez/browserchannel/server.clj | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/clj-browserchannel/src/net/thegeez/browserchannel/server.clj b/clj-browserchannel/src/net/thegeez/browserchannel/server.clj index a769305..a71eb48 100644 --- a/clj-browserchannel/src/net/thegeez/browserchannel/server.clj +++ b/clj-browserchannel/src/net/thegeez/browserchannel/server.clj @@ -543,6 +543,20 @@ (defn send-map [session-id map] (send-string session-id (json/write-str map))) +(defn send-map-to-all + [m] + (doseq [[session-id _] @sessions] + (send-map session-id m))) + +(defn connected? + [session-id] + (contains? @sessions session-id)) + +(defn disconnect! + [session-id & [reason]] + (if-let [session-agent (get @sessions session-id)] + (send-off session-agent close nil (or reason "Disconnected")))) + ;; wrap the respond function from :reactor with the proper ;; responsewrapper for either IE or other clients (defn wrap-continuation-writers [handler options]