           (do
            ;; set to less than the resolution for "alts!!"
            ;; so we get similar behaviour
-           (Thread/sleep 10)
+           ;; park for 5ms
+           (LockSupport/parkNanos 5000000)
            (recur segments i)))))))
 
 (defn lookup-channels [messenger id]

           [org.agrona.concurrent 
            UnsafeBuffer IdleStrategy BackoffIdleStrategy BusySpinIdleStrategy]
           [java.util.function Consumer]
           [java.util.concurrent TimeUnit]))

(defn aeron-channel [addr port]

  (let [ch (:inbound-ch messenger-buffer)
        batch-size (long (:onyx/batch-size task-map))
        ms (arg-or-default :onyx/batch-timeout task-map)
        yield-time (+ (System/nanoTime) (* 1000000 ms))]
    (loop [segments (transient []) i 0]
      (if (or (> (System/nanoTime) yield-time)
              (>= i batch-size))
        (persistent! segments)
        (if-let [v (poll! ch)]
