There will be situations when there are multiple requests sent to the TTS server in quick succession (e.g. the user skipping ahead several sentences). This needs to be handled so that it doesn't cause extra delay. Most likely this needs to be done server side.
Possible solution:
When a new request is received, the process for previous any request is cancelled (alternatively put on hold until the new utterance is done).