Module driver.event
Holds the Event superclass and a few subclasses that are used in the
driver. These classes are what makes everything go since this is an event
driven mud.
The philosophy of events are that they allow us to run code that could
potentially die without having it kill the whole mud. It gives us a cheap
way of serializing tasks and (when used correctly) breaking down those
big tasks into smaller chunks so that it appears that the mud runs with
no lag.
It should be noted that events are not protected against infinite
loops (yet).
Classes |
Event |
The event superclass. |
HookEvent |
When information needs to be passed to registered functions of a hook,
this allows us to defer execution of that spam event into its own event
horizon. |
InputEvent |
The InputEvent handles all incoming user input. |
KickEvent |
This is a KickEvent for the repo thread which just makes sure
everything is running squarely and such. |