     (retry-segment-short-circuit (short-circuit-ch messenger id :retry-ch) retry-id)
     (let [idle-strategy (:send-idle-strategy messenger)
           pub ^Publication (get-publication messenger conn-info)
-          unsafe-buffer (protocol/build-retry-msg-buf id retry-id)
-          offer-f (fn [] (.offer pub unsafe-buffer 0 protocol/retry-msg-length))]
-      (while (= ^long (offer-f) publication-backpressured?)
-        (.idle ^IdleStrategy idle-strategy 0)))))
+          unsafe-buffer (protocol/build-retry-msg-buf id retry-id)]
+      (send-pub messenger pub unsafe-buffer 0 protocol/retry-msg-length))))
 
 (defmethod extensions/close-peer-connection AeronConnection
   [messenger event peer-link]

      (pm/peer-channels id)
      ch-k))

(defn send-messages-short-circuit [ch batch]
  (when ch
    (doseq [segment batch]
      (>!! ch segment))))

(def ^:const publication-backpressured? (long -2))

(defmethod extensions/send-messages AeronConnection
  [messenger event {:keys [id channel] :as conn-info} batch]
  (if ((:short-circuitable? messenger) channel)
    (send-messages-short-circuit (short-circuit-ch messenger (:id conn-info) :inbound-ch) batch)
    (let [pub ^Publication (get-publication messenger conn-info)
          [len unsafe-buffer] (protocol/build-messages-msg-buf (:compress-f messenger) id batch)
          offer-f (fn [] (.offer pub unsafe-buffer 0 len))
          idle-strategy (:send-idle-strategy messenger)]
      (while (= ^long (offer-f) publication-backpressured?)
        (.idle ^IdleStrategy idle-strategy 0)))))

(defn ack-segments-short-circuit [ch acks]
  (when ch

(ns ^:no-doc onyx.messaging.aeron
  (:require [clojure.core.async :refer [chan >!! <!! alts!! timeout close! sliding-buffer]]
            [com.stuartsierra.component :as component]
            [taoensso.timbre :refer [fatal info] :as timbre]
            [onyx.messaging.aeron.peer-manager :as pm]
            [onyx.messaging.protocol-aeron :as protocol]
            [onyx.messaging.common :as common]
