onBufferDrain

Açıklama:

callback Worker::$onBufferDrain

Her bağlantının ayrı bir uygulama katmanı gönderim tamponu vardır, tamponun boyutu TcpConnection::$maxSendBufferSize ile belirlenir, varsayılan değer 1MB'dir ve boyutu manuel olarak ayarlanabilir; değişiklik tüm bağlantılara etki eder.

Bu geri çağırma, uygulama katmanı gönderim tamponundaki verilerin tamamen gönderildiğinde tetiklenir. Genellikle onBufferFull ile birlikte kullanılır; örneğin onBufferFull sırasında karşı tarafa veri göndermeyi durdurmak ve onBufferDrain ile veri yazımına devam etmek için.

Geri Çağırma Fonksiyonunun Parametreleri

$connection

Bağlantı nesnesi, yani TcpConnection örneği, istemci bağlantısını yönetmek için kullanılır, örneğin veri gönderme, bağlantıyı kapatma vb.

Örnek

use Workerman\Worker;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';

$worker = new Worker('websocket://0.0.0.0:8484');
$worker->onBufferFull = function(TcpConnection $connection)
{
    echo "tamponDolu ve tekrar gönderme\n";
};
$worker->onBufferDrain = function(TcpConnection $connection)
{
    echo "tampon boşaldı ve gönderime devam et\n";
};
// Çalışanı çalıştır
Worker::runAll();

Not: Anonim fonksiyonlar dışında, geri çağırmalar için buraya bakarak başka yazım stilleri de kullanılabilir.

Başvuru

onBufferFull Bağlantının uygulama katmanı gönderim tamponu dolduğunda tetiklenir