Documentation

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

Methods

__unserialize()

public final __unserialize(array<string|int, mixed> $data) : never
Parameters
$data : array<string|int, mixed>
Return values
never

isRequested()

Returns whether cancellation has been requested yet.

public isRequested() : bool
Return values
bool

subscribe()

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 CancelledException as 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

        
On this page

Search results