                    (do (aclose net result-ch)
                        (recur (inc ts) listens streams results)))
                  (net-clean-up net listens streams results))
-               (some #(= ch %) sendables)
+               (some #(= ch %) send-chs)
                (let [send-ch ch
                      stream (get streams send-ch)
                      [msg result-ch] v]

                                                      (>= ts deliver-at))
                                             [[(:recv-ch stream) msg]])))
                                       streams)
                  sendables (mapcat (fn [[send-ch stream]]
                                      (when (and (not (:send-closed stream))
                                                 (< (count (:msgs stream))
                                                    (get opts :max-msgs-per-stream 10)))
                                        [send-ch]))
                                    streams)
                  chs (-> [request-listen-ch request-connect-ch]
                          (into close-accept-chs)
                          (into close-recv-chs)
                          (into deliverables)
                          (into sendables)
                          (into results))
                  [v ch] (aalts net chs)]
              (cond

                         server-recv-ch (achan-buf net end-point-buf-size)
                         close-server-recv-ch (achan net)]
                     ; TODO: Need to model running out of ports.
                     (recur (inc ts)
                            listens
                            (-> streams
