The rt-events Reference Manual

This is the rt-events Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:49:04 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 rt-events

A simple real-time events API.

Author

Nick Patrick <>

License

MIT

Long Description

This package provides a simple way to communicate event occurances between different threads.

Dependency

bordeaux-threads (system).

Source

rt-events.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 rt-events/src

Source

rt-events.asd.

Parent Component

rt-events (system).

Child Components

4 Files

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


4.1 Lisp


4.1.1 rt-events/rt-events.asd

Source

rt-events.asd.

Parent Component

rt-events (system).

ASDF Systems

rt-events.


4.1.2 rt-events/src/package.lisp

Source

rt-events.asd.

Parent Component

src (module).

Packages

rt-events.


4.1.3 rt-events/src/rt-events.lisp

Source

rt-events.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


5.1 rt-events

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

6 Definitions

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


6.1 Public Interface


6.1.1 Constants

Constant: +all-events+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-1+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-10+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-11+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-12+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-13+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-14+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-15+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-16+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-17+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-18+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-19+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-2+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-20+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-21+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-22+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-23+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-24+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-25+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-26+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-27+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-28+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-29+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-3+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-30+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-31+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-32+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-33+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-34+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-35+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-36+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-37+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-38+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-39+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-4+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-40+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-41+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-42+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-43+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-44+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-45+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-46+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-47+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-48+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-49+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-5+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-50+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-51+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-52+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-53+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-54+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-55+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-56+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-57+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-58+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-59+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-6+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-60+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-61+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-62+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-7+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-8+
Package

rt-events.

Source

rt-events.lisp.

Constant: +event-9+
Package

rt-events.

Source

rt-events.lisp.

Constant: +max-events+

This implementation can pass up to this many events.

Package

rt-events.

Source

rt-events.lisp.

Constant: +no-events+
Package

rt-events.

Source

rt-events.lisp.


6.1.2 Special variables

Special Variable: *default-condition-type*
Package

rt-events.

Source

rt-events.lisp.


6.1.3 Macros

Macro: pop-event (set)

Extract the first event in the set, returning it and unsetting it in the original set.

Package

rt-events.

Source

rt-events.lisp.

Macro: pop-event-index (set)

Extract the first event in the set, returning it’s difference from +event-1+. i.e. +event-1+ returns 0, unsetting +event-1+ in the original set. When set is +no-events+, the value returned is +max-events+.

Package

rt-events.

Source

rt-events.lisp.


6.1.4 Ordinary functions

Function: bit->event (bit)
Package

rt-events.

Source

rt-events.lisp.

Function: event-number->event (value)

Convert the event number (as in the 1 in +event-1+) to the associated event value. The valid input range for this function is from 1 to +max-events+.

Package

rt-events.

Source

rt-events.lisp.

Function: return-timeout (c)

Binding RETURN-TIMEOUT to the BORDEAUX-THREADS:TIMEOUT condition results in the return value :TIMEOUT when receiving an event set.

Package

rt-events.

Source

rt-events.lisp.


6.1.5 Generic functions

Generic Function: receive (event set &key timeout condition-type)

Attempt to receive an event condition specified by SET.

A CONDITION-TYPE of :ANY and :ALL are used to specify whether a single event in the set or the complete event set is necessary to satisfy the event condition.

The TIMEOUT parameter is used to specify whether or not the thread will wait for the event condition to be satisfied. When TIMEOUT is set to :NO-WAIT, the calling thread will evaluate the pending events, returning :UNSATISFIED when the condition is not met.

When TIMEOUT is :WAIT-FOREVER (default), the calling thread will become blocked if the pending events do not satisfy the event condition set. It will remain blocked until a send is performed on the set that satisfies the event condition.

When the event condition is met, the return value will be the value corresponding to the events in SET that were satisfied, and the pending events that were satisfied are cleared. If the thread must wait for the event condition to be satisfied, then a real value in the TIMEOUT parameter is used to specify the maximum duration to wait.

If a timeout is encountered, the BORDEAUX-THREADS:TIMEOUT condition will be raised. The RETURN-TIMEOUT restart may be used to instead cause a timeout to result in a return value of :TIMEOUT.

Package

rt-events.

Source

rt-events.lisp.

Methods
Method: receive ((e event) set &key timeout condition-type)
Generic Function: send (event set)

Send an event to an event object. If a blocked
thread’s event condition is satisfied by this event, then it will be unblocked.

If the event condition is not satisfied and a thread is pending on it, then the events satisfied are updated in the event object and the thread is left pending. If a thread is not pending on the event object, then the events are updated.

Send returns set.

Package

rt-events.

Source

rt-events.lisp.

Methods
Method: send ((e event) set)

6.1.6 Classes

Class: event
Package

rt-events.

Source

rt-events.lisp.

Direct methods
Direct slots
Slot: receive-set

The current events available for receipt

Type

(quote fixnum)

Initform

0

Readers

event-receive-set.

Writers

(setf event-receive-set).

Slot: condition-type
Type

(quote rt-events:condition-type-t)

Initform

rt-events:*default-condition-type*

Readers

event-condition-type.

Writers

(setf event-condition-type).

Slot: wait-set

The set used to apply the wait type to~
determine whether or not to return.

Type

(quote fixnum)

Initform

0

Readers

event-wait-set.

Writers

(setf event-wait-set).

Slot: lock
Initform

(bordeaux-threads:make-lock)

Readers

event-lock.

Writers

(setf event-lock).

Slot: ready
Initform

(bordeaux-threads:make-condition-variable)

Readers

event-ready.

Writers

(setf event-ready).


6.1.7 Types

Type: condition-type-t ()
Package

rt-events.

Source

rt-events.lisp.


6.2 Internals


6.2.1 Macros

Macro: define-constant (name value &optional doc)
Package

rt-events.

Source

rt-events.lisp.

Macro: define-event-set (min format-string)
Package

rt-events.

Source

rt-events.lisp.


6.2.2 Ordinary functions

Function: %receive (e set timeout condition)
Package

rt-events.

Source

rt-events.lisp.

Function: condition-met (events waiting-for type)
Package

rt-events.

Source

rt-events.lisp.

Function: define-event (value format-string)
Package

rt-events.

Source

rt-events.lisp.


6.2.3 Generic functions

Generic Reader: event-condition-type (object)
Package

rt-events.

Methods
Reader Method: event-condition-type ((event event))

automatically generated reader method

Source

rt-events.lisp.

Target Slot

condition-type.

Generic Writer: (setf event-condition-type) (object)
Package

rt-events.

Methods
Writer Method: (setf event-condition-type) ((event event))

automatically generated writer method

Source

rt-events.lisp.

Target Slot

condition-type.

Generic Reader: event-lock (object)
Package

rt-events.

Methods
Reader Method: event-lock ((event event))

automatically generated reader method

Source

rt-events.lisp.

Target Slot

lock.

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

rt-events.

Methods
Writer Method: (setf event-lock) ((event event))

automatically generated writer method

Source

rt-events.lisp.

Target Slot

lock.

Generic Reader: event-ready (object)
Package

rt-events.

Methods
Reader Method: event-ready ((event event))

automatically generated reader method

Source

rt-events.lisp.

Target Slot

ready.

Generic Writer: (setf event-ready) (object)
Package

rt-events.

Methods
Writer Method: (setf event-ready) ((event event))

automatically generated writer method

Source

rt-events.lisp.

Target Slot

ready.

Generic Reader: event-receive-set (object)
Generic Writer: (setf event-receive-set) (object)
Package

rt-events.

Methods
Reader Method: event-receive-set ((event event))
Writer Method: (setf event-receive-set) ((event event))

The current events available for receipt

Source

rt-events.lisp.

Target Slot

receive-set.

Generic Reader: event-wait-set (object)
Generic Writer: (setf event-wait-set) (object)
Package

rt-events.

Methods
Reader Method: event-wait-set ((event event))
Writer Method: (setf event-wait-set) ((event event))

The set used to apply the wait type to~
determine whether or not to return.

Source

rt-events.lisp.

Target Slot

wait-set.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
B   C   D   E   F   G   M   P   R   S  
Index Entry  Section

%
%receive: Private ordinary functions

(
(setf event-condition-type): Private generic functions
(setf event-condition-type): Private generic functions
(setf event-lock): Private generic functions
(setf event-lock): Private generic functions
(setf event-ready): Private generic functions
(setf event-ready): Private generic functions
(setf event-receive-set): Private generic functions
(setf event-receive-set): Private generic functions
(setf event-wait-set): Private generic functions
(setf event-wait-set): Private generic functions

B
bit->event: Public ordinary functions

C
condition-met: Private ordinary functions

D
define-constant: Private macros
define-event: Private ordinary functions
define-event-set: Private macros

E
event-condition-type: Private generic functions
event-condition-type: Private generic functions
event-lock: Private generic functions
event-lock: Private generic functions
event-number->event: Public ordinary functions
event-ready: Private generic functions
event-ready: Private generic functions
event-receive-set: Private generic functions
event-receive-set: Private generic functions
event-wait-set: Private generic functions
event-wait-set: Private generic functions

F
Function, %receive: Private ordinary functions
Function, bit->event: Public ordinary functions
Function, condition-met: Private ordinary functions
Function, define-event: Private ordinary functions
Function, event-number->event: Public ordinary functions
Function, return-timeout: Public ordinary functions

G
Generic Function, (setf event-condition-type): Private generic functions
Generic Function, (setf event-lock): Private generic functions
Generic Function, (setf event-ready): Private generic functions
Generic Function, (setf event-receive-set): Private generic functions
Generic Function, (setf event-wait-set): Private generic functions
Generic Function, event-condition-type: Private generic functions
Generic Function, event-lock: Private generic functions
Generic Function, event-ready: Private generic functions
Generic Function, event-receive-set: Private generic functions
Generic Function, event-wait-set: Private generic functions
Generic Function, receive: Public generic functions
Generic Function, send: Public generic functions

M
Macro, define-constant: Private macros
Macro, define-event-set: Private macros
Macro, pop-event: Public macros
Macro, pop-event-index: Public macros
Method, (setf event-condition-type): Private generic functions
Method, (setf event-lock): Private generic functions
Method, (setf event-ready): Private generic functions
Method, (setf event-receive-set): Private generic functions
Method, (setf event-wait-set): Private generic functions
Method, event-condition-type: Private generic functions
Method, event-lock: Private generic functions
Method, event-ready: Private generic functions
Method, event-receive-set: Private generic functions
Method, event-wait-set: Private generic functions
Method, receive: Public generic functions
Method, send: Public generic functions

P
pop-event: Public macros
pop-event-index: Public macros

R
receive: Public generic functions
receive: Public generic functions
return-timeout: Public ordinary functions

S
send: Public generic functions
send: Public generic functions


A.3 Variables

Jump to:   *   +  
C   L   R   S   W  
Index Entry  Section

*
*default-condition-type*: Public special variables

+
+all-events+: Public constants
+event-1+: Public constants
+event-10+: Public constants
+event-11+: Public constants
+event-12+: Public constants
+event-13+: Public constants
+event-14+: Public constants
+event-15+: Public constants
+event-16+: Public constants
+event-17+: Public constants
+event-18+: Public constants
+event-19+: Public constants
+event-2+: Public constants
+event-20+: Public constants
+event-21+: Public constants
+event-22+: Public constants
+event-23+: Public constants
+event-24+: Public constants
+event-25+: Public constants
+event-26+: Public constants
+event-27+: Public constants
+event-28+: Public constants
+event-29+: Public constants
+event-3+: Public constants
+event-30+: Public constants
+event-31+: Public constants
+event-32+: Public constants
+event-33+: Public constants
+event-34+: Public constants
+event-35+: Public constants
+event-36+: Public constants
+event-37+: Public constants
+event-38+: Public constants
+event-39+: Public constants
+event-4+: Public constants
+event-40+: Public constants
+event-41+: Public constants
+event-42+: Public constants
+event-43+: Public constants
+event-44+: Public constants
+event-45+: Public constants
+event-46+: Public constants
+event-47+: Public constants
+event-48+: Public constants
+event-49+: Public constants
+event-5+: Public constants
+event-50+: Public constants
+event-51+: Public constants
+event-52+: Public constants
+event-53+: Public constants
+event-54+: Public constants
+event-55+: Public constants
+event-56+: Public constants
+event-57+: Public constants
+event-58+: Public constants
+event-59+: Public constants
+event-6+: Public constants
+event-60+: Public constants
+event-61+: Public constants
+event-62+: Public constants
+event-7+: Public constants
+event-8+: Public constants
+event-9+: Public constants
+max-events+: Public constants
+no-events+: Public constants

C
condition-type: Public classes
Constant, +all-events+: Public constants
Constant, +event-1+: Public constants
Constant, +event-10+: Public constants
Constant, +event-11+: Public constants
Constant, +event-12+: Public constants
Constant, +event-13+: Public constants
Constant, +event-14+: Public constants
Constant, +event-15+: Public constants
Constant, +event-16+: Public constants
Constant, +event-17+: Public constants
Constant, +event-18+: Public constants
Constant, +event-19+: Public constants
Constant, +event-2+: Public constants
Constant, +event-20+: Public constants
Constant, +event-21+: Public constants
Constant, +event-22+: Public constants
Constant, +event-23+: Public constants
Constant, +event-24+: Public constants
Constant, +event-25+: Public constants
Constant, +event-26+: Public constants
Constant, +event-27+: Public constants
Constant, +event-28+: Public constants
Constant, +event-29+: Public constants
Constant, +event-3+: Public constants
Constant, +event-30+: Public constants
Constant, +event-31+: Public constants
Constant, +event-32+: Public constants
Constant, +event-33+: Public constants
Constant, +event-34+: Public constants
Constant, +event-35+: Public constants
Constant, +event-36+: Public constants
Constant, +event-37+: Public constants
Constant, +event-38+: Public constants
Constant, +event-39+: Public constants
Constant, +event-4+: Public constants
Constant, +event-40+: Public constants
Constant, +event-41+: Public constants
Constant, +event-42+: Public constants
Constant, +event-43+: Public constants
Constant, +event-44+: Public constants
Constant, +event-45+: Public constants
Constant, +event-46+: Public constants
Constant, +event-47+: Public constants
Constant, +event-48+: Public constants
Constant, +event-49+: Public constants
Constant, +event-5+: Public constants
Constant, +event-50+: Public constants
Constant, +event-51+: Public constants
Constant, +event-52+: Public constants
Constant, +event-53+: Public constants
Constant, +event-54+: Public constants
Constant, +event-55+: Public constants
Constant, +event-56+: Public constants
Constant, +event-57+: Public constants
Constant, +event-58+: Public constants
Constant, +event-59+: Public constants
Constant, +event-6+: Public constants
Constant, +event-60+: Public constants
Constant, +event-61+: Public constants
Constant, +event-62+: Public constants
Constant, +event-7+: Public constants
Constant, +event-8+: Public constants
Constant, +event-9+: Public constants
Constant, +max-events+: Public constants
Constant, +no-events+: Public constants

L
lock: Public classes

R
ready: Public classes
receive-set: Public classes

S
Slot, condition-type: Public classes
Slot, lock: Public classes
Slot, ready: Public classes
Slot, receive-set: Public classes
Slot, wait-set: Public classes
Special Variable, *default-condition-type*: Public special variables

W
wait-set: Public classes