Index of modules


A
Array [Deferred]
Async_condition
Async's implementation of the standard notion of a "condition" variable.
Async_config [Std]
Async_gc
Async's analog of Core.Gc.
Async_or_error
The deferred analog of Core.Or_error.
Async_stream
An immutable sequence of values, with a possibly incomplete tail that may be extended asynchronously.

C
Clock [Std]
Clock
Schedule jobs to run at a time in the future.
Condition [Std]
Config
Settings that globally affect the behavior of async.
Consumer [Pipe]

D
Debug [Throttle_debug]
Debug [Import]
Debug
Internal async debugging functions.
Debug_in_this_directory [Import]
Deferred [Std]
Deferred [Ivar]
The Deferred module exposed here is for async's internal use only.
Deferred [Deferred_intf]
Deferred
A value that will become determined asynchronously.
Deferred_intf
default how is `Sequential
Deferred_std
Deferred_unit_tests
Direct [Raw_scheduler.T.Fields]
Direct [Raw_monitor.Fields]
Direct [Execution_context.Fields]

E
Epoll_max_ready_events [Import]
Epoll_max_ready_events [Config]
Event [Clock]
Events provide abortable versions of at and after.
Execution_context [Std]
Execution_context
The context in which an async job runs.
Exported_for_scheduler [Monitor]

F
Fields [Raw_scheduler.T]
Fields [Raw_monitor]
Fields [Execution_context]
File_descr_watcher [Config]
Flushed_result [Pipe]

G
Gc [Std]

H
Handler [Std]
Handler [Raw_ivar]
Handler [Raw_deferred]
Handler [Ivar.Deferred]
Handler
A continuation that captures the current async execution context.

I
Import
Infix [Deferred]
Ivar [Std]
Ivar
A write-once cell that can be empty or full (i.e.

J
Job
Internal to async -- an atomic unit of work to be run by the scheduler.
Jobs
Internal to async -- queues of jobs to run, one at each priority level.

K
Kill_index
Internal to async -- a timestamp used to implement Monitor.kill.

L
Lazy_deferred [Std]
Lazy_deferred
A delayed computation that can produce a deferred.
List [Deferred]
List [Async_or_error]

M
Map [Deferred]
Max_inter_cycle_timeout [Import]
Max_inter_cycle_timeout [Config]
Max_num_jobs_per_priority_per_cycle [Import]
Max_num_jobs_per_priority_per_cycle [Config]
Max_num_open_file_descrs [Import]
Max_num_open_file_descrs [Config]
Max_num_threads [Import]
Max_num_threads [Config]
Monitor [Std]
Monitor [Raw_scheduler]
Monitor
The part of the Execution_context that determines what to do when there is an unhandled exception.
Monitor_unit_tests

O
Option [Deferred]
Or_error [Deferred]

P
Pipe [Std]
Pipe
A buffered FIFO communication channel.
Pretty [Raw_monitor]
Print_debug_messages_for [Config]
Priority [Std]
Priority
The priority of a job.

Q
Queue [Deferred]

R
Raw_deferred
Internal to async -- see Deferred for the public API.
Raw_handler
Raw_ivar
Internal to async -- see Ivar for the public API.
Raw_monitor
Raw_scheduler
Raw_stream
Reader [Pipe]
Result [Deferred]

S
Scheduler
Internal to async -- see Async_unix.Scheduler for the public API.
Sequencer [Throttle]
A sequencer is a throttle that is specialized to only allow one job at a time and to, by default, not continue on error.
Sequencer [Std]
Std
Stream [Tail]
Stream [Std]

T
T [Raw_scheduler]
T [Raw_handler]
T2 [Throttle]
We use a phantom type to distinguish between throttles, which have max_concurrent_jobs >= 1, and sequencers, which have max_concurrent_jobs = 1.
Tail
A pointer to the end of an Async_stream that can be used to extend the stream.
Tail [Std]
Test
Nothing here.
Throttle
A way to limit the number of concurrent computations.
Throttle [Std]
Throttle_debug
Debugging for Throttle.
Throttle_unit_tests
This signature is here to remind us to update the unit tests whenever we change Throttle.

W
Writer [Pipe]