killSession method

Future<DetachedSessionKillResult> killSession({
  1. required String nodeId,
  2. required String sessionRef,
})

Terminates one of the caller's sessions on nodeIdrunning (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;
}