   [messenger event {:keys [id channel] :as conn-info} acks]
   (if ((:short-circuitable? messenger) channel)
     (ack-segments-short-circuit (short-circuit-ch messenger id :acking-ch) acks)
-    (let [pub ^Publication (get-publication messenger conn-info)
-          idle-strategy (:send-idle-strategy messenger)]
+    (let [pub ^Publication (get-publication messenger conn-info)]
       (doseq [ack acks]
-        (let [unsafe-buffer (protocol/build-acker-message id (:id ack) (:completion-id ack) (:ack-val ack))
-              offer-f (fn [] (.offer pub unsafe-buffer 0 protocol/ack-msg-length))]
-      (while (= ^long (offer-f) publication-backpressured?)
-        (.idle ^IdleStrategy idle-strategy 0)))))))
+        (let [unsafe-buffer (protocol/build-acker-message id (:id ack) (:completion-id ack) (:ack-val ack))]
+          (send-pub messenger pub unsafe-buffer 0 protocol/ack-msg-length))))))
 
 (defn complete-message-short-circuit [ch completion-id]
   (when ch

      (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

  [messenger event completion-id {:keys [id channel] :as conn-info}]
  (if ((:short-circuitable? messenger) channel)
    (complete-message-short-circuit (short-circuit-ch messenger id :release-ch) completion-id)
    (let [pub ^Publication (get-publication messenger conn-info)
          unsafe-buffer (protocol/build-completion-msg-buf id completion-id)]
      (send-pub messenger pub unsafe-buffer 0 protocol/completion-msg-length))))

(defn retry-segment-short-circuit [ch retry-id]
  (when ch
