minor cleanups, mostly formatting

This commit is contained in:
Gered 2021-12-29 17:54:43 -05:00
parent 391d79837f
commit c35897b8c8
2 changed files with 12 additions and 10 deletions

View file

@ -1,7 +1,9 @@
(ns aging-session.memory (ns aging-session.memory
"In-memory session storage with mortality." "In-memory session storage with mortality."
(:require [ring.middleware.session.store :refer :all]) (:require
(:import java.util.UUID)) [ring.middleware.session.store :refer :all])
(:import
[java.util UUID]))
(defrecord SessionEntry [timestamp value]) (defrecord SessionEntry [timestamp value])
@ -45,7 +47,7 @@
(defprotocol AgingStore (defprotocol AgingStore
(read-timestamp [store key] (read-timestamp [store key]
"Read a session from the store and return its timestamp. If no key exists, returns nil.")) "Read a session from the store and return its timestamp. If no key exists, returns nil."))
(defrecord MemoryAgingStore [session-map refresh-on-write refresh-on-read req-count req-limit event-fns] (defrecord MemoryAgingStore [session-map refresh-on-write refresh-on-read req-count req-limit event-fns]
AgingStore AgingStore
@ -61,8 +63,8 @@
(write-session [_ key data] (write-session [_ key data]
(let [key (or key (str (UUID/randomUUID)))] (let [key (or key (str (UUID/randomUUID)))]
(swap! req-count inc) ; Increase the request count (swap! req-count inc) ; Increase the request count
(if refresh-on-write ; Write key and and update timestamp. (if refresh-on-write ; Write key and and update timestamp.
(swap! session-map assoc key (new-entry data)) (swap! session-map assoc key (new-entry data))
(swap! session-map write-entry key data)) (swap! session-map write-entry key data))
key)) key))
@ -78,13 +80,13 @@
(when (>= @req-count req-limit) (when (>= @req-count req-limit)
(swap! session-map sweep-session event-fns) (swap! session-map sweep-session event-fns)
(reset! req-count 0)) (reset! req-count 0))
(. Thread (sleep sweep-delay)) ;; sleep for 30s (. Thread (sleep sweep-delay)) ;; sleep for 30s
(recur))) (recur)))
(defn in-thread (defn in-thread
"Run a function in a thread." "Run a function in a thread."
[afn] [f]
(.start (Thread. afn))) (.start (Thread. ^Runnable f)))
(defn aging-memory-store (defn aging-memory-store
"Creates an in-memory session storage engine." "Creates an in-memory session storage engine."

View file

@ -1,8 +1,8 @@
(ns aging-session.event_test (ns aging-session.event_test
(:require (:require
[aging-session.event :as event]
[clojure.test :refer :all] [clojure.test :refer :all]
[ring.middleware.session.store :refer :all] [ring.middleware.session.store :refer :all]
[aging-session.event :as event]
[aging-session.memory :refer :all])) [aging-session.memory :refer :all]))
(deftest session-expiry (deftest session-expiry
@ -15,7 +15,7 @@
(deftest session-expiry-by-sweep (deftest session-expiry-by-sweep
(testing "Test session expiry sweep." (testing "Test session expiry sweep."
(let [as (aging-memory-store (let [as (aging-memory-store
:events [(event/expires-after 1)] :events [(event/expires-after 1)]
:sweep-every 5 :sweep-every 5
:sweep-delay 1000)] :sweep-delay 1000)]
(write-session as "mykey" {:foo 1}) (write-session as "mykey" {:foo 1})