Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

بنية الإضافات

تم بناء نظام إضافات PRX على بيئة تشغيل WASM توفّر بيئة تنفيذ آمنة وقابلة للنقل لشيفرات الطرف الثالث. تصف هذه الصفحة البنية التقنية.

بيئة التشغيل

يستخدم PRX بيئة Wasmtime لتنفيذ إضافات WASM. تعمل كل نسخة إضافة في WASM store خاص بها مع ذاكرة خطية معزولة.

┌──────────────────────────────┐
│         PRX Host             │
│                              │
│  ┌────────────────────────┐  │
│  │    WASM Runtime         │  │
│  │  ┌──────┐  ┌──────┐   │  │
│  │  │Plugin│  │Plugin│   │  │
│  │  │  A   │  │  B   │   │  │
│  │  └──┬───┘  └──┬───┘   │  │
│  │     │         │        │  │
│  │  Host Functions API    │  │
│  └────────────────────────┘  │
└──────────────────────────────┘

حدود المضيف-الضيف

تتواصل الإضافات مع المضيف عبر مجموعة معرّفة من وظائف المضيف. وتفرض هذه الحدود:

  • سلامة الأنواع -- يتم التحقق من جميع معاملات الدوال
  • حدود الموارد -- يتم تحديد سقف لاستخدام الذاكرة وCPU
  • فحوصات الصلاحيات -- كل استدعاء لوظيفة مضيف يتم تفويضه مقابل manifest صلاحيات الإضافة

نموذج الذاكرة

لكل إضافة مساحة ذاكرة خطية خاصة بها (الافتراضي 64 MB). يتم تبادل البيانات بين المضيف والضيف عبر مخازن ذاكرة مشتركة مع تسلسل صريح.

دورة حياة الإضافة

  1. Load -- تحميل ملف WASM والتحقق منه
  2. Initialize -- استدعاء دالة init() في الإضافة مع الإعدادات
  3. Ready -- تسجّل الإضافة قدراتها (الأدوات، القنوات، إلخ)
  4. Execute -- يستدعي المضيف وظائف الإضافة عند الحاجة
  5. Shutdown -- استدعاء دالة shutdown() للإغلاق والتنظيف

صفحات ذات صلة

Released under the Apache-2.0 License.