BufferScheduler class
تقبل هذه الفئة دفق Node.js قابل للقراءة كإدخل، وتحتفظ بقراءة البيانات من الدفق إلى بنية المخزن المؤقت الداخلي، حتى تصل إلى maxBuffers. سيحاول كل مخزن مؤقت متوفر تشغيل outgoingHandler.
تتضمن بنية المخزن المؤقت الداخلي صفيف مخزن مؤقت وارد، وصفيف مخزن مؤقت صادر. يتضمن صفيف المخزن المؤقت الوارد المخازن المؤقتة "الفارغة" التي يمكن تعبئتها بالبيانات الواردة الجديدة. يتضمن الصفيف الصادر المخازن المؤقتة التي تمت تعبئتها ليتم معالجتها بواسطة outgoingHandler. يتم تعريف كل حجم مخزن مؤقت أعلاه بواسطة حجم المخزن المؤقت للمعلمة.
NUM_OF_ALL_BUFFERS = BUFFERS_IN_INCOMING + BUFFERS_IN_OUTGOING + BUFFERS_UNDER_HANDLING
NUM_OF_ALL_BUFFERS أقل من أو يساوي maxBuffers
تلميحات تحسين الأداء:
- تدفق الإدخال highWaterMark من الأفضل تعيين نفس القيمة باستخدام معلمة bufferSize، والتي ستتجنب عمليات Buffer.concat().
- يجب أن تقوم concurrency بتعيين قيمة أصغر من maxBuffers، وهو أمر مفيد لتقليل الاحتمال عندما ينتظر معالج صادر بيانات الدفق. في هذه الحالة، يتم حظر المعالجات الصادرة. يجب ألا تكون قائمة الانتظار الصادرة فارغة.
المنشئون
| Buffer |
إنشاء مثيل BufferScheduler. |
الأساليب
| do() | بدء تشغيل المجدول، سيتم إرجاع الخطأ عند دفق أي من أخطاء إرجاع outgoingHandlers. |
تفاصيل المنشئ
BufferScheduler(ReadableStream, number, number, OutgoingHandler, number, BufferEncoding)
إنشاء مثيل BufferScheduler.
new BufferScheduler(readable: ReadableStream, bufferSize: number, maxBuffers: number, outgoingHandler: OutgoingHandler, concurrency: number, encoding?: BufferEncoding)
المعلمات
- readable
-
ReadableStream
دفق Node.js قابل للقراءة
- bufferSize
-
number
حجم المخزن المؤقت لكل مخزن مؤقت تم الاحتفاظ به
- maxBuffers
-
number
عدد المخازن المؤقتة التي يمكن تخصيصها
- outgoingHandler
- OutgoingHandler
دالة غير متزامنة مجدولة ليتم تشغيلها عندما يكون المخزن المؤقت ممتلئا بالكامل ببيانات الدفق
- concurrency
-
number
تزامن تنفيذ outgoingHandlers (>0)
- encoding
-
BufferEncoding
[اختياري] ترميز الدفق المقروء عندما يكون دفق سلسلة
تفاصيل الأسلوب
do()
بدء تشغيل المجدول، سيتم إرجاع الخطأ عند دفق أي من أخطاء إرجاع outgoingHandlers.
function do(): Promise<void>
المرتجعات
Promise<void>