The cl-muth Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-muth Reference Manual

This is the cl-muth Reference Manual, version 1.0.0, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:15:58 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

cl-muth

Various multithreading and concurrency utilities:


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 cl-muth

Author

Pavel Korolev

Contact

dev@borodust.org

License

MIT

Description

Multithreading utilities

Version

1.0.0

Dependencies
Source

cl-muth.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 cl-muth.asd

Location

cl-muth.asd

Systems

cl-muth (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 cl-muth/packages.lisp

Parent

cl-muth (system)

Location

packages.lisp

Packages

cl-muth


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 cl-muth/guarded-reference.lisp

Dependency

packages.lisp (file)

Parent

cl-muth (system)

Location

guarded-reference.lisp

Exported Definitions
Internal Definitions

guarded-reference (class)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 cl-muth/blocking-queue.lisp

Dependency

guarded-reference.lisp (file)

Parent

cl-muth (system)

Location

blocking-queue.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 cl-muth/latch.lisp

Dependency

blocking-queue.lisp (file)

Parent

cl-muth (system)

Location

latch.lisp

Exported Definitions
Internal Definitions

simple-latch (class)


Previous: , Up: Lisp files   [Contents][Index]

3.1.6 cl-muth/thread-pool.lisp

Dependency

latch.lisp (file)

Parent

cl-muth (system)

Location

thread-pool.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 cl-muth

Source

packages.lisp (file)

Nicknames
Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: wait-with-latch (LATCH-NAME &optional COUNT) &body BODY
Package

cl-muth

Source

latch.lisp (file)

Macro: with-guarded-reference (NAME &optional VALUE) &body BODY
Package

cl-muth

Source

guarded-reference.lisp (file)

Macro: within-pool (POOL-PLACE &optional PRIORITY) &body BODY
Package

cl-muth

Source

thread-pool.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: close-pool POOL
Package

cl-muth

Source

thread-pool.lisp (file)

Function: guarded-value-of GUARDED-REF
Function: (setf guarded-value-of) VALUE GUARDED-REF
Package

cl-muth

Source

guarded-reference.lisp (file)

Function: interrupt BLOCKING-QUEUE
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: make-blocking-queue &optional MAX-SIZE
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: make-guarded-reference OBJECT
Package

cl-muth

Source

guarded-reference.lisp (file)

Function: make-latch &optional COUNT
Package

cl-muth

Source

latch.lisp (file)

Function: make-thread-pool POOL-SIZE
Package

cl-muth

Source

thread-pool.lisp (file)

Function: open-latch LATCH
Package

cl-muth

Source

latch.lisp (file)

Function: open-pool POOL &optional NAME
Package

cl-muth

Source

thread-pool.lisp (file)

Function: pool-alive-p POOL
Package

cl-muth

Source

thread-pool.lisp (file)

Function: pop-from BLOCKING-QUEUE
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: push-to-pool POOL FN &optional PRIORITY
Package

cl-muth

Source

thread-pool.lisp (file)

Function: put-into BLOCKING-QUEUE ITEM &optional PRIORITY
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: try-put-into BLOCKING-QUEUE ITEM &optional PRIORITY
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: try-put-replacing BLOCKING-QUEUE ITEM &optional PRIORITY
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: wait-for-latch LATCH
Package

cl-muth

Source

latch.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Conditions

Condition: interrupted ()
Package

cl-muth

Source

blocking-queue.lisp (file)

Direct superclasses

control-error (condition)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: +iterations-until-wait+
Package

cl-muth

Source

blocking-queue.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Functions

Function: %add QUEUE ITEM PRIORITY
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: %emptyp QUEUE
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: %length QUEUE &optional UPTO
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: %make-thread-pool-worker POOL NAME
Package

cl-muth

Source

thread-pool.lisp (file)

Function: %next QUEUE
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: %next-least-important QUEUE
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: %put-into BLOCKING-QUEUE ITEM &optional PRIORITY
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: %wait-interruptibly THIS
Package

cl-muth

Source

blocking-queue.lisp (file)

Function: copy-thread-pool INSTANCE
Package

cl-muth

Source

thread-pool.lisp (file)

Function: thread-pool-p OBJECT
Package

cl-muth

Source

thread-pool.lisp (file)

Function: tp-blocking-queue INSTANCE
Function: (setf tp-blocking-queue) VALUE INSTANCE
Package

cl-muth

Source

thread-pool.lisp (file)

Function: tp-enabled-p INSTANCE
Function: (setf tp-enabled-p) VALUE INSTANCE
Package

cl-muth

Source

thread-pool.lisp (file)

Function: tp-lock INSTANCE
Package

cl-muth

Source

thread-pool.lisp (file)

Function: tp-pool-size INSTANCE
Package

cl-muth

Source

thread-pool.lisp (file)

Function: tp-workers INSTANCE
Function: (setf tp-workers) VALUE INSTANCE
Package

cl-muth

Source

thread-pool.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Generic functions

Generic Function: %queue-of OBJECT
Package

cl-muth

Methods
Method: %queue-of (BLOCKING-QUEUE blocking-queue)

automatically generated reader method

Source

blocking-queue.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Structures

Structure: thread-pool ()
Package

cl-muth

Source

thread-pool.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: pool-size
Initform

1

Readers

tp-pool-size (function)

Writers

(setf tp-pool-size) (function)

Slot: lock
Initform

(bordeaux-threads:make-lock "thread-pool-lock")

Readers

tp-lock (function)

Writers

(setf tp-lock) (function)

Slot: enabled-p
Readers

tp-enabled-p (function)

Writers

(setf tp-enabled-p) (function)

Slot: workers
Readers

tp-workers (function)

Writers

(setf tp-workers) (function)

Slot: blocking-queue
Readers

tp-blocking-queue (function)

Writers

(setf tp-blocking-queue) (function)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Classes

Class: blocking-queue ()
Package

cl-muth

Source

blocking-queue.lisp (file)

Direct superclasses

standard-object (class)

Direct methods

%queue-of (method)

Direct slots
Slot: lock
Initform

(bordeaux-threads:make-recursive-lock "blocking-queue-lock")

Slot: interrupted-p
Slot: max-size
Initargs

:max-size

Slot: state-changed
Initform

(bordeaux-threads:make-condition-variable :name "blocking-queue-condition")

Slot: queue
Initform

(list (list :highest) (list :high) (list :medium) (list :low) (list :lowest))

Readers

%queue-of (generic function)

Class: guarded-reference ()
Package

cl-muth

Source

guarded-reference.lisp (file)

Direct superclasses

standard-object (class)

Direct slots
Slot: lock
Initform

(bordeaux-threads:make-recursive-lock "guard-ref-lock")

Slot: ref
Initargs

:reference

Class: simple-latch ()
Package

cl-muth

Source

latch.lisp (file)

Direct superclasses

standard-object (class)

Direct slots
Slot: counter
Initargs

:count

Initform

1

Slot: state-changed
Initform

(bordeaux-threads:make-condition-variable :name "latch-state")

Slot: lock
Initform

(bordeaux-threads:make-recursive-lock "latch-lock")


Previous: , Up: Internal definitions   [Contents][Index]

5.2.6 Types

Type: blocking-queue-item-priority ()
Package

cl-muth

Source

blocking-queue.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-muth.asd: The cl-muth<dot>asd file
cl-muth/blocking-queue.lisp: The cl-muth/blocking-queue<dot>lisp file
cl-muth/guarded-reference.lisp: The cl-muth/guarded-reference<dot>lisp file
cl-muth/latch.lisp: The cl-muth/latch<dot>lisp file
cl-muth/packages.lisp: The cl-muth/packages<dot>lisp file
cl-muth/thread-pool.lisp: The cl-muth/thread-pool<dot>lisp file

F
File, Lisp, cl-muth.asd: The cl-muth<dot>asd file
File, Lisp, cl-muth/blocking-queue.lisp: The cl-muth/blocking-queue<dot>lisp file
File, Lisp, cl-muth/guarded-reference.lisp: The cl-muth/guarded-reference<dot>lisp file
File, Lisp, cl-muth/latch.lisp: The cl-muth/latch<dot>lisp file
File, Lisp, cl-muth/packages.lisp: The cl-muth/packages<dot>lisp file
File, Lisp, cl-muth/thread-pool.lisp: The cl-muth/thread-pool<dot>lisp file

L
Lisp File, cl-muth.asd: The cl-muth<dot>asd file
Lisp File, cl-muth/blocking-queue.lisp: The cl-muth/blocking-queue<dot>lisp file
Lisp File, cl-muth/guarded-reference.lisp: The cl-muth/guarded-reference<dot>lisp file
Lisp File, cl-muth/latch.lisp: The cl-muth/latch<dot>lisp file
Lisp File, cl-muth/packages.lisp: The cl-muth/packages<dot>lisp file
Lisp File, cl-muth/thread-pool.lisp: The cl-muth/thread-pool<dot>lisp file

Jump to:   C   F   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
C   F   G   I   M   O   P   T   W  
Index Entry  Section

%
%add: Internal functions
%emptyp: Internal functions
%length: Internal functions
%make-thread-pool-worker: Internal functions
%next: Internal functions
%next-least-important: Internal functions
%put-into: Internal functions
%queue-of: Internal generic functions
%queue-of: Internal generic functions
%wait-interruptibly: Internal functions

(
(setf guarded-value-of): Exported functions
(setf tp-blocking-queue): Internal functions
(setf tp-enabled-p): Internal functions
(setf tp-workers): Internal functions

C
close-pool: Exported functions
copy-thread-pool: Internal functions

F
Function, %add: Internal functions
Function, %emptyp: Internal functions
Function, %length: Internal functions
Function, %make-thread-pool-worker: Internal functions
Function, %next: Internal functions
Function, %next-least-important: Internal functions
Function, %put-into: Internal functions
Function, %wait-interruptibly: Internal functions
Function, (setf guarded-value-of): Exported functions
Function, (setf tp-blocking-queue): Internal functions
Function, (setf tp-enabled-p): Internal functions
Function, (setf tp-workers): Internal functions
Function, close-pool: Exported functions
Function, copy-thread-pool: Internal functions
Function, guarded-value-of: Exported functions
Function, interrupt: Exported functions
Function, make-blocking-queue: Exported functions
Function, make-guarded-reference: Exported functions
Function, make-latch: Exported functions
Function, make-thread-pool: Exported functions
Function, open-latch: Exported functions
Function, open-pool: Exported functions
Function, pool-alive-p: Exported functions
Function, pop-from: Exported functions
Function, push-to-pool: Exported functions
Function, put-into: Exported functions
Function, thread-pool-p: Internal functions
Function, tp-blocking-queue: Internal functions
Function, tp-enabled-p: Internal functions
Function, tp-lock: Internal functions
Function, tp-pool-size: Internal functions
Function, tp-workers: Internal functions
Function, try-put-into: Exported functions
Function, try-put-replacing: Exported functions
Function, wait-for-latch: Exported functions

G
Generic Function, %queue-of: Internal generic functions
guarded-value-of: Exported functions

I
interrupt: Exported functions

M
Macro, wait-with-latch: Exported macros
Macro, with-guarded-reference: Exported macros
Macro, within-pool: Exported macros
make-blocking-queue: Exported functions
make-guarded-reference: Exported functions
make-latch: Exported functions
make-thread-pool: Exported functions
Method, %queue-of: Internal generic functions

O
open-latch: Exported functions
open-pool: Exported functions

P
pool-alive-p: Exported functions
pop-from: Exported functions
push-to-pool: Exported functions
put-into: Exported functions

T
thread-pool-p: Internal functions
tp-blocking-queue: Internal functions
tp-enabled-p: Internal functions
tp-lock: Internal functions
tp-pool-size: Internal functions
tp-workers: Internal functions
try-put-into: Exported functions
try-put-replacing: Exported functions

W
wait-for-latch: Exported functions
wait-with-latch: Exported macros
with-guarded-reference: Exported macros
within-pool: Exported macros

Jump to:   %   (  
C   F   G   I   M   O   P   T   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   +  
B   C   E   I   L   M   P   Q   R   S   W  
Index Entry  Section

+
+iterations-until-wait+: Internal constants

B
blocking-queue: Internal structures

C
Constant, +iterations-until-wait+: Internal constants
counter: Internal classes

E
enabled-p: Internal structures

I
interrupted-p: Internal classes

L
lock: Internal structures
lock: Internal classes
lock: Internal classes
lock: Internal classes

M
max-size: Internal classes

P
pool-size: Internal structures

Q
queue: Internal classes

R
ref: Internal classes

S
Slot, blocking-queue: Internal structures
Slot, counter: Internal classes
Slot, enabled-p: Internal structures
Slot, interrupted-p: Internal classes
Slot, lock: Internal structures
Slot, lock: Internal classes
Slot, lock: Internal classes
Slot, lock: Internal classes
Slot, max-size: Internal classes
Slot, pool-size: Internal structures
Slot, queue: Internal classes
Slot, ref: Internal classes
Slot, state-changed: Internal classes
Slot, state-changed: Internal classes
Slot, workers: Internal structures
state-changed: Internal classes
state-changed: Internal classes

W
workers: Internal structures

Jump to:   +  
B   C   E   I   L   M   P   Q   R   S   W  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   B   C   G   I   P   S   T  
Index Entry  Section

B
blocking-queue: Internal classes
blocking-queue-item-priority: Internal types

C
cl-muth: The cl-muth system
cl-muth: The cl-muth package
Class, blocking-queue: Internal classes
Class, guarded-reference: Internal classes
Class, simple-latch: Internal classes
Condition, interrupted: Exported conditions

G
guarded-reference: Internal classes

I
interrupted: Exported conditions

P
Package, cl-muth: The cl-muth package

S
simple-latch: Internal classes
Structure, thread-pool: Internal structures
System, cl-muth: The cl-muth system

T
thread-pool: Internal structures
Type, blocking-queue-item-priority: Internal types

Jump to:   B   C   G   I   P   S   T