A push-driven stream that sends Events over time, parameterized by the type of values being sent (
Value) and the type of failure that can occur (
Error). If no failures should be possible, NoError can be specified for
An observer of a Signal will see the exact same sequence of events as all other observers. In other words, events will be sent to all observers at the same time.
Signals are generally used to represent event streams that are already “in progress,” like notifications, user input, etc. To represent streams that must first be started, see the SignalProducer type.
A Signal is kept alive until either of the following happens:
- its input observer receives a terminating event; or
- it has no active observers, and is not being retained.
public final class Signal<Value, Error> where Error : Error