Cancellation follows a source -> sink model and consists of three components: Source, Sink, and Signal.
- Source - Created by the caller of an asynchronous operation, a Source is a Signal producer.
- Represented in this proposal as
CancellationSource
.
- Represented in this proposal as
- Sink - Provided by the caller to an asynchronous operation, a Sink is a Signal consumer.
- A Source and its Sink are entangled.
- A Sink can only be used to consume or observe a cancellation Signal.
- Represented in this proposal as a
CancellationToken
.