decryptMessage

open suspend override fun decryptMessage(message: ByteArray, groupID: <Error class: unknown class>): <Error class: unknown class><<Error class: unknown class>, List<DecryptedMessageBundle>>

A dispatcher with limited parallelism of 1. This means using this dispatcher only a single coroutine will be processed at a time.

This used for operations where ordering is important. For example when sending commit to add client to a group, this a two-step operation:

  1. Create pending commit and send to distribution server

  2. Merge pending commit when accepted by distribution server

Here's it's critical that no other operation like decryptMessage is performed between step 1 and 2. We enforce this by dispatching all decrypt and commit operations onto this serial dispatcher.