ИС
у меня на это завязано определение, что соединение установлено, я вроде проверял вариант с поллингом
Size: a a a
ИС
ST
(defn start-client-chsk-router!
[ch-recv event-msg-handler &
[{:as opts :keys [trace-evs? error-handler]}]]
(-start-chsk-router! (not :server) ch-recv event-msg-handler opts))
ror-handler,
но он вообще никак не срабатывает. Через ивент :chsk/state п
олучается некрасиво и работает только для режима :ws.ИС
ST
(defmethod handle-client-message :chsk/state
[{:keys [?data]}]
(log/debug "Comet receive" [:chsk/state ?data])
; start login when connection just established
(when (-> ?data second :first-open?)
(on-comet-connection)))
ИС
:chsk/state
можно смотреть ошибки в мапке со стейтомИС
(sente/start-chsk-router!
(:ch-recv @connection)
(event-msg-handler
{:message message-handler
:state handshake-handler
:handshake state-handler})
{:error-handler (fn [e event-msg] (println "error:" e))})
ИС
ИС
T
ИС
error-handler
в параметрах соединения никак не вызывается. Придется в :chsk/state
разбиратьT
VM
T
T
(defn capacity-not-exceded? [vechicle stop]
(let [load (:load stop)
capacity (:capacity vechicle)]
(any? < (map vec capacity load))))
(defn find-capacity-violation [tour fleet]
(let [type-name (:typeId tour)
vechicle-type (vehicle-by-type fleet type-name)
stops (:stops tour)]
(filter (partial capacity-not-exceded? vechicle-type) stops)))
(defn validate-maximal-capacity [problem solution]
(let [fleet (:fleet problem)
tours (:tours solution)]
(filter nil? (map #(find-capacity-violation % fleet) tours))))
T
T
(defn vehicle-by-type [fleet type-name]
(m/find fleet
{:types
(m/scan {:id ~type-name :as ?vechicle})}
?vechicle))
T
DL
(defn capacity-not-exceded? [vechicle stop]
(let [load (:load stop)
capacity (:capacity vechicle)]
(any? < (map vec capacity load))))
(defn find-capacity-violation [tour fleet]
(let [type-name (:typeId tour)
vechicle-type (vehicle-by-type fleet type-name)
stops (:stops tour)]
(filter (partial capacity-not-exceded? vechicle-type) stops)))
(defn validate-maximal-capacity [problem solution]
(let [fleet (:fleet problem)
tours (:tours solution)]
(filter nil? (map #(find-capacity-violation % fleet) tours))))
IG
IG
(any? < (map vec capacity load))