Iris introduce varios conceptos nuevos en el sistema de replicación de Unreal Engine (UE). Esta página es un glosario de los términos más usados para referirse a la organización y la operación del sistema de replicación de Iris.
Glosario
- Administrador de controladores de referencias de red
El administrador de controladores de referencias de red asigna ID internos y almacenamiento de estado para todos los objetos de red.
- Blob de red
El blob en red es la clase base de algo que se puede replicar con un objeto. De momento, no hay nada fuera de Iris que lo use, pero puedes usarlo para enviar la mayoría de tipos de datos o eventos, como datos de depuración o llamadas a procedimiento remoto.
- Caché de referencia de objeto
La caché de referencias de objetos almacena referencias a
UObjectsreplicados y con nombres estáticos. Funciona de forma similar al mapa del paquete del cliente y la caché NetGUID.- Controlador de referencia de red
Un controlador de referencia de red es un identificador único para un objeto tanto en el servidor como en los clientes. Se trata de un concepto similar a un NetGUID (identificador único global de red). Los controladores de red se usan para las referencias de objetos a:
Objetos direccionables estáticamente
Objetos replicados
- Controlador de RPC de red
El controlador de RPC de red procesa la lógica implicada en la creación y gestión de las RPC recibidas. Por ejemplo, el controlador de RPC de red determina si un actor sigue siendo válido para llamar a una RPC.
- Descriptor del estado de replicación
Un descriptor de estado de replicación describe todos los aspectos de un estado de replicación, entre ellos:
La disposición de la memoria para representaciones internas y externas.
Cómo serializar cada miembro del estado.
Operaciones necesarias.
- Estado de replicación
Un estado de replicación es una estructura que contiene datos que deberían replicarse o transmitirse por la red.
- Estado de replicación con tipo
Un estado de replicación con tipo es un estado de replicación basado en una estructura con descriptores de acceso para todos los miembros y miembros internos para almacenar la ID del objeto de red propietario junto con un campo de bits que rastrea los miembros dañados.
- Estado de replicación de propiedad
Un estado de replicación de propiedad es un estado de replicación dinámico que se usa para interactuar con el sistema de reflejo actual.
- Flujos de datos
Una transmisión de datos es el equivalente en Iris de un canal de datos en el sistema de replicación genérico. Las transmisiones de datos se encargan de serializar los datos. También puedes usar una transmisión de datos para implementar garantías de entrega de datos específicas para distintos tipos de datos.
- Fragmento de replicación
Un fragmento de replicación es un objeto propietario de un estado de replicación. Para transferir datos entre el sistema de replicación y el código del juego, los estados de replicación deben vincularse a un objeto propietario. Los fragmentos de replicación sirven como objeto propietario para los estados de replicación.
- Fragmento de replicación de propiedades
Un fragmento de replicación de propiedad es el objeto propietario de un estado de replicación de propiedad.
- Fragmento de replicación rápida de matriz
Un fragmento de replicación de matriz rápida es el objeto propietario de un estado de replicación de matriz rápida. Esta es una implementación específica de un fragmento de replicación para matrices rápidas.
- Generador de descriptores del estado de replicación
Un constructor de descriptores de estado de replicación construye descriptores de estado de replicación para todos los tipos compatibles en función de los datos de reflejos.
- Lector de replicación
Un lector de replicación es un sistema interno responsable de los datos entrantes. Dirige la deserialización y las aplicaciones de estado mediante el puente de replicación.
- Lector de transmisión de bits de red
Un lector de transmisión de bits de red facilita la deserialización eficiente de bits desde un búfer de memoria.
- Máscara de cambio
Una máscara de cambio es una matriz de bits que se usa para realizar un seguimiento de los datos replicados dañados. Iris usa máscaras de cambio de dos formas:
Todos los estados de replicación disponen de almacenamiento en línea que se usa para el reconocimiento local y en caché de los miembros modificados.
El sistema de replicación mantiene máscaras de cambio combinadas para todos los estados de replicación en los protocolos de replicación.
- Objeto de red
Un objeto de red es la representación interna en red de un objeto replicado instanciado en el código del juego. Un objeto de red está asociado a un controlador de referencia de red único y a un índice interno.
- Protocolo de la instancia de replicación
Se crea un protocolo de instancia de replicación para cada instancia de objeto. Es una matriz de todos los fragmentos de replicación de una instancia y se usa cada vez que se intercambian datos de estado entre el código del juego y el sistema de replicación.
- Protocolo de replicación
Un protocolo de replicación define cómo replicar los datos de un objeto. Un protocolo de replicación es una matriz de todos los estados de replicación que describen los datos que se replicarán.
- Puente de replicación
El puente de replicación transfiere datos entre el código del juego y el código de red. El puente de replicación proporciona la interfaz específica de tipos para el juego y tiene funciones para crear protocolos de replicación y protocolos de instancia de replicación a partir de los datos. El puente de replicación también se encarga de instanciar los objetos del jugabilidad, como actores y otros tipos compatibles, a petición del sistema de replicación.
- Puente de replicación de actores
El puente de replicación de actores implementa la interfaz del puente de replicación. El puente de replicación de actores construye protocolos de replicación e instancias de protocolos de replicación a partir de actores y componentes de actor. También implementa código para sondear los datos de estado de las propiedades y generar las llamadas de retorno heredadas necesarias.
- Redactor de replicación
Un redactor de replicación es responsable de reconocer y serializar el estado de todos los objetos replicados para todas las conexiones.
Entre estos aspectos se incluyen:
Programación de datos de replicación en función de los siguientes factores:
Prioridad
Prioridad de la programación
Estado de replicación de los objetos replicados
Dependencias
Subobjetos
Serialización
- Registro de replicación
Un registro de replicación es una lista de datos en tránsito del escritor de replicación. Un aspecto clave del redactor de replicación es realizar un pista de todos los datos en tránsito. Esto se hace para que se puedan tomar medidas en consecuencia y de manera eficiente si se pierden o se entregan datos. El registro de replicación mantiene listas enlazadas de todos los objetos con datos en tránsito que aún están pendientes de notificación de entrega.
- RPC de red
Un blob en red implementado específicamente para controlar las RPC estándar.
- Sistema de replicación
El sistema de replicación es la interfaz principal para interactuar con Iris en el código del juego.
- Sistema interno de replicación
El sistema de replicación interno es la interfaz interna para el sistema de replicación y solo está expuesto al código interno de Iris.
- Token de red
Un token de red es un objeto de red para varios tipos de datos que no tienen por qué estar directamente relacionados con la red, pero que puede que quieras que el servidor y el cliente se comuniquen entre sí.
Ejemplos de lo que se puede expresar como un token de red:
Cadenas
Blobs de datos
Paquetes
Puedes comunicar datos de tokens a clientes de forma explícita mediante una transmisión de datos de tokens de red, cargarlos al inicio o exportarlos durante la serialización. Puedes consultar al gestor de tokens de red para conocer el estado de todos los tokens en el extremo remoto.
- Transmisiones de datos de tokens de red
La transmisión de datos de tokens de red serializa los datos de tokens de red.
- Transmisión de datos de replicación
La transmisión de datos de replicación se encarga de serializar y deserializar los datos de replicación.
La implementación se divide en dos partes:
Lector de replicación
Redactor de replicación