Swoole\Coroutine\Channel->close()

Swoole Coroutine Channel Close

Declaration

<?php
Swoole\Coroutine\Channel->close(): bool

Parameters

None

Return

A bool will be returned, true for a successful close.

Description

Close the channel and resume other Coroutines.

Example

<?php
Co\run(function() {

    $data = 'Hello World!';

    $chan = new chan(1);
    $chan->push($data);
    $pop = $chan->pop();

    var_dump($pop);

    $chan->close();

});

Notes

By closing a channel it will wake up all the suspended coroutines, any push() calls will return false and so will any pop() calls.

Waking up all the coroutines waiting to read and write to the channel.