Channel::capacity
(PHP 8.6+, True Async 1.0)
public Channel::capacity(): int
Gibt die bei der Erstellung über den Konstruktor festgelegte Kapazität des Channels zurück.
0— Rendezvous-Channel (ungepuffert).- Positive Zahl — maximale Puffergröße.
Der Wert ändert sich während der Lebensdauer des Channels nicht.
Rückgabewerte
Die Pufferkapazität des Channels (int).
Beispiele
Beispiel #1 Kapazität abfragen
<?php
use Async\Channel;
$rendezvous = new Channel();
echo $rendezvous->capacity(); // 0
$buffered = new Channel(100);
echo $buffered->capacity(); // 100
Beispiel #2 Adaptive Logik basierend auf dem Channel-Typ
<?php
use Async\Channel;
function processChannel(Channel $ch): void {
if ($ch->capacity() === 0) {
echo "Rendezvous-Channel: Jedes Senden wartet auf einen Empfänger\n";
} else {
echo "Gepufferter Channel: Kapazität {$ch->capacity()}\n";
echo "Frei: " . ($ch->capacity() - $ch->count()) . " Plätze\n";
}
}
Siehe auch
- Channel::__construct — Einen Channel erstellen
- Channel::count — Anzahl der Werte im Puffer
- Channel::isFull — Prüfen, ob der Puffer voll ist