-
Notifications
You must be signed in to change notification settings - Fork 8
/
mmap-package.lisp
90 lines (73 loc) · 2.29 KB
/
mmap-package.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
;;;;; -*- mode: common-lisp; common-lisp-style: modern; coding: utf-8; -*-
;;;;;
(in-package :cl-user)
(defpackage :cl-mmap
(:nicknames :mm)
(:documentation "ManarDB is a performant Memory-Mapped storage allocation system based on
the common-lisp object system meta-object-protocol.
This system defines an enhanced fork of the original ManarDB distribution,
(version designation '0.1.20090911) that provides support for non-linux
platforms, compatibility with current releases of the required libraries,
updates supporting current lisp platform distributions, and a number of
miscellaneous fixes and feature enhancements. It does not necessarily
seek to maintain backward compatibility with the API provided by the
original distribution in all cases.
Based on [ManarDB version 0.1.20090911]
(http://cl-www.msi.co.jp/projects/manardb/index.html)
by [Mathematical Systems Incorporated](http://www.msi.co.jp).
- Thanks to John Fremlin for a nice platform to hack and extend.
- Thanks to Pascal Costanza for MOP conformance and other advice.")
(:use :closer-common-lisp :closer-mop :iterate)
(:export
:*mmap*
:*mtagmaps-may-mmap*
:*allocate-base-pathname*
:lisp-object-to-mptr-impl
:lisp-object-to-mptr
:mptr-to-lisp-object
:mptr
:meq
:mm-object
:defmmclass
:mm-metaclass
:gc
:rewrite-gc
:print-all-mmaps
:close-all-mmaps
:open-all-mmaps
:wipe-all-mmaps
:doclass
:dosubclasses
:mm-subclasses
:count-all-instances
:retrieve-all-instances
:marray
:make-marray
:marray-ref
:marray-length
:marray-to-list
:list-to-marray
:index-of-marray
:in-marray
:make-mm-fixed-string
:mm-fixed-string-value
:ensure-manardb
:clean-mmap-dir
:clear-caches
:clear-caches-hard
:with-object-cache
:with-cached-slots
:direct-slot-numeric-maref
:mcons
:mcar
:mcdr
:mcadr
:mcddr
:mconsp
:empty
:emptyp
:mlist
:as-list
:mpush
:mpop
:pp-mem))