Module lc3_ensemble::sim::io
source · Expand description
IO handling for LC-3.
The interface for IO devices is defined with the IODevice trait.
This is exposed to the simulator with the SimIO enum.
Besides those two key items, this module also includes:
EmptyIO: AnIODeviceholding the implementation for a lack of IO support.BiChannelIO: AnIODeviceholding a basic implementation for IO.CustomIO: AnIODevicethat can be used to wrap around custom IO implementations.BlockingQueue: Not anIODevice, but a utility data structure that can be used as an input buffer.
Structs§
- An IO that reads from one channel and writes to another.
- A simple multi-producer, multi-consumer blocking queue.
- An opaque box that holds custom defined IO.
- No IO. All reads and writes are unsuccessful.
- A helper struct for
BiChannelIO::new, indicating the channel is closed and no more reads/writes will come from it.
Enums§
- All the variants of IO accepted by the Simulator.
Traits§
- An IO device that can be read/written to.