الخلاصة

  • تفوض QUIC عدداً تراكمياً من الفتحات لكل نوع من أنواع التدفقات.
  • إغلاق التدفق لا يعيد الفتحة ولا ينشئ خانة قابلة لإعادة الاستخدام.
  • يجب فصل تفويض النقل عن تزامن التطبيق والعمال المتاحين والموارد اللاحقة والقدرة التشغيلية.

يبدأ الالتباس عندما تعرض لوحة التشغيل initial_max_streams_bidi أو initial_max_streams_uni أو MAX_STREAMS بوصفها تزامناً حالياً. ثم تطرح التدفقات المغلقة وتسمّي الباقي سعة متاحة. هذا الحساب يغيّر معنى البروتوكول. القيمة تحدد عدد التدفقات من نوع معين التي يستطيع الطرف المقابل فتحها تراكمياً طوال عمر الاتصال، ولا تخبرنا بعدد التدفقات المفتوحة الآن.

تشفّر معرفات التدفق المبادر والاتجاه. وللتدفقات ثنائية الاتجاه وأحادية الاتجاه مساحات أرقام وحدود مستقلة. لا تنتقل سلطة نوع إلى نوع آخر، ولا تنتقل سلطة مبادر إلى مبادر آخر. لذلك يجب أن يسجل الدليل النوع والمبادر قبل تفسير الرقم.

تعني قيمة المعامل الابتدائي المفقودة أو الصفرية أن الطرف المقابل لا يستطيع فتح ذلك النوع حتى يصل MAX_STREAMS مناسب. يمكن للقيم اللاحقة زيادة الحد التراكمي، لكنها لا تستطيع خفضه. القيمة غير المتزايدة لا أثر لها ويتم تجاهلها. المقارنة الصحيحة هي بين التفويض التراكمي وأعلى رقم ترتيب فُتح، لا بين الحد وعدد التدفقات الحية.

ينبغي تسجيل التفويض التراكمي، وأعلى رقم ترتيب، وحالات الفتح والإغلاق، والتزامن المطلوب من التطبيق، والعمل المنتظر، والعمال المتاحين، والذاكرة، ووحدة المعالجة، والموارد اللاحقة، والإنتاجية القابلة للتحقيق، والتأخير، والإتمام، والنتيجة التشغيلية أو التجارية في حقول مستقلة. يغيّر الإغلاق الحالة الحية لكنه لا ينقص التفويض. ولا يمكن إعادة تدوير رقم تدفق مغلق.

يؤدي تجاوز العدد المصرح به إلى STREAM_LIMIT_ERROR. والقيم التي تتجاوز 2^60 غير صالحة أيضاً لأنها لا تنسجم مع ترميز معرف التدفق. هذه قواعد صحة وتعريض لحالة الطرف النهائي، وليست ضماناً لقدرة قابلة للنشر أو إنتاجية أو قدرة تشغيلية. قد يعيق الحد الضيق التطبيقات التي تتوقع تدفقات كثيرة، بينما يزيد الحد الواسع الحالة التي يستطيع الطرف المقابل فرضها.

تثبت STREAMS_BLOCKED شيئاً محدوداً: أراد المرسل إنشاء تدفق جديداً، لكن حد النقل الحالي منعه. لا تمنح الإطار سلطة، ولا تثبت سبب طلب التطبيق أو وجود عمل أو عمال متاحين أو موارد لاحقة أو إنتاجية أو نجاحاً أو قدرة تشغيلية. إنها دليل على طلب محجوب عند حدود النقل فقط.

يجب إبقاء الفصل الخماسي واضحاً. يتناول TR-046 إذن التحكم في تدفق البايتات، ويتناول TR-057 محاسبة الحجم النهائي، ويتناول TR-054 إيقاف اتجاه واحد بواسطة STOP_SENDING، ويتناول TR-053 إغلاق الاتصال، ويتناول TR-040 توجيه معرفات الاتصال. لا يحل أي منها محل سجل الفتحات التراكمي.