anchor.diff:     (client-class :initarg :client-class :initform 'websocket-client)
      (lock :initform (make-lock))))
   
  +(defmethod print-object ((obj websocket-resource) stream)
  +  (print-unreadable-object (obj stream :type t)
  +    (with-slots (clients client-class) obj
  +        (format stream "(~a connected clients of class ~a)"
  +                (length clients)
  +                client-class))))
  +
   (defgeneric text-message-received (resource client message))
   
   (defgeneric binary-message-received  (resource client binary))
  
positive.code: (defclass websocket-acceptor (acceptor)
    ((websocket-timeout :initarg :websocket-timeout
                        :accessor websocket-timeout
                        :initform 60
                        :documentation "Custom WebSocket timeout override."))
    (:default-initargs :request-class 'websocket-request
                       :reply-class 'websocket-reply))
  
negative.code:           do (write-byte (logand out #xff) stream))
      ;; (if mask-p
      ;;     (error "sending masked messages not implemented yet"))
      (if data (write-sequence data stream))
      (force-output stream)))
  
  