Je suis en train de me battre pour exprimer ce qui suit avec RxJava. Imaginons que j'avoir un flux de la liste des paquets que je veux transmettre sur un réseau:Séquence synchrone utilisant RxJava
PublishSubject<List<Packet>> packetsSubject = ...;
Et je la fonction de transmission suivante:
public Observable<Status> transmit(Packet p) {...}
Je veux transmettre chaque paquet d'une liste comme tant que le statut renvoyé du paquet est Status.OK
. En d'autres termes, si la transmission du n-ième paquet est NOK, alors le n-ième paquet + 1 ne devrait pas être envoyé.
En outre, si une erreur est détectée:
- une erreur doit être affiché avec l'index du paquet dans la liste
- le transfert de la liste suivante du paquet devrait commencer
Merci de m'avoir lu
Avez-vous essayé d'utiliser l'opérateur 'concat'? Pour la gestion des erreurs, la nouvelle liste a-t-elle une relation avec l'ancienne? – masp
Les deux listes n'ont rien en commun, je reçois une liste de paquets en découpant une charge utile de requête. Comment l'opérateur concat entrerait-il dans l'image? – n1r3
Je pense qu'avec 'concat' les demandes arrivent dans le même ordre que dans la liste. Si l'un échoue, vous n'essayez pas l'élément suivant. – masp