pub trait Terminal: Sized + Send + Sync {
    type PrepareState;

    fn name(&self) -> &str;
    fn lock_read<'a>(&'a self) -> Box<dyn TerminalReader<Self> + 'a>;
    fn lock_write<'a>(&'a self) -> Box<dyn TerminalWriter<Self> + 'a>;
}
Expand description

Defines a low-level interface to the terminal

Required Associated Types

Returned by prepare; passed to restore to restore state.

Required Methods

Returns the name of the terminal.

Acquires a lock on terminal read operations and returns a value holding that lock and granting access to such operations.

The lock must not be released until the returned value is dropped.

Acquires a lock on terminal write operations and returns a value holding that lock and granting access to such operations.

The lock must not be released until the returned value is dropped.

Implementors