Iris présente plusieurs nouveaux concepts du système de réplication de l'Unreal Engine (UE). Cette page est un glossaire des termes fréquemment utilisés pour décrire l'organisation et le fonctionnement du système de réplication Iris.
Glossaire
- Blob réseau
Un blob réseau est la classe de base pour un élément qui peut être répliqué avec un objet. Pour le moment, rien en dehors d'Iris ne l'utilise, mais vous pouvez l'utiliser pour envoyer la plupart des types de données ou d'événements, comme des données de débogage ou des RPC.
- Cache de référence d'objets
Le cache de référence d'objets stocke des références à des
UObjectsrépliqués et nommés de façon statique. Cela fonctionne de la même façon que le mappage de paquets clients et de cache NetGUID.- Descripteur d'état de réplication
Un descripteur d'état de réplication décrit tous les aspects d'un état de réplication, notamment :
la disposition de la mémoire pour les représentations internes et externes ;
La façon de sérialiser chaque membre de l'état ;
les opérations nécessaires.
- Enregistrement de réplication
Un enregistrement de réplication est une liste de données en transit provenant du rédacteur de réplication. Un aspect clé de l'enregistreur de réplication est le suivi de toutes les données en transit. Cela permet de suivre les étapes nécessaires pour réagir de manière appropriée et efficace si des données sont perdues ou remises. L'enregistrement de réplication maintient des listes chaînées de tous les objets dont les données en transit sont encore en attente d'une notification de remise.
- Enregistreur de réplication
L'enregistreur de réplication est responsable du suivi et de la sérialisation de l'état de tous les objets répliqués pour toutes les connexions.
Les éléments suivants sont conservés :
La planification des données de réplication basée sur :
la priorité ;
la priorité de planification ;
l'état de réplication des objets répliqués.
Dépendances
Sous-objets
Sérialisation
- Flux de données
Un flux de données est l'équivalent Iris d'un canal de données dans le système de réplication générique. Les flux de données sont responsables de la sérialisation des données. Vous pouvez également utiliser un flux de données pour implémenter des garanties de livraison de données spécifiques pour différents types de données.
- Flux de données de jeton réseau
Le flux de données de jeton réseau sérialise les données de jeton réseau.
- Flux de données de réplication
Le flux de données de réplication est responsable de la sérialisation et de la désérialisation des données de réplication.
L'implémentation est divisée en deux parties :
Lecteur de réplication
Enregistreur de réplication
- Fragment de réplication
Un fragment de réplication est un objet propriétaire pour un état de réplication. Pour transférer des données entrantes et sortantes entre le système de réplication et le code de jeu, les états de réplication doivent être liés à un objet propriétaire. Les fragments de réplication servent d'objet propriétaire pour les états de réplication.
- Fragment de réplication de matrice rapide
Le fragment de réplication de matrice rapide est l'objet propriétaire d'un état de réplication de matrice rapide. Il s'agit d'une implémentation spécifique d'un fragment de réplication pour les matrices rapides.
- Fragment de réplication de propriété
Le fragment de réplication de propriété est l'objet propriétaire d'un état de réplication de propriété.
- Gestionnaire d'indicateurs de référence réseau
Le gestionnaire d'indicateurs de référence réseau affecte les identifiants internes et le stockage d'état de tous les objets réseau.
- Gestionnaire de RPC réseau
Le gestionnaire de RPC réseau traite la logique qu'implique la création et la gestion des RPC reçus. Par exemple, le gestionnaire RPC réseau détermine si un acteur est encore valide pour appeler un RPC.
- Générateur de descripteur d'état de réplication
Un générateur de descripteur d'état de réplication génère des descripteurs d'état de réplication pour tous les types pris en charge en fonction des données de reflets.
- Indicateur de référence réseau
Un indicateur de référence réseau est un identificateur unique pour un objet sur le serveur et les clients. Il est similaire dans son concept à un NetGUID (Network Globally Unique Identifier). Les indicateurs réseau sont utilisés pour les références d'objets à :
des objets adressables statiques ;
des objets répliqués.
- Jeton réseau
Un jeton réseau est un objet réseau utilisé pour différents types de données qui ne sont pas nécessairement directement liés à la mise en réseau, mais vous pourriez vouloir être capable de communiquer entre le serveur et le client.
Exemples de ce qui peut être exprimé en tant que jeton réseau :
Chaînes
Blobs de données
Paquets
Vous pouvez transmettre des données de jeton à des clients soit explicitement via un flux de données de jeton réseau (chargée au démarrage), soit exportées pendant la sérialisation. Vous pouvez interroger le gestionnaire de jetons réseau pour connaître le statut de tous les jetons distants.
- Lecteur de flux de bits réseau
Un lecteur de flux de bits réseau permet de désérialiser efficacement les bits d'un tampon de mémoire.
- Lecteur de réplication
Un lecteur de réplication est un système interne responsable des données entrantes. Il pilote l' application de désérialisation et d'état à l'aide du pont de réplication.
- Masque de modification
Un masque de modification est une matrice de bits qui permet de suivre la pollution de base des données répliquées. Iris utilise les masques de modification de deux manières :
Tous les états de réplication disposent d'un stockage intégré pour le suivi local et optimisé en cache des membres modifiés.
Le système de réplication maintient des masques de modification combinés pour tous les états de réplication dans les protocoles de réplication.
- Objet réseau
Un objet réseau est la représentation interne en réseau d'un objet répliqué instancié dans du code de jeu. Un objet réseau est associé à un indicateur de référence réseau unique et à un index interne.
- Pont de réplication
Le pont de réplication transfère les données entre le code de jeu et le code de mise en réseau. Le pont de réplication offre une interface dédiée aux types pour le jeu et la capacité de créer des protocoles de réplication et des protocoles d'instance de réplication à partir des données. Le pont de réplication permet également d'instancier des objets de jeu, comme des acteurs ou d'autres types pris en charge, à la demande du système de réplication.
- Pont de réplication d'acteurs
Le pont de réplication d'acteurs implémente l'interface du pont de réplication. Le pont de réplication d'acteurs construit des protocoles de réplication et des protocoles d'instance de réplication à partir d'acteurs et de composants d'acteur. Il implémente également du code pour interroger les données d'état des propriétés et émettre les anciens rappels nécessaires.
- Protocole d'instance de réplication
Un protocole d'instance de réplication est créé pour chaque instance d'objet. Il s'agit d'une matrice de tous les fragments de réplication d'une instance. Elle est utilisée chaque fois que des données d'état sont échangées entre le code de jeu et le système de réplication.
- Protocole de réplication
Le protocole de réplication définit la manière de répliquer les données d'un objet. Un protocole de réplication est une matrice de tous les états de réplication décrivant les données à répliquer.
- RPC réseau
Un blob réseau implémenté pour gérer les RPC standards.
- Système de réplication
Le système de réplication est l'interface principale permettant d'interagir avec Iris dans le code de jeu.
- Système de réplication interne
Le système de réplication interne est l'interface interne du système de réplication. Elle n'est exposée qu'au code Iris interne.
- État de réplication
Un état de réplication est une structure contenant les données qui doivent être répliquées ou transmises sur le réseau.
- État de réplication de propriété
Un état de réplication de propriété est un état de réplication dynamique qui permet d'interagir avec le système de reflet actuel.
- État de réplication typée
Un état de réplication typé est un état de réplication basé sur une structure avec des accesseurs pour tous les membres, ainsi que des membres internes pour stocker l'identifiant de l'objet réseau propriétaire avec un champ de bits qui assure le suivi de la pollution pour chaque membre.