           daemon (:acking-daemon component)
           release-ch (chan (clojure.core.async/dropping-buffer 100000))
 
-          port (+ 40000 (rand-int 250))
+          port (+ 40000 (rand-int 10000))
           channel (str "udp://localhost:" port)
 
           rand-stream-id (fn [] (rand-int 1000000))

          acker-subscriber (.addSubscription aeron channel acker-stream-id acker-handler)
          completion-subscriber (.addSubscription aeron channel completion-stream-id completion-handler)]

      (future (.accept (consumer 10) send-subscriber))
      (future (.accept (consumer 10) acker-subscriber))
      (future (.accept (consumer 10) completion-subscriber))
      
      (assoc component :driver driver :channel channel :send-stream-id send-stream-id
             :acker-stream-id acker-stream-id :completion-stream-id completion-stream-id)))

  (stop [component]
    (taoensso.timbre/info "Stopping Aeron")

    (CloseHelper/quietClose (:driver component))
    (assoc component :driver nil :channel nil)))

(defn aeron [opts]
  (map->AeronConnection {:opts opts}))

(defmethod extensions/send-peer-site AeronConnection
  [messenger]
  {:channel (:channel messenger)
   :stream-id (:send-stream-id messenger)})

(defmethod extensions/acker-peer-site AeronConnection
  [messenger]
  {:channel (:channel messenger)
   :stream-id (:acker-stream-id messenger)})

(defmethod extensions/completion-peer-site AeronConnection
  [messenger]
  {:channel (:channel messenger)
   :stream-id (:completion-stream-id messenger)})

(defmethod extensions/connect-to-peer AeronConnection
  [messenger event {:keys [channel stream-id]}]
  (let [ctx (.errorHandler (Aeron$Context.) no-op-error-handler)
        aeron (Aeron/connect ctx)]
    (.addPublication aeron channel stream-id)))

(defmethod extensions/receive-messages AeronConnection
  [messenger {:keys [onyx.core/task-map] :as event}]
