BloombergLP::bslmt::TimedCompletionGuard

This class implements a guard for work completion within a specified duration.

Synopsis

Declared in <bslmt_timedcompletionguard.h>

class TimedCompletionGuard;

Type Aliases

NameDescription
Handler Handler is an alias for a pointer to a function returning void, and taking, as a parameter, a null-terminated string, which is the structure of the handler function supported by this class -- e.g., ` void myHandler(const char *text); `
allocator_type Alias indicating this type is allocator-aware.

Member Functions

NameDescription
TimedCompletionGuard [constructor]Constructors
~TimedCompletionGuard [destructor]Invoke release and destroy this guard.
get_allocator Return the allocator used to supply memory.
guard Configure a thread to, at the expiration of the specified duration, invoke the handler assigned at object creation with the specified text, unless the release method is invoked or this guard is rescheduled with a subsequent call to guard. Return 0 on success, and a non-zero value if a thread is not available and could not be created. The behavior is undefined unless duration is a positive value.
isGuarding Return true if this guard is currently configured with a duration to guard, and false otherwise.
release If a thread is waiting to alert at expiration of the set duration, join the thread, thus preventing any alerting.
updateText Use the specified text for alerting when the current duration expires. Return 0 on success, and a non-zero value if false == isGuarding().

Static Member Functions

NameDescription
failByAbort [noreturn](Default Handler) Emulate the invocation of the standard assert macro with a false argument, using the expression text to generate a helpful output message and then, after logging, unconditionally aborting. Note that this handler function is the default installed assertion handler.