Channel::capacity
(PHP 8.6+, True Async 1.0)
public Channel::capacity(): int
Повертає ємність каналу, встановлену під час створення через конструктор.
0— канал рандеву (без буфера).- Додатне число — максимальний розмір буфера.
Значення не змінюється протягом усього часу існування каналу.
Значення, що повертаються
Ємність буфера каналу (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";
}
}
Дивіться також
- Channel::__construct — Створити канал
- Channel::count — Кількість значень у буфері
- Channel::isFull — Перевірити, чи буфер заповнений