pub async fn run(init: ClientInit) -> Result<()>Expand description
Run the role runtime until a permanent handshake failure or a dead local surface stops it.
The acceptor task owns the workspace socket bind, and its failure ends this run the same way a permanent link failure does: a client that keeps a TLS link while its socket is unbound reads as connected from the server while every verb the workspace issues fails, so the exit status and the message on stderr are the operator’s only notice.