       (pm/peer-channels id)
       ch-k))
 
+(defn send-messages-short-circuit [ch batch]
+  (when ch
+    (doseq [segment batch]
+      (>!! ch segment))))
+
+(defn ack-segments-short-circuit [ch acks]
+  (when ch
+    (doseq [ack acks]
+      (>!! ch ack))))
+
+(defn complete-message-short-circuit [ch completion-id]
+  (when ch
+    (>!! ch completion-id)))
+
+(defn retry-segment-short-circuit [ch retry-id]
+  (when ch
+    (>!! ch retry-id)))
 
 (def ^:const publication-backpressured (long -2))
 (def ^:const publication-not-connected (long -1))

                 (= result publication-not-connected)))
      (.idle ^IdleStrategy (:send-idle-strategy messenger) 0))))

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

(defmethod extensions/send-messages AeronConnection
  [messenger event {:keys [id channel] :as conn-info} batch]

    (let [pub ^Publication (get-publication messenger conn-info)
          [len unsafe-buffer] (protocol/build-messages-msg-buf (:compress-f messenger) id batch)]
      (send-pub messenger pub unsafe-buffer 0 len))))

(defmethod extensions/internal-ack-segments AeronConnection
  [messenger event {:keys [id channel] :as conn-info} acks]
