Commit
6d3b466b70969d5fcd8e47b8724a24d31e041a68
by keithSMS UX optimisation: Deliver rx'd SMS right away
When we receive an SMS, we first store it to the database
and then send a signal to the sms queue to run.
Storing the SMS first is good, as it would otherwsie be lost
on program exit, however the queue logic does not always work.
If there are many undelivered SMS in the database, especially if
there are SMS for destinations that are currently attached but
cannot receive the SMS*, the sms queue mechanism may delay
delivery for a significant amount of time.
*Older phones with limited SMS storage, for example.
With this patch, the sms queue is directed to specifically try to
deliver the message that was just submitted, avoiding any
potential delay.
Also, when fetching SMS from the DB into the in-memory queue,
prioritise SMS with least number of delivery attempts and try
to deliver ALL pending SMS for a subscriber in sub_ready_for_sms()
callback.
Change-Id: I9af51ef0d9c2e6c5acc5128efd6195df881b680c