close
No-op. Lifecycle is owned by the calling kotlinx.coroutines.CoroutineScope: cancelling the scope tears start down via structured concurrency.
The loom is owned by the caller and its platform-specific cleanup (e.g. MultipeerPeerLinkFactory.close) is the caller's responsibility.