[−][src]Module olympia_engine::remote
Handle communicating with an emulator over a remote channel
This is useful for running the emulator in for example another thread or a web worker.
Usage
A front end should provide its own implementation of the RemoteEmulatorChannel
and RemoteEventListeners
traits that uses the front end environments own mechanisms
to communicate, and then create an instance of RemoteEmulator
.
The front end can then use methods on RemoteEmulator
to control the emulator
Structs
AdapterEventWrapper | Type-safe wrapper around dynamic event listeners |
CommandId | An identifier for a running command |
EmulatorCommandExecution | A command executing in a remote emulator |
ExecTime | The time (in seconds) the emulator has been running |
QueryMemoryResponse | The memory data at a requested address |
QueryRegistersResponse | The values of all 16-bit registers |
RemoteEmulator | An emulator that is executing elsewhere |
UiBreakpoint |
Enums
EmulatorCommand | A single command for the remote emulator execute |
EmulatorResponse | A response to an emulator command |
Error | A problem encountered by a remote emulator |
Event | Events from a remote emulator |
EventSendError | Failures to send an event |
ExecMode | The running/not running state of the remote emulator |
LoadRomError | A failure to load a ROM |
RemoteEmulatorOutput | Events, Errors and Responses from a remote emulator |
Traits
RemoteEmulatorChannel | Transfers events/commands to remote emulator |
RemoteEventListeners | A mechanism for listening to remote events |
Sender | An item that can have events sent to it |
Type Definitions
Result | Result of a remote emulator operation |