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