            [org.agrona.concurrent 
             UnsafeBuffer IdleStrategy BackoffIdleStrategy BusySpinIdleStrategy]
            [java.util.function Consumer]
+           [java.util.concurrent.locks LockSupport]
            [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/currentTimeMillis) ms)]
    (loop [segments (transient []) i 0]
      (if (or (> (System/currentTimeMillis) yield-time)
              (>= i batch-size))
        (persistent! segments)
        (if-let [v (poll! ch)]

          (do
           ;; set to less than the resolution for "alts!!"
           ;; so we get similar behaviour
           ;; park for 5ms
           (LockSupport/parkNanos 5000000)
           (recur segments i)))))))

(defn lookup-channels [messenger id]
