BloombergLP::bdlmt

Namespace for multithreaded timer and event scheduling components.

Types

NameDescription
EventScheduler Thread-safe scheduler that dispatches callbacks on a worker thread.
EventSchedulerEventHandle Objects of this type refer to events in the EventScheduler API. They are convertible to const Event* references and may be used in any method that expects them.
EventSchedulerRecurringEventHandle Handle referring to a recurring event in an EventScheduler.
EventSchedulerTestTimeSource Test utility that controls the clock used by an EventScheduler.
EventSchedulerTestTimeSource_Data Component-private implementation of test time-source state.
FixedThreadPool This class implements a thread pool used for concurrently executing multiple user-defined functions ("jobs").
MultiQueueThreadPool This class implements a dynamic, configurable pool of queues, each of which is processed serially by a thread pool.
MultiQueueThreadPool_Queue This private class provides a thread-safe, lightweight job queue.
MultipriorityThreadPool Thread pool that executes jobs according to integral priorities.
Signaler Thread-safe signaler that invokes connected slots via its call operator.
SignalerConnection Lightweight handle representing a signaler-to-slot connection.
SignalerConnectionGuard RAII guard that disconnects a SignalerConnection on destruction.
Signaler_ArgumentType Provide convenient forwarding types for each argument of t_PROT.
Signaler_Invocable Provides a call operator for the derived class bdlmt::Signaler, such that its call signature is identical to that of t_PROT.
Signaler_Node Shared implementation object backing a Signaler.
Signaler_NotArg Provides a "Not an Argument" tag type.
Signaler_SlotNode Dynamically allocated container holding one connected slot.
Signaler_SlotNode_Base Non-template protocol base for Signaler_SlotNode.
ThreadMultiplexor Mechanism that partitions threads to process user-defined jobs.
ThreadPool This class implements a thread pool used for concurrently executing multiple user-defined functions ("jobs").
ThreadPoolWaitNode Component-private node for the LIFO wait list of idle worker threads.
Throttle Mechanism that regulates the frequency at which actions may be taken.
Throttle_InitHelper Private helper that validates compile-time throttle initialization arguments.
TimerEventScheduler Thread-safe scheduler that dispatches one-shot and recurring callbacks.
TimerEventSchedulerDispatcher Dispatcher functor type for TimerEventScheduler.
TimerEventSchedulerTestTimeSource Test helper that substitutes a controllable clock into a timer scheduler.
TimerEventSchedulerTestTimeSource_Data Test time-source data for TimerEventScheduler (testing only).

Type Aliases

NameDescription
FixedThreadPoolJobFunc This type declares the prototype for functions that are suitable to be specified bdlmt::FixedThreadPool::enqueueJob.
ThreadPoolJobFunc This type declares the prototype for functions that are suitable to be specified bdlmt::FixedThreadPool::enqueueJob.

Functions

NameDescription
ThreadPoolEntry Entry point for processing threads.
swap Swap the contents of a and b.
operator== Return true if lhs and rhs refer to the same slot.
operator!= Return true if lhs and rhs do not refer to the same slot.
operator< Return true if lhs is ordered before rhs.
operator<= Return true if lhs is ordered before or equal to rhs.
operator> Return true if lhs is ordered after rhs.
operator>= Return true if lhs is ordered after or equal to rhs.