Cancelable

A type that conforms to Cancelable typically represents a long running operation that can be canceled. Custom implementations must behave correctly if cancel() is invoked more than once.