Descripcion general

La seccion de arquitectura describe el diseno interno de los componentes clave de TrueAsync a nivel de codigo C: estructuras de datos, algoritmos, integracion con Zend Engine e interaccion entre el nucleo de PHP y la extension asincrona.

Estos materiales estan destinados a desarrolladores que desean comprender como funciona TrueAsync “bajo el capo” o planean crear sus propias extensiones.

TrueAsync ABI

El corazon del ABI asincrono: punteros a funciones, sistema de registro de extensiones, estado global (zend_async_globals_t), macros ZEND_ASYNC_* y versionado del API.

Corrutinas, Planificador y Reactor

Diseno interno del planificador de corrutinas y el reactor de eventos: colas (buffers circulares), cambio de contexto mediante fiber, microtareas, bucle de eventos libuv, pool de contextos fiber y apagado ordenado.

Eventos y el Modelo de Eventos

zend_async_event_t – la estructura de datos base de la cual heredan todas las primitivas asincronas. Sistema de callbacks, conteo de referencias, referencia de evento, flags, jerarquia de tipos de evento.

Waker – Mecanismo de Espera y Activacion

El Waker es el enlace entre una corrutina y los eventos. Estados, resume_when, callbacks de corrutinas, entrega de errores, estructura zend_coroutine_t y switch handlers.

Recoleccion de Basura en Contexto Asincrono

Como funciona el GC de PHP con corrutinas, scope y contextos: handlers get_gc, recorrido de la pila fiber, corrutinas zombie, contexto jerarquico y proteccion contra referencias circulares.

Componentes

Async\Pool

Pool universal de recursos. Temas cubiertos:

PDO Pool

Capa especifica de PDO sobre Async\Pool. Temas cubiertos: