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.