                                                                     {::sent sent})))
                   (if (not (or (= sent ::state/sending-vouch-timed-out)
                                (= sent ::state/drained)))
+                    ;; This feels more and more like it should move back into
+                    ;; the top-level client
                     (state/->message-exchange-mode (assoc this
                                                           ::log/state @log-state-atom)
                                                    sent)

            (fn [ex]
              (assoc this
                     ::log/state (swap! log-state-atom
                                        #(log/flush-logs! (log/exception %
                                                                         ex
                                                                         ::do-polling-loop))))))
        (deref timeout ::polling-timed-out))))

                                                                             ::do-polling-loop
                                                                             "Got back a network-packet but missing something else"
                                                                             {::cookie-response actual-success}))))
                   (throw (ex-info "Network-packet missing either security or shared-secrets"
                                   actual-success)))
                 (swap! log-state-atom #(log/debug %
                                                   ::do-polling-loop
                                                   "Got back a usable cookie"
