Subject: Stream Management XEP-0198
Hi Alex
Sorry to keep spamming your forums
I am looking into issues around reliable messaging. The proof of concept that I have built, issues and responds to job requests on behalf of third-party systems. To the user, this is therefore a background service. I am using an Iq to send the job requests and the response to the Iq to delete the request off the "items to send" list. This works well for most cases, but when there is a network interruption it is difficult for the client to decide whether the message failed to send or the response from the Iq was not received.
I have looked at several strategies:
1. Re-send if no response received (possible to have duplicates)
2. Wait for a longer period and then do 1
3. Look into the client responding to the response (or acknowledging to the other party that the response was received)
It does seem as if XEP-0198 is trying to solve this with its acks and responses. Is this something that Matrix can do or is this a mechanism that is straightforwardly implemented without help from Matrix?
Regards
john
Sorry to keep spamming your forums
I am looking into issues around reliable messaging. The proof of concept that I have built, issues and responds to job requests on behalf of third-party systems. To the user, this is therefore a background service. I am using an Iq to send the job requests and the response to the Iq to delete the request off the "items to send" list. This works well for most cases, but when there is a network interruption it is difficult for the client to decide whether the message failed to send or the response from the Iq was not received.
I have looked at several strategies:
1. Re-send if no response received (possible to have duplicates)
2. Wait for a longer period and then do 1
3. Look into the client responding to the response (or acknowledging to the other party that the response was received)
It does seem as if XEP-0198 is trying to solve this with its acks and responses. Is this something that Matrix can do or is this a mechanism that is straightforwardly implemented without help from Matrix?
Regards
john