Ensure order of messages is preserved.
This commit is contained in:
parent
34a961658b
commit
68440ee178
|
@ -1,10 +1,10 @@
|
|||
(defproject net.thegeez/clj-browserchannel-jetty-adapter "0.0.6"
|
||||
(defproject net.thegeez/clj-browserchannel-jetty-adapter "0.0.7"
|
||||
:description "Jetty async adapter for BrowserChannel"
|
||||
:url ""
|
||||
:dependencies [[ring/ring-core "1.3.1"]
|
||||
[ring/ring-servlet "1.3.1"]
|
||||
[org.eclipse.jetty/jetty-server "8.1.16.v20140903"];; includes ssl
|
||||
[net.thegeez/clj-browserchannel-server "0.1.0"]]
|
||||
[net.thegeez/clj-browserchannel-server "0.2.0"]]
|
||||
:profiles {:provided
|
||||
{:dependencies
|
||||
[[org.clojure/clojure "1.6.0"]]}})
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
(defproject net.thegeez/clj-browserchannel-server "0.1.0"
|
||||
(defproject net.thegeez/clj-browserchannel-server "0.2.0"
|
||||
:description "BrowserChannel server implementation in Clojure"
|
||||
:dependencies [[ring/ring-core "1.3.1"]
|
||||
[org.clojure/data.json "0.2.5"]]
|
||||
|
|
|
@ -89,8 +89,9 @@
|
|||
{:ofs (Long/parseLong ofs)
|
||||
:maps (->> (for [[k v] pieces]
|
||||
(let [[_ n k] (re-find #"req(\d+)_(\w+)" k)]
|
||||
[n {k v}]))
|
||||
[(Long/parseLong n) {k v}]))
|
||||
(group-by first) ; {0 [[0 [k1 v2]] [0 [k2 v2]]],1 [[1 [k1 v1]] [1 [k2 v2]]]}
|
||||
(sort-by first) ;; order by request number so that messages are recieved on server in same order
|
||||
(map #(into {} (map second (val %)))))}))
|
||||
|
||||
(assert (= {:ofs 0 :maps [{"x" "3" "y" "10"} {"abc" "def"}]}
|
||||
|
|
Reference in a new issue