Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Erreurs de messagerie et résolution des problèmes
Les erreurs suivantes peuvent se produire lorsque vous utilisez les API de messagerie.
Erreurs de résolution des terminaux
Ces erreurs peuvent se produire avant qu'une application n'envoie un message.
Vérification du nom de domaine
L'envoi d'un message à un point de terminaison non valide entraîne l'erreur suivante :
ManifoldError::InvalidArgument {"No DomainId found for the given domain name" }
Cela peut se produire lorsque vous essayez d'envoyer un message à une application personnalisée et que cette application personnalisée n'a pas encore rejoint la simulation. Utilisez l'DescribeSimulation
API pour vous assurer que votre application personnalisée a été lancée avant de lui envoyer un message. Ce comportement est le même dans SimSpace Weaver Local et dans leAWS Cloud.
Contrôle de position
La tentative de résolution d'un point de terminaison avec un nom de domaine valide mais une position non valide entraîne l'erreur suivante.
ManifoldError::InvalidArgument {"Could not resolve endpoint from domain : DomainId { value:domain-id
} and position: Vector2F32 { x:x-position
, y:y-position
}" }
Nous vous suggérons d'utiliser le MessageEndpointResolver
dans la MessageUtils
bibliothèque contenue dans le SDK de SimSpace Weaver l'application.
Erreurs d'envoi de messages
Les erreurs suivantes peuvent se produire lorsqu'une application envoie un message.
Limite d'envoi de messages par application, par tick, dépassée
La limite actuelle du nombre de messages pouvant être envoyés par application et par test de simulation est de 128. Les appels suivants sur la même case échoueront avec l'erreur suivante :
ManifoldError::CapacityExceeded {"At Max Outgoing Message capacity: {}", 128}
SimSpace Weaveressaie d'envoyer des messages non envoyés à la prochaine case. Réduisez la fréquence d'envoi pour résoudre ce problème. Combinez des charges utiles de messages inférieures à la limite de 256 octets pour réduire le nombre de messages sortants.
Ce comportement est le même dans SimSpace Weaver Local et dans leAWS Cloud.
Limite de charge utile des messages dépassée
La limite actuelle de la taille de charge utile des messages est de 256 octets à la fois SimSpace Weaver Local dans leAWS Cloud. L'envoi d'un message dont la charge utile est supérieure à 256 octets entraîne l'erreur suivante :
ManifoldError::CapacityExceeded {"Message data too large! Max size: {}", 256}
SimSpace Weavervérifie chaque message et rejette uniquement ceux qui dépassent la limite. Par exemple, si votre application essaie d'envoyer 10 messages et que l'un d'entre eux échoue, seul ce message est rejeté. SimSpace Weaverenvoie les 9 autres messages.
Ce comportement est le même dans SimSpace Weaver Local et dans leAWS Cloud.
La destination est la même que la source
Les applications ne peuvent pas envoyer de messages aux partitions qu'elles possèdent. L'erreur suivante s'affiche si une application envoie un message à une partition dont elle est propriétaire.
ManifoldError::InvalidArgument { "Destination is the same as source" }
Ce comportement est le même dans SimSpace Weaver Local et dans leAWS Cloud.
Messagerie basée sur le meilleur effort
SimSpace Weaverne garantit pas la livraison du message. Le service essaiera de terminer la livraison des messages lors de la simulation suivante, mais les messages risquent de se perdre ou d'être retardés.