+
+ (gen-client-id #:init-thunk make-simple-counter)
+
+ ;; active websocket connections
+ (ws-clients #:init-thunk make-hash-table
+ #:accessor .ws-clients)
+
+ (on-ws-message #:init-keyword #:on-ws-message
+ #:getter .on-ws-message)
+ (on-ws-client-connect #:init-keyword #:on-ws-client-connect
+ #:init-value no-op
+ #:getter .on-ws-client-connect)
+ (on-ws-client-disconnect #:init-keyword #:on-ws-client-disconnect
+ #:init-value no-op
+ #:getter .on-ws-client-disconnect))
+
+(define (web-server-gen-client-id websocket-server)
+ ((slot-ref websocket-server 'gen-client-id)))