#include <atomic>
#include <memory>
#include "symmetri/types.h"
Go to the source code of this file.
|
| struct | symmetri::identity< T > |
| |
| class | symmetri::Callback |
| | Callback is a wrapper around any type that you to tie to a transition. Typically this is an invokable object, such as a function, that executes some side-effects, but it can by anything if you implement a fire function for it. The output can be used to communicate success or failure to the petri-net executor. You can create custom behavior by defining a tailored "Token fire(const A&)" for your class A. More...
|
| |
|
| template<typename T> |
| bool | symmetri::isSynchronous (const T &) |
| | Checks if the callback is synchronous. Synchronous callbacks are immediately executed inside the Petri net executor. Asynchronous callbacks are deferred to the TaskSystem.
|
| |
| template<typename T> |
| void | symmetri::cancel (const T &) |
| | The default cancel implementation is naive. It only returns a user-exit state and does nothing to the actual Callback itself, and it will still complete. Because the transition is by default not cancelled, it will produce a reducer which potentially can still be processed.
|
| |
| template<typename T> |
| void | symmetri::pause (const T &) |
| | Implements a pause action for a Callback. By default it does nothing and not pause the Callback.
|
| |
| template<typename T> |
| void | symmetri::resume (const T &) |
| | Templates a resume action for a Callback. By default it does nothing and not resume the Callback.
|
| |
| template<typename T> |
| Token | symmetri::fire (const T &callback) |
| | Generates a Token based on what kind of information the Callback returns.
|
| |
| template<typename T> |
| Eventlog | symmetri::getLog (const T &) |
| | Get the Log object. By default it returns an empty vector.
|
| |
◆ cancel()
template<typename T>
| void symmetri::cancel |
( |
const T & | | ) |
|
The default cancel implementation is naive. It only returns a user-exit state and does nothing to the actual Callback itself, and it will still complete. Because the transition is by default not cancelled, it will produce a reducer which potentially can still be processed.
- Template Parameters
-
| T | the type of the callback. |
◆ fire()
template<typename T>
| Token symmetri::fire |
( |
const T & | callback | ) |
|
Generates a Token based on what kind of information the Callback returns.
- Template Parameters
-
| T | the type of the callback. |
- Parameters
-
| callback | The function to be executed. |
- Returns
- Token Contains information on the result-state and possible eventlog of the callback.
◆ getLog()
template<typename T>
| Eventlog symmetri::getLog |
( |
const T & | | ) |
|
Get the Log object. By default it returns an empty vector.
- Template Parameters
-
| T | the type of the callback. |
- Returns
- Eventlog
◆ isSynchronous()
template<typename T>
| bool symmetri::isSynchronous |
( |
const T & | | ) |
|
Checks if the callback is synchronous. Synchronous callbacks are immediately executed inside the Petri net executor. Asynchronous callbacks are deferred to the TaskSystem.
- Template Parameters
-
| T | the type of the callback. |
- Returns
- true the callback will be executed synchronously.
-
false the callback will be executed asynchronously
◆ pause()
template<typename T>
| void symmetri::pause |
( |
const T & | | ) |
|
Implements a pause action for a Callback. By default it does nothing and not pause the Callback.
- Template Parameters
-
| T | the type of the callback. |
◆ resume()
template<typename T>
| void symmetri::resume |
( |
const T & | | ) |
|
Templates a resume action for a Callback. By default it does nothing and not resume the Callback.
- Template Parameters
-
| T | the type of the callback. |