ShellSessionPort class abstract

The minimal session surface an InteractiveShellController drives.

RemoteSession satisfies this directly (its API already matches), so an embedder passes its open session straight to the controller. The narrow interface also makes the controller unit-testable with an in-memory fake, and keeps the controller free of any transport/dart:io dependency.

Implementers

Constructors

ShellSessionPort()

Properties

exitCode Future<int>
Completes with the remote process exit code.
no setter
hashCode int
The hash code for this object.
no setterinherited
id SessionId?
The session id, if known (used as the marker nonce so a resumed session derives the same completion token).
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shellFamily ShellFamily
The remote shell's command-language family (selects the prompt dialect).
no setter
stderr Stream<Uint8List>
Remote standard-error bytes, streamed live.
no setter
stdout Stream<Uint8List>
Remote standard-output bytes, streamed live (carries the cwd markers).
no setter
wasDetached bool
Whether the session was detached rather than closed/exited.
no setter

Methods

close() Future<void>
Closes the session, asking the node to terminate the process.
detach() Future<void>
Detaches the session, keeping it alive on the node for a later resume.
grantWindow(int credit) → void
Grants the peer credit more bytes of send window (flow control).
interrupt() → void
Sends SIGINT to the remote process (Ctrl-C).
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
resize({required int cols, required int rows}) → void
Resizes the remote terminal.
toString() String
A string representation of this object.
inherited
writeStdin(List<int> data) → void
Writes data to the remote standard input.

Operators

operator ==(Object other) bool
The equality operator.
inherited