feat(renaser): Fase 19 — voz del userspace hacia la red (pregon)
Tres capacidades nuevas en wasm/env (12-14): - sys_net_mac(salida) -> i32: escribe los seis bytes del MAC del dispositivo. 0 OK, -1 si no hay red. - sys_net_enviar(ptr, len) -> i32: envia un frame Ethernet crudo. Valida rango contra la memoria lineal del modulo. - sys_net_recibir(salida, capacidad) -> i32: drena UN paquete por llamada hacia el buffer del modulo. Devuelve los bytes copiados, 0 si nada pendiente, codigos negativos diagnosticos. Añadida red::recibir_en(buf) -> usize como su contraparte del driver: gemelo cooperativo de drenar_rx que aterriza en un buffer del usuario. App nueva pregon (apps/pregon/, 4.2 KiB WASM): lienzo 480x160, tipografia 8x8 (font8x8) escalada x2. Al init pide su MAC y anuncia su presencia con un broadcast Ethernet — destino FF:FF:FF:FF:FF:FF, EtherType experimental 0x88B5, payload ASCII 'renaser :: hola desde mi red'. En cada tick drena un paquete con sys_net_recibir y muestra el titulo, el MAC propio, las cuentas TX/RX, y los datos del ultimo frame entrante. GENESIS 8 -> 9 apps (pregon en posicion 2 detras de bitacora); CELDA_TASKBAR_ANCHO 130 -> 116 px para que las nueve pestañas + lanzador + reloj caben holgadas en 1280 px. tarea_red del kernel ya no drena RX (la cola pertenece al userspace), conserva solo el envio del ARP de prueba al arrancar. Verificada en QEMU con -object filter-dump. El pcap captura tres frames en orden: (1) broadcast 88B5 de pregon con su payload, (2) ARP request del kernel, (3) ARP reply del gateway 52:55:0a:00:02:02. La consola anuncia 'manifiesto :: 9 apps nacidas del grafo'. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -584,4 +584,28 @@ sola.
|
||||
|
||||
---
|
||||
|
||||
## La voz pasa a los inquilinos — el pregón
|
||||
|
||||
Ayer la casa abrió la puerta lateral y saludó. Hoy ese saludo deja de ser
|
||||
suyo y empieza a ser de quien la habita. Antes, sólo el conserje —el
|
||||
kernel— podía asomarse a la red. Hoy le entrega tres llaves a los
|
||||
inquilinos: una para preguntar «¿cuál es mi dirección?», otra para
|
||||
gritar algo, otra para recoger lo que entra. Llaves pequeñas, una a la
|
||||
vez, pero suficientes.
|
||||
|
||||
Y para estrenarlas nace un huésped nuevo, *pregón*. Su único oficio es
|
||||
ese: pregonar. Apenas despierta, mira su credencial, se asoma a la
|
||||
puerta y suelta su grito —«renaser :: hola desde mi red»— para que
|
||||
quien quiera lo escuche. Luego se queda en su ventana, esperando lo
|
||||
que llegue, y en cuanto algo entra lo apunta en su pizarra: cuántas
|
||||
letras, de quién, qué tipo de cosa. Una bitácora viva, en tiempo real,
|
||||
del tráfico que entra y sale.
|
||||
|
||||
Si uno graba lo que pasa por la red mientras la casa despierta,
|
||||
encuentra exactamente tres notas: el pregón del huésped, la pregunta
|
||||
del conserje, la respuesta del vecino. Tres frases bastan para mostrar
|
||||
que la voz ya no es de uno solo. Ahora la casa habla en coro.
|
||||
|
||||
---
|
||||
|
||||
*El diario continúa. La próxima página la escribirá la próxima jornada.*
|
||||
|
||||
Reference in New Issue
Block a user