libschc هو تطبيق لغة C لضغط رأس السياق الثابت، والذي تمت صياغته بواسطة IETF. إنها تقنية ضغط رأسية، تُستخدم في الشبكات واسعة النطاق ذات الطاقة المنخفضة من أجل تمكين وحدات التحكم الدقيقة الصغيرة ذات الطاقة المنخفضة من الحصول على اتصال IPv6 من طرف إلى طرف. يحتوي هذا المستودع على آلية الضغط والتجزئة. لمزيد من المعلومات المتعلقة بـ SCHC، راجع https://datatracker.ietf.org/doc/draft-ietf-lpwan-ipv6-static-context-hc/.
راجع المستندات وورقة التقييم الخاصة بنا للحصول على مزيد من المعلومات حول التنفيذ والتكوين.
تم تطوير libschc جزئيًا بدعم من VLAIO وFWO وimec. وهو أيضًا جزء من حزمة البرامج الوسيطة لإنترنت الأشياء، التي يتم تطويرها لمشروع Horizon 2020 PortForward التابع للاتحاد الأوروبي، حيث، من بين أمور أخرى، تم دمج LwM2M مع هذه المكتبة من أجل توفير اتصال سحابي قائم على المعايير المفتوحة.
نظرًا لأن هذا التنفيذ قيد التنفيذ، فهناك بعض القيود التي يجب أن تضعها في الاعتبار.
تم تصميم المكتبة بحيث يمكن استخدامها فوق جهاز مقيد، وكذلك على جهاز أكثر قوة من جانب الخادم. ونتيجة لذلك، يتم تجنب تخصيص الذاكرة وحسابات الذاكرة المكثفة. يتم استخدام حساب النقطة الثابتة للمعالجات الدقيقة ذات 8 بت، إلا أن بعض التحسينات ممكنة. وبالتالي، يتم إنشاء القواعد من مصفوفات 8 بت، وهي متاحة على جميع الأجهزة. تم حذف تخصيص الذاكرة الديناميكية حيث قد يحدث تجزئة للذاكرة وسيتأثر الأداء، نظرًا لأن العديد من وحدات MCU غير مجهزة بوحدات إدارة الذاكرة (MMU). ومع ذلك، بالنسبة لبوابة الشبكة، يجب تنفيذ تخصيص الذاكرة الديناميكية لعدة وظائف لتجنب التخصيص المسبق للذاكرة الكبيرة.
يعتمد التنفيذ الحالي على RFC 8724 (https://datatracker.ietf.org/doc/html/rfc8724/)، ولكنه يفتقد بعض الميزات. تم إدراج معظمها ضمن issues
الموجودة في هذا المستودع.
يرجى الأخذ في الاعتبار أن المكتبة تعمل، لكنها لا تزال تجريبية!
يوجد في المجلد أمثلة على كل من أمثلة الضغط والتجزئة الأساسية المتوفرة. يستخدم مثال التجزئة مكتبة المؤقت ويجب أن يتكيف مع نظامك الأساسي (راجع التجزئة ومجلد الأمثلة).
لدى libschc تراخيص مزدوجة. ترخيص GNU العام، الإصدار 3 ("الترخيص") هو ترخيص مفتوح المصدر: لا يجوز لك استخدام هذه الملفات إلا وفقًا للترخيص. يمكنك الحصول على نسخة من الترخيص على https://www.gnu.org/licenses/gpl-3.0.nl.html
راجع الترخيص لمعرفة الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.
للحصول على تراخيص غير مفتوحة المصدر، يرجى زيارة https://imec.flintbox.com/#technologies/36dfa28f-bf48-4a34-8c29-4439fc41d563
© حقوق الطبع والنشر 2018-2023، بارت مونز [email protected]، imec وجامعة غنت