The metalock Reference Manual

This is the metalock Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:18:58 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 metalock

A metaclass that makes building parallel systems easier by providing each slot within a class a lock which is grabbed automatically.

Author

K1D77A

License

MIT

Version

0.0.1

Dependencies
  • closer-mop (system).
  • bordeaux-threads (system).
Source

metalock.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 metalock/metalock.asd

Source

metalock.asd.

Parent Component

metalock (system).

ASDF Systems

metalock.


3.1.2 metalock/package.lisp

Source

metalock.asd.

Parent Component

metalock (system).

Packages

metalock.


3.1.3 metalock/readwriter-lock.lisp

Dependency

package.lisp (file).

Source

metalock.asd.

Parent Component

metalock (system).

Internals

3.1.4 metalock/metalock.lisp

Dependency

readwriter-lock.lisp (file).

Source

metalock.asd.

Parent Component

metalock (system).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 metalock

Source

package.lisp.

Use List

common-lisp.

Public Interface

metalock (class).

Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Standalone methods

Method: compute-effective-slot-definition ((class special-slot) name dslots)
Package

sb-mop.

Source

metalock.lisp.

Method: compute-slots ((class metalock))
Package

sb-mop.

Source

metalock.lisp.

Method: slot-boundp-using-class :around ((class metalock) object slotd)
Package

sb-mop.

Source

metalock.lisp.

Method: slot-makunbound-using-class :around ((class metalock) object slotd)
Package

sb-mop.

Source

metalock.lisp.

Method: (setf slot-value-using-class) :around ((class metalock) object slotd)
Package

sb-mop.

Source

metalock.lisp.

Method: slot-value-using-class :around ((class metalock) object slotd)
Package

sb-mop.

Source

metalock.lisp.

Method: validate-superclass ((class metalock) (metaclass standard-class))
Package

sb-mop.

Source

metalock.lisp.

Method: validate-superclass ((class special-slot) (metaclass standard-class))
Package

sb-mop.

Source

metalock.lisp.


5.1.2 Classes

Class: metalock
Package

metalock.

Source

metalock.lisp.

Direct superclasses

standard-class.

Direct methods

5.2 Internals


5.2.1 Macros

Macro: read-with-rw-lock ((reader-writer-lock) &body body)
Package

metalock.

Source

readwriter-lock.lisp.

Macro: while-loop (test &body body)
Package

metalock.

Source

readwriter-lock.lisp.

Macro: write-with-rw-lock ((reader-writer-lock) &body body)
Package

metalock.

Source

readwriter-lock.lisp.


5.2.2 Ordinary functions

Function: make-special-slot (keys)
Package

metalock.

Source

metalock.lisp.

Function: slot-names-to-lock-alist (slot-names)
Package

metalock.

Source

metalock.lisp.


5.2.3 Generic functions

Generic Reader: active-writer-p (object)
Package

metalock.

Methods
Reader Method: active-writer-p ((reader-writer-lock reader-writer-lock))

automatically generated reader method

Source

readwriter-lock.lisp.

Target Slot

active-writer-p.

Generic Writer: (setf active-writer-p) (object)
Package

metalock.

Methods
Writer Method: (setf active-writer-p) ((reader-writer-lock reader-writer-lock))

automatically generated writer method

Source

readwriter-lock.lisp.

Target Slot

active-writer-p.

Generic Reader: condition-var (object)
Package

metalock.

Methods
Reader Method: condition-var ((reader-writer-lock reader-writer-lock))

automatically generated reader method

Source

readwriter-lock.lisp.

Target Slot

condition-var.

Generic Writer: (setf condition-var) (object)
Package

metalock.

Methods
Writer Method: (setf condition-var) ((reader-writer-lock reader-writer-lock))

automatically generated writer method

Source

readwriter-lock.lisp.

Target Slot

condition-var.

Generic Reader: g-lock (object)
Package

metalock.

Methods
Reader Method: g-lock ((reader-writer-lock reader-writer-lock))

automatically generated reader method

Source

readwriter-lock.lisp.

Target Slot

g-lock.

Generic Writer: (setf g-lock) (object)
Package

metalock.

Methods
Writer Method: (setf g-lock) ((reader-writer-lock reader-writer-lock))

automatically generated writer method

Source

readwriter-lock.lisp.

Target Slot

g-lock.

Generic Reader: readers-active (object)
Package

metalock.

Methods
Reader Method: readers-active ((reader-writer-lock reader-writer-lock))

automatically generated reader method

Source

readwriter-lock.lisp.

Target Slot

readers-active.

Generic Writer: (setf readers-active) (object)
Package

metalock.

Methods
Writer Method: (setf readers-active) ((reader-writer-lock reader-writer-lock))

automatically generated writer method

Source

readwriter-lock.lisp.

Target Slot

readers-active.

Generic Reader: writers-waiting (object)
Package

metalock.

Methods
Reader Method: writers-waiting ((reader-writer-lock reader-writer-lock))

automatically generated reader method

Source

readwriter-lock.lisp.

Target Slot

writers-waiting.

Generic Writer: (setf writers-waiting) (object)
Package

metalock.

Methods
Writer Method: (setf writers-waiting) ((reader-writer-lock reader-writer-lock))

automatically generated writer method

Source

readwriter-lock.lisp.

Target Slot

writers-waiting.


5.2.4 Classes

Class: reader-writer-lock
Package

metalock.

Source

readwriter-lock.lisp.

Direct methods
Direct slots
Slot: condition-var
Initform

(bordeaux-threads:make-condition-variable)

Readers

condition-var.

Writers

(setf condition-var).

Slot: g-lock
Type

bordeaux-threads:lock

Initform

(bordeaux-threads:make-lock)

Readers

g-lock.

Writers

(setf g-lock).

Slot: readers-active
Type

integer

Initform

0

Readers

readers-active.

Writers

(setf readers-active).

Slot: writers-waiting
Type

integer

Initform

0

Readers

writers-waiting.

Writers

(setf writers-waiting).

Slot: active-writer-p
Type

boolean

Readers

active-writer-p.

Writers

(setf active-writer-p).

Class: special-slot
Package

metalock.

Source

metalock.lisp.

Direct superclasses

standard-effective-slot-definition.

Direct methods

Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   C   F   G   M   R   S   V   W  
Index Entry  Section

(
(setf active-writer-p): Private generic functions
(setf active-writer-p): Private generic functions
(setf condition-var): Private generic functions
(setf condition-var): Private generic functions
(setf g-lock): Private generic functions
(setf g-lock): Private generic functions
(setf readers-active): Private generic functions
(setf readers-active): Private generic functions
(setf slot-value-using-class): Public standalone methods
(setf writers-waiting): Private generic functions
(setf writers-waiting): Private generic functions

A
active-writer-p: Private generic functions
active-writer-p: Private generic functions

C
compute-effective-slot-definition: Public standalone methods
compute-slots: Public standalone methods
condition-var: Private generic functions
condition-var: Private generic functions

F
Function, make-special-slot: Private ordinary functions
Function, slot-names-to-lock-alist: Private ordinary functions

G
g-lock: Private generic functions
g-lock: Private generic functions
Generic Function, (setf active-writer-p): Private generic functions
Generic Function, (setf condition-var): Private generic functions
Generic Function, (setf g-lock): Private generic functions
Generic Function, (setf readers-active): Private generic functions
Generic Function, (setf writers-waiting): Private generic functions
Generic Function, active-writer-p: Private generic functions
Generic Function, condition-var: Private generic functions
Generic Function, g-lock: Private generic functions
Generic Function, readers-active: Private generic functions
Generic Function, writers-waiting: Private generic functions

M
Macro, read-with-rw-lock: Private macros
Macro, while-loop: Private macros
Macro, write-with-rw-lock: Private macros
make-special-slot: Private ordinary functions
Method, (setf active-writer-p): Private generic functions
Method, (setf condition-var): Private generic functions
Method, (setf g-lock): Private generic functions
Method, (setf readers-active): Private generic functions
Method, (setf slot-value-using-class): Public standalone methods
Method, (setf writers-waiting): Private generic functions
Method, active-writer-p: Private generic functions
Method, compute-effective-slot-definition: Public standalone methods
Method, compute-slots: Public standalone methods
Method, condition-var: Private generic functions
Method, g-lock: Private generic functions
Method, readers-active: Private generic functions
Method, slot-boundp-using-class: Public standalone methods
Method, slot-makunbound-using-class: Public standalone methods
Method, slot-value-using-class: Public standalone methods
Method, validate-superclass: Public standalone methods
Method, validate-superclass: Public standalone methods
Method, writers-waiting: Private generic functions

R
read-with-rw-lock: Private macros
readers-active: Private generic functions
readers-active: Private generic functions

S
slot-boundp-using-class: Public standalone methods
slot-makunbound-using-class: Public standalone methods
slot-names-to-lock-alist: Private ordinary functions
slot-value-using-class: Public standalone methods

V
validate-superclass: Public standalone methods
validate-superclass: Public standalone methods

W
while-loop: Private macros
write-with-rw-lock: Private macros
writers-waiting: Private generic functions
writers-waiting: Private generic functions