tear

fun tear(reason: CloseReason = CloseReason.Unreachable)

Transition to SeamState.Torn (terminal). incoming completes; subsequent sends throw IllegalStateException.

Idempotent — calling again after already torn is harmless.

Schedules delegate closure in scope so that delegate.incoming terminates, which lets the incoming flow exit cleanly.