Scroll to navigation

SSL_CTX_SET_READ_AHEAD(3SSL) OpenSSL SSL_CTX_SET_READ_AHEAD(3SSL)

الاسم

SSL_CTX_set_read_ahead, SSL_CTX_get_read_ahead, SSL_set_read_ahead, SSL_get_read_ahead, SSL_CTX_get_default_read_ahead - إدارة ما إذا كان سيتم قراءة أكبر عدد ممكن من بايتات الإدخال

موجز

 #include <openssl/ssl.h>
 void SSL_set_read_ahead(SSL *s, int yes);
 int SSL_get_read_ahead(const SSL *s);
 SSL_CTX_set_read_ahead(SSL_CTX *ctx, int yes);
 long SSL_CTX_get_read_ahead(SSL_CTX *ctx);
 long SSL_CTX_get_default_read_ahead(SSL_CTX *ctx);

الوصف

تحدد الدالتان SSL_CTX_set_read_ahead() و SSL_set_read_ahead() ما إذا كان ينبغي قراءة أكبر عدد ممكن من بايتات الإدخال (للقراءات غير المحظورة) أم لا. على سبيل المثال، إذا كانت OpenSSL تتطلب حاليًا x بايت، ولكن y بايت متاحة من BIO الأساسي (حيث y > x)، فستقرأ OpenSSL جميع بايتات y في مخزنها المؤقت (بشرط أن يكون المخزن كبيرًا بما يكفي) إذا كانت القراءة المسبقة قيد التشغيل، أو بايتات x بخلاف ذلك. يؤدي تعيين المعامل yes إلى 0 إلى إيقاف تشغيل القراءة المسبقة، بينما تؤدي القيم الأخرى إلى تشغيلها. الدالة SSL_CTX_set_default_read_ahead() مطابقة لـ SSL_CTX_set_read_ahead().

تشير الدالتان SSL_CTX_get_read_ahead() و SSL_get_read_ahead() إلى ما إذا كانت القراءة المسبقة قد ضُبطت أم لا. الدالة SSL_CTX_get_default_read_ahead() مطابقة لـ SSL_CTX_get_read_ahead().

لا يمكن استخدام هذه الدوال مع كائنات QUIC SSL. ليس للدالة SSL_set_read_ahead() أي تأثير إذا استُدعيت على كائن QUIC SSL.

ملاحظات

ليس لهذه الدوال أي تأثير عند استخدامها مع DTLS. قيم الإرجاع للدالتين SSL_CTX_get_read_head() و SSL_get_read_ahead() غير محددة لـ DTLS. يمكن أن يؤثر ضبط read_ahead على سلوك الدالة SSL_pending() (انظر SSL_pending(3)).

نظرًا لأن SSL_read() يمكنها إرجاع SSL_ERROR_WANT_READ لسجلات البيانات غير التطبيقية، ولا تستطيع SSL_has_pending() التمييز بين البيانات المعالجة وغير المعالجة، يُوصى بعدم إيقاف تشغيل SSL_MODE_AUTO_RETRY باستخدام SSL_CTX_clear_mode() إذا كانت القراءة المسبقة قيد التشغيل. سيمنع ذلك الحصول على SSL_ERROR_WANT_READ عندما لا يزال هناك سجل كامل متاح لم يُعالج.

إذا أراد التطبيق الاستمرار في استخدام النقل الأساسي (مثل اتصال TCP) بعد إنهاء اتصال SSL باستخدام SSL_shutdown()، فيجب إيقاف تشغيل القراءة المسبقة. وإلا، فقد يقرأ هيكل SSL بيانات لا ينبغي له قراءتها.

القيم المُرجعة

تُرجع الدالتان SSL_get_read_ahead() و SSL_CTX_get_read_ahead() 0 إذا كانت القراءة المسبقة متوقفة، وقيمة غير صفرية بخلاف ذلك.

انظر أيضًا

ssl(7), SSL_pending(3)

حقوق النسخ

حقوق النشر 2015-2023 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

7 أبريل 2026 3.5.6