[elephant-cvs] CVS elephant/src/elephant
ieslick
ieslick at common-lisp.net
Sun Apr 1 14:33:35 UTC 2007
Update of /project/elephant/cvsroot/elephant/src/elephant
In directory clnet:/tmp/cvs-serv29083/src/elephant
Modified Files:
classes.lisp controller.lisp metaclasses.lisp serializer.lisp
Log Message:
Latest documentation changes
--- /project/elephant/cvsroot/elephant/src/elephant/classes.lisp 2007/03/30 23:36:53 1.25
+++ /project/elephant/cvsroot/elephant/src/elephant/classes.lisp 2007/04/01 14:33:34 1.26
@@ -39,9 +39,11 @@
(defclass persistent-object (persistent) ()
(:metaclass persistent-metaclass)
(:documentation
- "Superclass of all user-defined persistent classes. This is
+ "Superclass for all user-defined persistent classes. This is
automatically inherited if you use the persistent-metaclass
- metaclass."))
+ metaclass. This allows specialization of functions for user
+ objects that would not be appropriate for Elephant objects
+ such as persistent collections"))
;; ================================================
;; METACLASS INITIALIZATION AND CHANGES
--- /project/elephant/cvsroot/elephant/src/elephant/controller.lisp 2007/03/30 23:42:35 1.44
+++ /project/elephant/cvsroot/elephant/src/elephant/controller.lisp 2007/04/01 14:33:34 1.45
@@ -48,11 +48,13 @@
(defvar *dbconnection-spec* (make-hash-table :test 'equal))
(defvar *dbconnection-lock* (ele-make-lock))
-(defmethod get-con ((instance persistent) &optional (sc *store-controller*))
- "This is used to find and validate the connection spec
+(defgeneric get-con (instance &optional sc)
+ (:documentation "This is used to find and validate the connection spec
maintained for in-memory persistent objects. Should
we re-open the controller from the spec if it's not
- cached? That might be dangerous so for now we error"
+ cached? That might be dangerous so for now we error"))
+
+(defmethod get-con ((instance persistent) &optional (sc *store-controller*))
(declare (ignore sc))
(let ((con (gethash (dbcn-spc-pst instance) *dbconnection-spec*)))
(cond ((not con)
--- /project/elephant/cvsroot/elephant/src/elephant/metaclasses.lisp 2007/03/30 23:36:53 1.14
+++ /project/elephant/cvsroot/elephant/src/elephant/metaclasses.lisp 2007/04/01 14:33:34 1.15
@@ -29,7 +29,7 @@
:documentation "Persistent objects use a spec pointer to identify which store
they are connected to"))
(:documentation "Abstract superclass for all persistent classes (common
- to user-defined classes and collections.)"))
+ to both user-defined classes and Elephant-defined objects such as collections.)"))
(defclass persistent-metaclass (standard-class)
((%persistent-slots :accessor %persistent-slots)
--- /project/elephant/cvsroot/elephant/src/elephant/serializer.lisp 2007/03/30 14:34:35 1.26
+++ /project/elephant/cvsroot/elephant/src/elephant/serializer.lisp 2007/04/01 14:33:34 1.27
@@ -47,6 +47,8 @@
;;
(defun serialize-to-base64-string (x sc)
+ "Encode object using the store controller's serializer format,
+ but encoded in a base64"
(with-buffer-streams (out-buf)
(cl-base64::usb8-array-to-base64-string
(elephant-memutil::buffer-read-byte-vector
@@ -62,6 +64,7 @@
)
(defun deserialize-from-base64-string (x sc)
+ "Decode a base64-string using the store controller's deserialize method"
(with-buffer-streams (other)
(deserialize
(elephant-memutil::buffer-write-byte-vector
More information about the Elephant-cvs
mailing list