عن المشروع

StormByte-Buffer هي مكتبة C++26 توفر عناصر أولية للتخزين المؤقت والبث لمجموعة StormByte بلغة C++. تعتمد على StormByte-String 1.0.0 أو أحدث (الذي يتضمن StormByte Base 2.0.0 وStormByte-System 2.0.0) واختياريًا StormByte-Logger 2.0.0 لأنابيب Pipeline. توجد ملفات الرأس العامة تحت StormByte/buffer/. وحدات المجموعة الأخرى مثل Base وConfig وCrypto وDatabase وLogger وMultimedia وNetwork وString وSystem هي مستودعات منفصلة وغير منفذة هنا. تغطي الوحدة عدة كتل بناء. FIFO هو مخزن بايتات ينمو عند الطلب وغير آمن للخيوط؛ يحتفظ Read وPeek بالبيانات بينما يستهلكها Extract. SharedFIFO هو FIFO آمن للخيوط حيث يحجب Read وExtract حتى وصول البيانات أو استدعاء Close/SetError. Ring هو حلقة متزامنة متعددة إلى متعددة. Producer وConsumer هما مقبضان للكتابة فقط والقراءة فقط فوق Ring مشترك. Hopper هو طابور SPSC مُنمّط بسعة محدودة اختيارية، وSink يربط مفاتيح صحيحة بدلاء Hopper. Pipeline يحوّل مخازن البث عبر أوراق Pipe المعرفة من المستخدم، مع أوضاع تنفيذ Sync وAsync وParallel. Bridge ينفذ نقل بايتات يدويًا بين أطراف ReadOnly/WriteOnly أو أوراق IO، وPumper يملك Bridge ويشغل عاملًا حتى نهاية الملف أو الإلغاء. يوفر IO قواعد BufferedReader وBufferedWriter بالإضافة إلى أوراق الملفات BufferedFileReader وBufferedFileWriter مع Parameters متداخلة مثل ReadAhead وMaxMemory. يُعرض القياس عن بعد كمقابض ReadTelemetry وWriteTelemetry مشتركة على مكاتب IO وBridges. يقيس MeanRate عمليات المستخدم المطلوبة، بما في ذلك إصابات الذاكرة المؤقتة، وليس معيارًا للأقراص. تشمل طرق دورة الحياة Close وSetError وEoF وIsReadable وIsWritable. على Windows، تحتفظ ورقة IO بمقبض الأصل حتى تدميرها، لذا يبقى المسار مقفلًا حتى يحرره Bridge أو Pumper. يتطلب التثبيت مترجم C++26 وCMake 3.28 أو أحدث. ينتج عن استنساخ متكرر يتبعه تهيئة وبناء cmake المكتبة؛ يتحكم BUILD_SHARED_LIBS في الإخراج المشترك مقابل الساكن. المشروع مرخص مزدوجًا بموجب LGPL v3 أو أحدث، أو ترخيص تجاري من صاحب حقوق النشر. تشمل الوثائق هذا README ومرجع فئات Doxygen، وتتبع المساهمات Conventional Commits مع Doxygen على ملفات الرأس العامة.