Bonjour,
j'aimerai avoir votre avis et votre aide sur un diagramme de séquence que je suis entrain de tenter d'écrire.
La situation est la suivante : un client émet requête vers un serveur pour lui signifier d'écrire une donnée dans un des ses registres.
Si la requête est réalisée avec succès, le serveur envoie une réponse positive dans laquelle il inscrit la valeur qu'on lui à demander d'imprimer dans ses registres et une exception dans le cas contraire. Avec cette donnée, il est capable de s'assurer que ce qu'il à demander d'écrire à été pris en compte.
Jusque là tout va bien, mais la difficulté que je n'arrive pas à représenter c'est le cas suivant :
Il peut arriver qu'une requête ne sois pas traité pour x raisons et que le client n'est pas été informé et de toute façon on ne souhaite pas traiter ce contexte. Néanmoins, on demande au client de continuer à renvoyer cette requête d'écriture tant qu'il n'a pas pu comparer la donnée envoyer et celle qu'il aurait reçue dans le cadre d'une réponse émise par le serveur.
En résumé, le client envoie toto au serveur pour imprimer au registre tartan pion.
Le serveur renvoie toto au client
Le client compare toto_envoyer=toto_recu, ok
On n'arrête d'envoyer cette requête.
Dans une situation nominal, une requête au serveur suffit, mais parfois ( paquet perdu, collision etc...) faut renvoyer cette requeté plusieurs fois avant d'avoir un retour du serveur.
Pour ne bloquer le système , un time out est quand même fixé ce qui laisse du temps pour faire 4 ou 5 tentatives.
mon gros problème, c'est que j'ai du mal à me représenter ou le fragment loop devrait positionner et comment en sortir car je dois attendre une réponse pour ensuite la traiter et a ce moment je peux quitter la boucle.
voici ce que j'ai commencé à faire, merci pour votre aide d'avance.
Partager