CompositeCancellation
in package
implements
Cancellation
uses
ForbidCloning, ForbidSerialization
FinalYes
Table of Contents
Interfaces
- Cancellation
- Cancellations are simple objects that allow registering handlers to subscribe to cancellation requests.
Properties
- $callbacks : array<string, callable(CancelledException): void>
- $cancellations : array<int, Cancellation, string}>
- $exception : CancelledException|null
- $nextId : string
Methods
- __construct() : mixed
- __destruct() : mixed
- __serialize() : never
- __unserialize() : never
- isRequested() : bool
- Returns whether cancellation has been requested yet.
- subscribe() : string
- Subscribes a new handler to be invoked on a cancellation request.
- throwIfRequested() : void
- Throws the `CancelledException` if cancellation has been requested, otherwise does nothing.
- unsubscribe() : void
- Unsubscribes a previously registered handler.
- __clone() : mixed
Properties
$callbacks
private
array<string, callable(CancelledException): void>
$callbacks
= []
$cancellations
private
array<int, Cancellation, string}>
$cancellations
= []
$exception
private
CancelledException|null
$exception
= null
$nextId
private
string
$nextId
= "a"
Methods
__construct()
public
__construct(Cancellation ...$cancellations) : mixed
Parameters
- $cancellations : Cancellation
__destruct()
public
__destruct() : mixed
__serialize()
public
final __serialize() : never
Return values
never__unserialize()
public
final __unserialize(array<string|int, mixed> $data) : never
Parameters
- $data : array<string|int, mixed>
Return values
neverisRequested()
Returns whether cancellation has been requested yet.
public
isRequested() : bool
Return values
boolsubscribe()
Subscribes a new handler to be invoked on a cancellation request.
public
subscribe(Closure $callback) : string
This handler might be invoked immediately in case the cancellation has already been requested. Any unhandled exceptions will be thrown into the event loop.
Parameters
- $callback : Closure
-
Callback to be invoked on a cancellation request. Will receive a
CancelledExceptionas first argument that may be used to fail the operation.
Return values
string —Identifier that can be used to cancel the subscription.
throwIfRequested()
Throws the `CancelledException` if cancellation has been requested, otherwise does nothing.
public
throwIfRequested() : void
unsubscribe()
Unsubscribes a previously registered handler.
public
unsubscribe(string $id) : void
The handler will no longer be called as long as this method isn't invoked from a subscribed callback.
Parameters
- $id : string
__clone()
protected
final __clone() : mixed