The fast-mpsc-queue Reference Manual

This is the fast-mpsc-queue Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 06:05:15 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 fast-mpsc-queue

Multi-Producer Single-Consumer queue implementation.

Home Page

https://github.com/kchanqvq/fast-mpsc-queue

License

MIT

Long Description

This is a Multi-Producer Single-Consumer queue implementation specific to SBCL x86-64. It implements the beautiful algorithm found at "Non-intrusive MPSC node-based queue", and is intended for developing high-performance Actor systems.

Dependency

metabang-bind (system).

Source

fast-mpsc-queue.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 fast-mpsc-queue/fast-mpsc-queue.asd

Source

fast-mpsc-queue.asd.

Parent Component

fast-mpsc-queue (system).

ASDF Systems

fast-mpsc-queue.


3.1.2 fast-mpsc-queue/package.lisp

Source

fast-mpsc-queue.asd.

Parent Component

fast-mpsc-queue (system).

Packages

fast-mpsc-queue.


3.1.3 fast-mpsc-queue/atomic-swap-car.lisp

Dependency

package.lisp (file).

Source

fast-mpsc-queue.asd.

Parent Component

fast-mpsc-queue (system).


3.1.4 fast-mpsc-queue/mpsc-queue.lisp

Dependency

atomic-swap-car.lisp (file).

Source

fast-mpsc-queue.asd.

Parent Component

fast-mpsc-queue (system).

Public Interface

4 Packages

Packages are listed by definition order.


4.1 fast-mpsc-queue

Source

package.lisp.

Use List
  • common-lisp.
  • metabang.bind.
Public Interface

5 Definitions

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


5.1 Public Interface


5.1.1 Ordinary functions

Function: dequeue (queue)

Dequeue an value from ‘queue’ and returns it as the primary value, and T as secondary value. If ‘queue’ is empty, returns ‘nil’ as both primary and secondary value.

Package

fast-mpsc-queue.

Source

mpsc-queue.lisp.

Function: empty-p (queue)
Package

fast-mpsc-queue.

Source

mpsc-queue.lisp.

Function: enqueue (item queue)

Enqueue ‘item’ into ‘queue’. Returns ‘item’.

Package

fast-mpsc-queue.

Source

mpsc-queue.lisp.

Function: make-queue ()
Package

fast-mpsc-queue.

Source

mpsc-queue.lisp.


Appendix A Indexes


A.1 Concepts


A.3 Variables