Saltar al contenido

El recorrido completo de un invoke

Los once pasos reales de una llamada, de la función de JavaScript a la de Rust y de vuelta: quién decide, quién copia, y dónde puede fallar cada cosa.

El recorrido

Once pasos, dos serializaciones y dos comprobaciones de seguridad. Y con eso se explica cualquier fallo del puente.

Quién decide qué

Cinco de las seis decisiones son tuyas, tomadas al escribir el comando y las capabilities — que es exactamente lo que las fases III a V han estado enseñando a decidir.

Dónde se va el tiempo

Y los tres sitios, con lo del nivel 75.3:

  • Pasos 2 y 10: las serializaciones. Proporcionales al tamaño de lo que cruza. Nivel 15.2.
  • Paso 9: tu función. Que es donde debería irse el tiempo si el resto está bien.
  • Y el coste fijo de los pasos 1 a 8, pequeño por llamada y significativo multiplicado. Nivel 42.1.

Si tu comando tarda y el paso 9 no, el problema es el tamaño o el número de llamadas — que es exactamente el diagnóstico del nivel 56.4.

Dónde falla cada cosa

Y el mapa que hace útil este nivel: cada error del puente tiene su paso.

el error dice el paso dónde mirar
no serializable 1, 2 o 10 tus tipos
permiso denegado 6 tus capabilities. Fase V
fuera de ámbito 7 tu ámbito. Nivel 28
tipo incorrecto 8 la firma de tu comando
tu error de dominio 9 tu lógica
la promesa nunca resuelve 9 tu función no termina. Nivel 55.5

Y la última fila es la más útil: una promesa que no resuelve significa que la función de Rust no ha terminado — no que el mensaje se perdiera.