01-01-2011 10:43 AM
I'm just starting developing using RIM MDS Push and have a question regarding the order in which push messages are received on the device. I'm building a stateful protocol on top of MDS Push, so the order of message arrival can be important.
If I send message A before message B to MDS, is there any sort of guarantee that message A will arrive on the device before message B does? If not, is there anything that can be done?
01-03-2011 03:39 PM
No, as far as I know, the MDS (BES push) nor does the BIS push guarantee order of delivery. If it's important to your application then you need to home brew a solution. You can include HTTP headers with each push message as part of the content that get forwareded to the device - consider using a custom http header with your message sequence and on the device side use that http header to order your messages properly. Of course you'll need to potentially deal with a missing sequence.
01-05-2011 10:38 AM
I have an application that receives anywhere from 10-20 pushes at a time. I also need the pushes to be in the same order. I have run this app hundreds of times and the data always comes in the same order as the push. This is my experience.
01-05-2011 08:18 PM
They may be in order most of the time but I know they don't guarantee message delivery order so if its critical that your app gets messages in a proper sequence code it into your own app.
02-16-2011 10:11 AM
If you know that there is no gurantee (eventhough experience may show that order is maintained), you can alway send an "index counter" or timestamp with each message sent, and if the client has a bunch of messages to process, they can sort them on this counter or timestamp to increase the probability of FIFO.