Shared stop state that tracks a stop request and registered callbacks.

Synopsis

Declared in <bslstl_stopstate.h>

class StopState;

Member Functions

Name

Description

StopState [constructor]

Create a StopState object that initially has no registered callbacks and on which a stop has not been requested.

deregister

If the callback of the specified node is currently executing, wait for it to complete. Otherwise, remove node from the list of nodes registered to this state. The behavior is undefined if this method is called more than once for a given node or if node was not previously registered to this state by a call to enregister that returned true.

enregister

If a stop has already been requested, then invoke the callback of the specified node and return false. Otherwise, add node to the list of nodes registered to this state and return true. The behavior is undefined if this method is called more than once for a given node.

requestStop

If this StopState object has already had a stop requested, return false. Otherwise, atomically mark this StopState object as having had a stop requested, then execute all registered callbacks in an unspecified order, and finally return true.

stopRequested

Return true if a stop has been requested on this StopState object, and false otherwise.

Derived Classes

Name

Description

StopToken_RefCountedState

This component‐private struct adds a reference count to the internal StopState class. This reference count represents the number of bsl::stop_source objects that refer to the stop state (NOT the total number of objects that refer to the stop state).

Created with MrDocs