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)
source

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!  <----
sourceraw docstring

find-clientclj

(find-client state client-short-key)
source

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.
sourceraw 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
sourceraw 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})
source

(randomized-cookie-cutter)
source

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

× close