Channel::capacity

(PHP 8.6+, True Async 1.0)

public Channel::capacity(): int

Возвращает ёмкость канала, заданную при создании через конструктор.

Значение не меняется в течение жизни канала.

Возвращаемые значения

Ёмкость буфера канала (int).

Примеры

Пример #1 Проверка ёмкости

<?php

use Async\Channel;

$rendezvous = new Channel();
echo $rendezvous->capacity(); // 0

$buffered = new Channel(100);
echo $buffered->capacity(); // 100

Пример #2 Адаптивная логика в зависимости от типа канала

<?php

use Async\Channel;

function processChannel(Channel $ch): void {
    if ($ch->capacity() === 0) {
        echo "Рандеву-канал: каждая отправка ждёт получателя\n";
    } else {
        echo "Буферизованный канал: ёмкость {$ch->capacity()}\n";
        echo "Свободно: " . ($ch->capacity() - $ch->count()) . " слотов\n";
    }
}

См. также