in MobiusCore/Source/MobiusController.swift [91:106]
func flipEventsToLoopQueue(consumer: @escaping Consumer<Event>) -> Consumer<Event> {
return { event in
loopQueue.async {
guard state.running else {
// If we got here, the controller was stopped while this async block was queued. Callers can’t
// possibly avoid this except through complete external serialization of all access to the
// controller, so it’s not a usage error.
//
// Note that since we’re on the loop queue at this point, `state` can’t be transitional; it is
// necessarily fully running or stopped at this point.
return
}
consumer(event)
}
}
}