![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <ldk/fsm/FunctionalUnit.hpp>


Public Types | |
| typedef wns::fsm::FSM < wns::ldk::fsm::CompoundHandlerSignalInterface, VARIABLES > | BaseFSM |
Public Member Functions | |
| virtual void | doOnData (const CompoundPtr &compound) |
| virtual void | doSendData (const CompoundPtr &compound) |
| FunctionalUnit (const VARIABLES &v) | |
| bool | isAccepting (const CompoundPtr &compound) |
| void | queueOnData (const CompoundPtr &compound) |
| void | queueSendData (const CompoundPtr &compound) |
| void | queueWakeup () |
Protected Member Functions | |
| bool | linkHandler () |
Protected Attributes | |
| int | inAction |
Private Types | |
| typedef std::list< CompoundPtr > | CompoundContainer |
Private Member Functions | |
| virtual bool | doIsAccepting (const CompoundPtr &compound) const |
| virtual void | doWakeup () |
Private Attributes | |
| int | furtherSendDataCompounds |
| bool | inWakeup |
| CompoundContainer | onDataCompounds |
| CompoundPtr | sendDataCompound |
| int | wakeupFU |
Classes | |
| class | StateInterface |
| class | UnhandledSignals |
| Provides default implementation for unhandled signals. More... | |
1.) Decide which variables your states must share
2.) Put these variables in a struct (we assume Variables for now):
struct Variables { int a; int b; }
3.) Define the interface of your new FU:
#include <WNS/ldk/fsm/FunctionalUnit.hpp> typedef ldk::fsm::FunctionalUnit<Variables> MyFUInterface;
4.) Create an implementation of this interface
class MyFU : public MyFUInterface ...
5.) Implement the states:
class WaitingForACK : public MyFUInterface::UnhandledSignals { public : WaitingForACK(MyFUInterface::BaseFSM* t) : MyFUInterface::UnhandledSignals(t) {} ...
Note that the state is derived from FUInterface::UnhandledSignals. This allows this state object to be used with different implementations of MyFUInterface. Note also that the constructor of the state takes a pointer to MyFUInterface::BaseFSM by convention.
Definition at line 89 of file FunctionalUnit.hpp.
| typedef wns::fsm::FSM<wns::ldk::fsm::CompoundHandlerSignalInterface, VARIABLES> wns::ldk::fsm::FunctionalUnit< VARIABLES >::BaseFSM |
Definition at line 94 of file FunctionalUnit.hpp.
typedef std::list<CompoundPtr> wns::ldk::fsm::FunctionalUnit< VARIABLES >::CompoundContainer [private] |
Definition at line 315 of file FunctionalUnit.hpp.
| wns::ldk::fsm::FunctionalUnit< VARIABLES >::FunctionalUnit | ( | const VARIABLES & | v | ) | [inline, explicit] |
Definition at line 223 of file FunctionalUnit.hpp.
| virtual bool wns::ldk::fsm::FunctionalUnit< VARIABLES >::doIsAccepting | ( | const CompoundPtr & | compound | ) | const [inline, private, virtual] |
Definition at line 308 of file FunctionalUnit.hpp.
| virtual void wns::ldk::fsm::FunctionalUnit< VARIABLES >::doOnData | ( | const CompoundPtr & | compound | ) | [inline, virtual] |
Definition at line 278 of file FunctionalUnit.hpp.
| virtual void wns::ldk::fsm::FunctionalUnit< VARIABLES >::doSendData | ( | const CompoundPtr & | compound | ) | [inline, virtual] |
Definition at line 264 of file FunctionalUnit.hpp.
| virtual void wns::ldk::fsm::FunctionalUnit< VARIABLES >::doWakeup | ( | ) | [inline, private, virtual] |
Definition at line 293 of file FunctionalUnit.hpp.
| bool wns::ldk::fsm::FunctionalUnit< VARIABLES >::isAccepting | ( | const CompoundPtr & | compound | ) | [inline] |
Definition at line 252 of file FunctionalUnit.hpp.
| bool wns::ldk::fsm::FunctionalUnit< VARIABLES >::linkHandler | ( | ) | [inline, protected] |
Definition at line 319 of file FunctionalUnit.hpp.
| void wns::ldk::fsm::FunctionalUnit< VARIABLES >::queueOnData | ( | const CompoundPtr & | compound | ) | [inline] |
Definition at line 246 of file FunctionalUnit.hpp.
| void wns::ldk::fsm::FunctionalUnit< VARIABLES >::queueSendData | ( | const CompoundPtr & | compound | ) | [inline] |
Definition at line 234 of file FunctionalUnit.hpp.
| void wns::ldk::fsm::FunctionalUnit< VARIABLES >::queueWakeup | ( | ) | [inline] |
Definition at line 240 of file FunctionalUnit.hpp.
int wns::ldk::fsm::FunctionalUnit< VARIABLES >::furtherSendDataCompounds [private] |
Definition at line 359 of file FunctionalUnit.hpp.
int wns::ldk::fsm::FunctionalUnit< VARIABLES >::inAction [protected] |
Definition at line 355 of file FunctionalUnit.hpp.
bool wns::ldk::fsm::FunctionalUnit< VARIABLES >::inWakeup [private] |
Definition at line 361 of file FunctionalUnit.hpp.
CompoundContainer wns::ldk::fsm::FunctionalUnit< VARIABLES >::onDataCompounds [private] |
Definition at line 362 of file FunctionalUnit.hpp.
CompoundPtr wns::ldk::fsm::FunctionalUnit< VARIABLES >::sendDataCompound [private] |
Definition at line 358 of file FunctionalUnit.hpp.
int wns::ldk::fsm::FunctionalUnit< VARIABLES >::wakeupFU [private] |
Definition at line 360 of file FunctionalUnit.hpp.
1.5.5