Channel::capacity
(PHP 8.6+, True Async 1.0)
public Channel::capacity(): int
Devuelve la capacidad del canal establecida en el momento de la creación a través del constructor.
0— canal rendezvous (sin búfer).- Número positivo — tamaño máximo del búfer.
El valor no cambia durante la vida útil del canal.
Valores de retorno
La capacidad del búfer del canal (int).
Ejemplos
Ejemplo #1 Verificar la capacidad
<?php
use Async\Channel;
$rendezvous = new Channel();
echo $rendezvous->capacity(); // 0
$buffered = new Channel(100);
echo $buffered->capacity(); // 100
Ejemplo #2 Lógica adaptativa según el tipo de canal
<?php
use Async\Channel;
function processChannel(Channel $ch): void {
if ($ch->capacity() === 0) {
echo "Canal rendezvous: cada envío espera un receptor\n";
} else {
echo "Canal con búfer: capacidad {$ch->capacity()}\n";
echo "Libres: " . ($ch->capacity() - $ch->count()) . " posiciones\n";
}
}
Ver también
- Channel::__construct — Crear un canal
- Channel::count — Número de valores en el búfer
- Channel::isFull — Verificar si el búfer está lleno