plushy

Events

plushy

Events in Plush

Event handlers have a data field of type void*. Depending on the type of message, the expected type of the value placed in the field differs. For node events, the data field contains a pointer to the appropriate node. For configuration matcher events, the field points to a component that has been matched.

Major Type/Class Minor Type "data" type Discussion
Mesh Node Joined char * (hostname) Event raised when a new node enters the mesh, though not raised if the node was localhost. Raised as root only.
Node Left char * (hostname) Event raised when the root removes a host from its list of members. Like JOINED, this doesn't raise on localhost.
Node Status Update
Init Success Node * We were successful in sending the client preferences object, and any other initialization data, to the node.
Init Failure Node * Our commands to initialize the node failed. This client process is probably unusable.
Discovered Node * A pointer to the node object which was discovered (just added to our host database)
Unsuitable Node * When we checked our requirements against the node, it was found wanting. Treat this node as a failed one, and start a retry.
Prepared Node * Fired when a node has had all of its required software installed and copied remotely. Such nodes are ready to have their processes created (but not started).
Exec Prepared Node * Fired when a node is ready to receive the "go" signal and start running the experiment.
File Transfer Request FileTransfer* The requested file transfer.
Done FileTransfer* The completed file transfer
Software Installer Success Installation * The successful installation.
Failure Installation * The failed installation.
Process Prepared
Started
Stopped
Exited Process * The process that has exited.
Killed Process * The process that was killed. Note that this just means that a kill() was sent to the process, not that it actually exited. (XXX ... fix this)
Configuration Matcher Done Component * When the matcher finishes, a pointer to the component that was matched.
Slice Updated Slice * When any data about the slice is read, raise this event with the slice pointer. This includes updated host lists, updated renewal times, manual changes, and so on.
Renewed
Added Slice * The slice that was added / just discovered by us (this doesn't mean the slice was just created at the PLC, just that it's new to us.)
Client Init Success NULL ( Currently only fired in the client )
Init Failure NULL # never fired #
Proxy Installer Success char * (hostname) Fired when the proxy installer successfully gets the proxy on a remote host.
Failure char * (hostname) Fired when all attempts at installation have failed.
Src Sent char * (hostname) Fired when the source code has been sent (the first step after an initial failure). The new bootstrap code is all in external scripts, so this is never fired.
Compile Failure char * (hostname) Fired when the source code compile has failed, and we're going to try copying binaries over there, instead. This is deprecated, and never fired.