منصوبے کے بارے میں

Seastar C++ میں غیر مسدود، غیر متزامن سرور سائیڈ کوڈ لکھنے کے لیے ایک ایونٹ سے چلنے والا فریم ورک ہے۔ یہ futures اور promises پر مبنی ہے، جس سے ڈویلپرز ایک بار ماڈل سمجھ لینے کے بعد غیر متزامن منطق کو نسبتاً آسان طریقے سے ظاہر کر سکتے ہیں۔ تعمیر: انحصارات install-dependencies.sh اسکرپٹ کے ذریعے نصب کیے جا سکتے ہیں، پھر configure.py (جو CMake کے ارد گرد ایک ریپر ہے) کے ساتھ ترتیب دیں اور ninja کے ساتھ مرتب کریں۔ گمشدہ انحصارات --cook آپشن کا استعمال کرکے مقامی طور پر حاصل کیے جا سکتے ہیں۔ بلڈ موڈز CMake بلڈ اقسام سے مطابقت رکھتے ہیں: debug (Debug, ASAN/UBSAN, نظام الاٹر، تمام جانچیں)، release (RelWithDebInfo, -O3, Seastar الاٹر، asserts)، dev (حسب ضرورت، -O1، بغیر ڈیبگ معلومات)، اور sanitize (حسب ضرورت، -Os، ASAN/UBSAN)۔ README نوٹ کرتا ہے کہ Seastar الاٹرز اور اصلاحات کے لیے حساس ہے، جس میں release dev، sanitize اور debug کے مقابلے میں کافی تیز ہے۔ استعمال: Seastar کو براہ راست اس کی بلڈ ڈائریکٹری سے یا انسٹالیشن کے بعد pkg-config یا CMake کے Seastar پیکیج کے ذریعے استعمال کیا جا سکتا ہے۔ یہ C++23 اور C++26 دونوں کو سپورٹ کرتا ہے، کمپائلر کے ذریعہ تعاون یافتہ تازہ ترین معیار کو ڈیفالٹ کرتا ہے، جسے --c++-standard کے ساتھ منتخب کیا جا سکتا ہے۔ ڈاکر پر مبنی بلڈ ہدایات موجود ہیں، اور DPDK کا استعمال اختیاری ہے۔ خصوصیات: Seastar بہتر کارکردگی کے لیے اپنا صارف کی جگہ TCP/IP اسٹیک شامل کرتا ہے۔ تجویز کردہ ہارڈویئر میں ملٹی کور/NUMA CPUs، تیز NICs (10G یا 40G تجویز کردہ، فی CPU بہت سے ہارڈویئر قطاروں کے ساتھ)، اعلی IOPS SSDs، اور لوڈ جنریشن کے لیے متعدد کلائنٹ مشینیں شامل ہیں۔ وسائل: ایک منی ٹیوٹوریل اور ایک جامع ٹیوٹوریل فراہم کیے گئے ہیں، ساتھ ہی ویب دستاویزات، ایک ڈویلپمنٹ میلنگ لسٹ، GitHub ڈسکشنز، اور ایک ایشو ٹریکر بھی۔ Seastar استعمال کرنے والے پروجیکٹس میں cpv-cql-driver، cpv-framework، Redpanda، Scylla، smf، اور Ceph Crimson شامل ہیں۔