killSession method
Terminates one of the caller's sessions on nodeId — running (attached)
or detached — named by sessionRef (a full id, short handle, or
unambiguous prefix). Killing a running session disconnects its attached
client; the node enforces that the caller owns the session.
Implementation
Future<DetachedSessionKillResult> killSession({
required String nodeId,
required String sessionRef,
}) {
_ensureConnected();
final id = newId();
final completer = Completer<DetachedSessionKillResult>();
_pendingSessionKills[id] = completer;
_connection!.send(
ControlFrame(
DetachedSessionKillRequest(
requestId: id,
nodeId: nodeId,
sessionRef: sessionRef,
),
),
);
return completer.future;
}