UnixSocketFrameTransport class final

Implemented types

Constructors

UnixSocketFrameTransport.fromSocket(Socket socket, {int sendHighWaterMark = defaultSendHighWaterMark})
Wraps an already-accepted Socket. Used by the shell side once a client connects.
factory

Properties

hashCode → int
The hash code for this object.
no setterinherited
incoming → Stream<RemoteFrame>
Stream of frames arriving from the peer. Closes when the peer disconnects or close is called locally.
no setteroverride
isSendBacklogged → bool
True while bytes accepted by send exceed the transport's high-water mark and have not yet been handed to the OS — the peer (or the pipe to it) has stalled. Hosts defer frame PRODUCTION while this is true. A live session never selectively drops accepted frames (the wire protocol's diffs are only valid against the exact previous frame the peer holds); exceeding a transport hard bound fails the whole session closed.
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sendDrained → Future<void>
Completes when the send backlog drains — immediately when not backlogged, and always on close (a gated host must never wait forever on a dead peer).
no setteroverride
sendHighWaterMark → int
See defaultSendHighWaterMark.
final

Methods

close() → Future<void>
Tear the connection down. Idempotent.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
send(RemoteFrame frame) → void
Send one frame to the peer.
override
toString() → String
A string representation of this object.
inherited

Operators

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

Static Methods

connect(String path, {int sendHighWaterMark = defaultSendHighWaterMark}) → Future<UnixSocketFrameTransport>
Opens the Unix socket at path and wraps it as a transport. Used by the app side after detecting a shell_handle file.

Constants

defaultSendHighWaterMark → const int
Send bytes accepted but not yet handed to the OS before the transport reports itself backlogged. 256 KiB holds a few frames of a busy dashboard without tripping, while bounding app-side memory when the peer stalls (the kernel socket buffer sits below this).