Sobre el proyecto
StormByte-Buffer es una biblioteca C++26 que suministra primitivas de almacenamiento en búfer y transmisión para la suite C++ de StormByte. Depende de StormByte-String 1.0.0 o más reciente (que incluye StormByte Base 2.0.0 y StormByte-System 2.0.0) y opcionalmente de StormByte-Logger 2.0.0 para tuberías de pipeline. Los encabezados públicos residen en StormByte/buffer/. Otros módulos de la suite, como Base, Config, Crypto, Database, Logger, Multimedia, Network, String y System, son repositorios separados y no se implementan aquí.
El módulo cubre varios bloques de construcción. FIFO es un búfer de bytes que crece bajo demanda y no es seguro para subprocesos; Read y Peek mantienen los datos mientras que Extract los consume. SharedFIFO es un FIFO seguro para subprocesos cuyas operaciones Read y Extract se bloquean hasta que llegan datos o se llama a Close/SetError. Ring es un anillo concurrente de muchos a muchos. Producer y Consumer son manejadores de solo escritura y solo lectura sobre un Ring compartido. Hopper es una cola tipada SPSC con capacidad acotada opcional, y Sink mapea claves enteras a cubos Hopper. Pipeline transforma búferes de flujo a través de hojas Pipe definidas por el usuario, con modos de ejecución Sync, Async y Parallel. Bridge realiza transferencia manual de bytes entre puntas ReadOnly/WriteOnly o hojas IO, y Pumper posee un Bridge y ejecuta un trabajador hasta el final del archivo o cancelación. IO proporciona bases BufferedReader y BufferedWriter, además de hojas de archivo BufferedFileReader y BufferedFileWriter con parámetros anidados como ReadAhead y MaxMemory.
La telemetría se expone como manejadores compartidos ReadTelemetry y WriteTelemetry en oficinas IO y Bridges. MeanRate mide las operaciones de usuario solicitadas, incluidos los aciertos de caché, y no es un punto de referencia de disco. Los métodos de ciclo de vida incluyen Close, SetError, EoF, IsReadable y IsWritable. En Windows, una hoja IO mantiene el manejador de origen hasta que se destruye, por lo que una ruta permanece bloqueada hasta que el Bridge o Pumper la libera.
La instalación requiere un compilador C++26 y CMake 3.28 o más reciente. Una clonación recursiva seguida de configuración y compilación de CMake produce la biblioteca; BUILD_SHARED_LIBS controla la salida compartida versus estática. El proyecto tiene doble licencia bajo LGPL v3 o posterior, o una licencia comercial del titular de los derechos de autor. La documentación incluye este README y una referencia de clases Doxygen, y las contribuciones siguen Conventional Commits con Doxygen en encabezados públicos.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.