In the previous chapters (Step 6 and Step 7) we saw how Murmex calls the specific methods depending on the command in the Message. For example, it calls the Initialise method (Initialise.vi) when a InitialiseMessage is received and the Terminate method when the TerminateMessage is received. Even when you do not implement the method in your class, the Murmex method is called anyway. The list of implemented methods and related messages is as following:
Table 1. List of Murmex commands
Command | Called method | Message class | Response description |
null | Handle time-out | Message | responds when no message has been received for the timeout response time |
acknowledge | Acknowledge | AcknowledgeMessage | responds with confirmation of reception |
configure | Configure | ConfigureMessage | configures the connection, observers and mapping script |
fetch | Fetch | FetchMessage | receives data from observees |
generic | Generic command handler | GenericMessage | can call non-predefined states |
inform | Inform | InformMessage | providing the latest instance data of the class |
initialise | Initialise | InitialiseMessage | initialisation 1 |
inspect | Inspect | InspectMessage | asking to get the latest instance data of the class |
proceed | Proceed | ProceedMessage | indicate to observee that current class is ready to proceed |
reset | Reset | ResetMessage | resets the internal state |
start | Start | StartMessage | start functionality |
stop | Stop | StopMessage | stop functionality |
terminate | Terminate | TerminateMessage | closes connection and ends program 2 |
update | Update | UpdateMessage | receive new values |
As can be seen, the list is limited to these 14 commands and methods, but can be extended by using the generic command. Inside a GenericMessage you can specify your own command name. In the method Generic command handler you create a case structure to execute the code depending on your own defined commands.