#include <bslmt_timedcompletionguard.h>
This class implements a guard for work completion within a specified duration.
See bslmt_timedcompletionguard
◆ allocator_type
◆ Handler
| typedef void(* bslmt::TimedCompletionGuard::Handler) (const char *) |
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);
◆ TimedCompletionGuard() [1/3]
| bslmt::TimedCompletionGuard::TimedCompletionGuard |
( |
| ) |
|
|
inline |
Create the guard. Optionally specify a handler function that is invoked when a set duration expires. If handler is not specified, failByAbort is used. Optionally specify a basicAllocator used to supply memory. If basicAllocator is not specified, the currently installed default allocator is used.
◆ TimedCompletionGuard() [2/3]
| bslmt::TimedCompletionGuard::TimedCompletionGuard |
( |
const allocator_type & |
basicAllocator | ) |
|
|
inlineexplicit |
◆ TimedCompletionGuard() [3/3]
◆ ~TimedCompletionGuard()
| bslmt::TimedCompletionGuard::~TimedCompletionGuard |
( |
| ) |
|
|
inline |
Invoke release and destroy this guard.
◆ failByAbort()
(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
- Note that this handler function is the default installed assertion handler.
◆ 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.
- Precondition
- The behavior is undefined unless
duration is a positive value.
◆ isGuarding()
| bool bslmt::TimedCompletionGuard::isGuarding |
( |
| ) |
const |
|
inline |
Return true if this guard is currently configured with a duration to guard, and false otherwise.
◆ release()
| void bslmt::TimedCompletionGuard::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().
The documentation for this class was generated from the following file: