AsyncSpinner is a spinner that does not conform to the abstract Spinner interface. Instead, it spins asynchronously when you call start(), and stops when either you call stop(), ros::shutdown() is called, or its destructor is called.
More...
#include <spinner.h>
|
| AsyncSpinner (uint32_t thread_count) |
| Simple constructor. Uses the global callback queue. More...
|
|
| AsyncSpinner (uint32_t thread_count, CallbackQueue *queue) |
| Constructor with custom callback queue. More...
|
|
bool | canStart () |
| Check if the spinner can be started. The spinner shouldn't be started if another single-threaded spinner is already operating on the callback queue. More...
|
|
void | start () |
| Start this spinner spinning asynchronously. More...
|
|
void | stop () |
| Stop this spinner from running. More...
|
|
AsyncSpinner is a spinner that does not conform to the abstract Spinner interface. Instead, it spins asynchronously when you call start(), and stops when either you call stop(), ros::shutdown() is called, or its destructor is called.
AsyncSpinner is reference counted internally, so if you copy one it will continue spinning until all copies have destructed (or stop() has been called on one of them)
Definition at line 94 of file spinner.h.
◆ AsyncSpinner() [1/2]
roswrap::AsyncSpinner::AsyncSpinner |
( |
uint32_t |
thread_count | ) |
|
Simple constructor. Uses the global callback queue.
- Parameters
-
thread_count | The number of threads to use. A value of 0 means to use the number of processor cores |
◆ AsyncSpinner() [2/2]
roswrap::AsyncSpinner::AsyncSpinner |
( |
uint32_t |
thread_count, |
|
|
CallbackQueue * |
queue |
|
) |
| |
Constructor with custom callback queue.
- Parameters
-
thread_count | The number of threads to use. A value of 0 means to use the number of processor cores |
queue | The callback queue to operate on. A null value means to use the global queue |
◆ canStart()
bool roswrap::AsyncSpinner::canStart |
( |
| ) |
|
Check if the spinner can be started. The spinner shouldn't be started if another single-threaded spinner is already operating on the callback queue.
This function is not necessary anymore. start() will always try to start spinning and throw a std::runtime_error if it failed.
◆ start()
void roswrap::AsyncSpinner::start |
( |
| ) |
|
Start this spinner spinning asynchronously.
◆ stop()
void roswrap::AsyncSpinner::stop |
( |
| ) |
|
Stop this spinner from running.
◆ impl_
The documentation for this class was generated from the following file: