File tree 2 files changed +7
-8
lines changed
src/main/clojure/clojure/core/async
2 files changed +7
-8
lines changed Original file line number Diff line number Diff line change 252
252
253
253
When :compute is specified transform must not block!"
254
254
([fn-or-map] (process fn-or-map nil ))
255
- ([fn-or-map {:keys [workload timeout-ms]
256
- :or {timeout-ms 5000 } :as opts}]
255
+ ([fn-or-map {:keys [workload compute-timeout-ms] :as opts}]
257
256
(impl/proc fn-or-map opts)))
258
257
259
258
(defn lift*->step
Original file line number Diff line number Diff line change 26
26
clojure.lang.Var (symbol x)
27
27
(datafy/datafy x)))
28
28
29
- (defn futurize ^Future [f {:keys [exec]}]
29
+ (defn futurize [f {:keys [exec]}]
30
30
(fn [& args]
31
31
(let [^ExecutorService e (if (instance? ExecutorService exec)
32
32
exec
219
219
220
220
(defn proc
221
221
" see lib ns for docs"
222
- [fm {:keys [workload compute-timeout-ms]}]
222
+ [fm {:keys [workload compute-timeout-ms] :or {compute-timeout-ms 5000 } }]
223
223
(let [{:keys [describe init transition transform] :as impl}
224
224
(if (map? fm) fm {:describe fm :init fm :transition fm :transform fm})
225
225
{:keys [params ins] :as desc} (describe )
236
236
(describe [_] desc)
237
237
(start [_ {:keys [pid args ins outs resolver]}]
238
238
(assert (or (not params) args) " must provide :args if :params" )
239
- (let [comp? (= workload :compute )
240
- transform ( cond-> transform ( = workload :compute )
241
- #( .get ( futurize transform { :exec ( spi/get-exec resolver :compute )} )
242
- compute-timeout-ms TimeUnit/MILLISECONDS) )
239
+ (let [transform ( if (= workload :compute )
240
+ #( .get ^Future (( futurize transform { :exec ( spi/get-exec resolver :compute )}) % 1 % 2 % 3 )
241
+ compute-timeout-ms TimeUnit/MILLISECONDS )
242
+ transform )
243
243
exs (spi/get-exec resolver (if (= workload :mixed ) :mixed :io ))
244
244
state (when init (init args))
245
245
ins (into (or ins {}) (::flow/in-ports state))
You can’t perform that action at this time.
0 commit comments