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

تلميحات تحسين الأداء:

  1. تدفق الإدخال highWaterMark من الأفضل تعيين نفس القيمة باستخدام معلمة bufferSize، والتي ستتجنب عمليات Buffer.concat().
  2. يجب أن تقوم concurrency بتعيين قيمة أصغر من maxBuffers، وهو أمر مفيد لتقليل الاحتمال عندما ينتظر معالج صادر بيانات الدفق. في هذه الحالة، يتم حظر المعالجات الصادرة. يجب ألا تكون قائمة الانتظار الصادرة فارغة.

المنشئون

BufferScheduler(ReadableStream, number, number, OutgoingHandler, number, BufferEncoding)

إنشاء مثيل 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>