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: An IODevice holding the implementation for a lack of IO support.
  • BiChannelIO: An IODevice holding a basic implementation for IO.
  • CustomIO: An IODevice that can be used to wrap around custom IO implementations.
  • BlockingQueue: Not an IODevice, 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.