ComponentiChannel::capacity

Channel::capacity

(PHP 8.6+, True Async 1.0)

php
public Channel::capacity(): int

Restituisce la capacita' del canale impostata al momento della creazione tramite il costruttore.

  • 0 — canale rendezvous (non bufferizzato).
  • Numero positivo — dimensione massima del buffer.

Il valore non cambia durante la vita del canale.

Valori di ritorno

La capacita' del buffer del canale (int).

Esempi

Esempio #1 Verifica della capacita'

php
<?php

use Async\Channel;

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

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

Esempio #2 Logica adattiva basata sul tipo di canale

php
<?php

use Async\Channel;

function processChannel(Channel $ch): void {
    if ($ch->capacity() === 0) {
        echo "Canale rendezvous: ogni invio attende un ricevitore\n";
    } else {
        echo "Canale bufferizzato: capacita' {$ch->capacity()}\n";
        echo "Liberi: " . ($ch->capacity() - $ch->count()) . " slot\n";
    }
}

Vedi anche