elevator v1.0.0 API Reference
Modules
A module for keeping and periodically synchronizing a log of all orders not yet finished in the distributed system.
A module that defines a button struct.
A module that observes if a button is pressed or not, passing a message on rising flank.
A module for calculating the cost of taking a new order.
Main module, responsible for starting the supervision tree containing the different processes of a node.
A module that observes changes in the floor sensor, passing a message on rising flank.
Module for representing the elevator as a Finite State Machine.
Broadcasting of IP and listening to other IPs.
A module for assigning and distributing orders from the local button panel to the most optimal order handler.
It should be noted that the OrderDistributor
has no state like a regular GenServer
would have, but the GenServer
behavior is still used for casting and calling functionality.
A module for keeping track of the orders being handled by a specific elevator.
A module for keeping track of the hall orders which are underway to being handled, and triggering a resend of orders which stay unhandled for too long.
A module that passes button presses and floor changes as messages, abstracting away the polling of memory-mapped IO to fit into the message-passing paradigm.