onBufferDrain
विवरण:
callback Worker::$onBufferDrain
हर कनेक्शन के पास एक अलग एप्लिकेशन लेयर भेजने वाला बफर होता है, बफर का आकार TcpConnection::$maxSendBufferSize द्वारा निर्धारित होता है, डिफ़ॉल्ट मान 1MB है, जिसे मैन्युअल रूप से सेट करके बदला जा सकता है, परिवर्तन बाद में सभी कनेक्शनों पर प्रभावी होगा।
यह कॉलबैक तब ट्रिगर होता है जब एप्लिकेशन लेयर भेजने वाला बफर डेटा पूरी तरह से भेज दिया जाता है। सामान्यतः इसे onBufferFull के साथ मिलाकर इस्तेमाल किया जाता है, उदाहरण के लिए onBufferFull के दौरान निकटवर्ती को डेटा भेजना रुकता है, और onBufferDrain पर डेटा लिखना फिर से शुरू होता है।
कॉलबैक फ़ंक्शन के पैरामीटर
$connection
कनेक्शन ऑब्जेक्ट, अर्थात् TcpConnection उदाहरण, जिसका उपयोग क्लाइंट कनेक्शन को संभालने के लिए किया जाता है, जैसे कि डेटा भेजना, कनेक्शन बंद करना आदि।
उदाहरण
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 "bufferFull and do not send again\n";
};
$worker->onBufferDrain = function(TcpConnection $connection)
{
echo "buffer drain and continue send\n";
};
// वर्कर चलाएँ
Worker::runAll();
नोट: एनोनिमस फ़ंक्शन को कॉलबैक के रूप में उपयोग करने के अलावा, आप यहाँ देखें अन्य कॉलबैक लेखन विधियों का उपयोग कर सकते हैं।
संदर्भ
onBufferFull तब ट्रिगर होता है जब कनेक्शन की एप्लिकेशन लेयर भेजने वाला बफर भर जाता है।