               ;; But if we failed to send the packet at all, something is badly wrong
               (throw (ex-info "Failed to send initiate" this)))))))))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; Public
+
 (defn ctor
   [opts]
   (map->State opts))

                          buffer)]
    (assoc this :outgoing-message (:child-msg extracted))))

(defn hand-shake
  "This really needs to be some sort of stateful component.
  It almost definitely needs to interact with ByteBuf to

            [gloss.io :as gloss]
            [manifold.deferred :as deferred]
            [manifold.stream :as stream]))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Specs

(def cookie (gloss-core/compile-frame (gloss-core/ordered-map :s' (gloss-core/finite-block 32)
                                                              :black-box (gloss-core/finite-block 96))))
