Liking cljdoc? Tell your friends :D

frereth.cp.server.state

Managing CurveCP server state

Managing CurveCP server state
raw docstring

alter-client-stateclj

(alter-client-state state altered-client)

configure-shared-secretsclj

(configure-shared-secrets client client-short-pk server-short-sk)

Return altered client state that reflects new shared key This almost corresponds to lines 369-371 in reference implementation, but does not have side-effects! <----

Return altered client state that reflects new shared key
This almost corresponds to lines 369-371 in reference implementation,
but does *not* have side-effects!  <----
raw docstring

find-clientclj

(find-client state client-short-key)

handle-key-rotationclj

(handle-key-rotation {:keys [:frereth.cp.server.state/cookie-cutter]
                      log-state :frereth.weald.specs/state
                      :as state})

Doing it this way means that state changes are only seen locally

They really need to propagate back up to the System that owns the Component.

It seems obvious that this state should go into an atom, or possibly an agent so other pieces can see it.

But this is very similar to the kinds of state management issues that Om and Om next are trying to solve. So that approach might not be as obvious as it seems at first.

Doing it this way means that state changes are only seen locally

They really need to propagate back up to the System that owns the Component.

It seems obvious that this state should go into an atom, or possibly an agent
so other pieces can see it.

But this is very similar to the kinds of state management issues that Om and
Om next are trying to solve. So that approach might not be as obvious as it
seems at first.
raw docstring

hide-secrets!clj

(hide-secrets! {log-state :frereth.weald.specs/state :as this})

Scrambles sensitive byte-arrays in place

Scrambles sensitive byte-arrays in place
raw docstring

new-clientclj

(new-client {:keys [:host :port] :as packet}
            {:keys [:frereth.cp.shared.templates/clnt-short-pk
                    :frereth.cp.shared.templates/srvr-short-sk]
             :as cookie}
            {:keys [:frereth.cp.shared.constants/clnt-xtn] :as initiate})

(randomized-cookie-cutter)

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close